import { Application, BackendSession, HandlerService, pinus, } from 'pinus'; import { aesEncrypt, aesEncryptcfb, resResult } from '../../../pubUtils/util'; import { ENCRYPT_IV, ENCRYPT_KEY, STATUS, TASK_TYPE } from '../../../consts'; import { ActivityGroupModel } from '../../../db/ActivityGroup'; import { ServerlistModel } from '../../../db/Serverlist'; import { getActivity, getActivityById } from '../../../services/activity/activityService'; import { ActivityModel } from '../../../db/Activity'; export default function (app: Application) { new HandlerService(app, {}); return new ActivityHandler(app); } export class ActivityHandler { constructor(private app: Application) { } /** * @description 活动是否开启总接口 * @param {{ }} msg * @param {BackendSession} session * @memberof ActivityHandler */ async getAllOpenActivity(msg: {}, session: BackendSession) { const { } = msg; const roleId = session.get('roleId'); const serverId = session.get('serverId'); const guildCode = session.get('guildCode'); const sid: string = session.get('sid'); let playerActivityArray = []; let groups = await ActivityGroupModel.findByServerId(serverId); let playerGroupArray = []; for (let groupData of groups) { let playerGroupActivityArray = []; for (let activityId of groupData.activities) { let activityData = await getActivityById(activityId); if (activityData) { let playerActivityData = await getActivity(serverId, roleId, guildCode, activityId, activityData.type); if(playerActivityData) { playerGroupActivityArray.push(playerActivityData); } } } playerGroupArray.push({ type: groupData.type, activities: playerGroupActivityArray }); console.log(`${roleId} 活动合集 groupId:${groupData.groupId}, 合集类型${groupData.type}, 一共${playerGroupActivityArray.length}个`) } return resResult(STATUS.SUCCESS, { playerActivityArray, playerGroupArray }); } async debugActivityMemory(msg: {}, session: BackendSession) { const { } = msg; const roleId = session.get('roleId'); const serverId = session.get('serverId'); const sid: string = session.get('sid'); let activities = pinus.app.get('activities'); let activityByType = pinus.app.get('activityByType'); let activityByServer = pinus.app.get('activityByServer'); let groupToServer = pinus.app.get('groupToServer'); console.log('****** activities', activities); console.log('****** activityByType', activityByType); console.log('****** activityByServer', activityByServer); console.log('****** groupToServer', groupToServer); return resResult(STATUS.SUCCESS, { activities: [...activities], activityByType: [...activityByType], activityByServer: [...activityByServer], groupToServer: [...groupToServer] }); } }