import { HistoryOrderModel } from "../../db/HistoryOrder"; import { UserModel } from "../../db/User"; import { RebateData } from "../../domain/activityField/rebateField"; import { getRoleCreateTime, getServerCreateTime } from "../redisService"; import { getActivityById } from "./activityService"; /** * 玩家活动数据 * * @param {number} serverId 区Id * @param {number} activityId 活动Id * @param {string} roleId 角色Id * */ export async function getPlayerRebateData(activityId: number, serverId: number, roleId: string, uid: number) { let activityData = await getActivityById(activityId); let createTime = await getRoleCreateTime(roleId); let serverTime = await getServerCreateTime(serverId); let playerData = new RebateData(activityData, createTime, serverTime); let user = await UserModel.findUserByUid(uid); if(user.channelId) { let playerRecords = await HistoryOrderModel.findByChannelId(user.channelId); playerData.setPlayerRecords(playerRecords, user); } return playerData; } /** * 玩家活动数据显示 * * @param {number} serverId 区Id * @param {number} activityId 活动Id * @param {string} roleId 角色Id * */ export async function getPlayerRebateDataShow(activityId: number, serverId: number, roleId: string, uid: number) { let playerData = await getPlayerRebateData(activityId, serverId, roleId, uid); if(playerData && playerData.canShow && playerData.canShow()) { return playerData.getShowResult(); } return null }