import { ActivityModel, ActivityModelType } from '../db/Activity'; import { ActivitySignInModel, ActivitySignInModelType } from '../db/ActivitySignIn'; import { SignInData, SignInItem } from '../domain/activityField/signInField'; /** * 获取活动数据 * * @param {number} type 普通、高级 ACTIVITY_TYPE * @param {number} serverId 区Id * @param {number} activityId 活动Id * @param {string} roleId 角色Id * */ export async function signInActivity(type: number, serverId: number, roleId: string) { let activityArray: ActivityModelType[] = await ActivityModel.findOpenActivityByType(type, new Date()); if (activityArray.length > 0) { return activityArray[0]; } return null } /** * 玩家活动数据 * * @param {number} serverId 区Id * @param {number} activityId 活动Id * @param {string} roleId 角色Id * */ export async function getPlayerSignInData(activityId: number, serverId: number, roleId: string) { let activityData: ActivityModelType = await ActivityModel.findActivity(activityId, true); let playerRecords: ActivitySignInModelType[] = await ActivitySignInModel.findData(activityId, roleId); let playerData = new SignInData(activityData); playerData.setPlayerRecords(playerRecords); return playerData; }