import { Application, BackendSession } from 'pinus'; import { resResult } from '../../../pubUtils/util'; import { STATUS, } from '../../../consts'; import { getPlayerDailyGiftsData, makeDailyRMBGiftsReward } from '../../../services/dailyRMBGiftsService'; export default function (app: Application) { return new DailyRMBGiftsHandler(app); } export class DailyRMBGiftsHandler { constructor(private app: Application) { } /************************每日特惠礼包RMB购买4挡,一次性支付购买7天,每天只能领取当天的礼包奖励****************************/ /** * @description 获取每日特惠礼包活动数据 * @param {{ }} msg * @param {{ activityId: number}} msg * @param {BackendSession} session * @memberof DailyRMBGiftsHandler */ async getDailyRMBGiftsActivity(msg: { activityId: number }, session: BackendSession) { const { activityId } = msg; const roleId = session.get('roleId'); const serverId = session.get('serverId'); let playerData = await getPlayerDailyGiftsData(activityId, serverId, roleId) if (!playerData) return resResult(STATUS.ACTIVITY_THIRTY_DAYS_END); return resResult(STATUS.SUCCESS, { playerData }); } /** * @description 一次性购买7天后,获取当天的礼包 * @param {{ activityId: number}} msg * @param {BackendSession} session * @memberof DailyRMBGiftsHandler */ async getDailyRMBGiftsReward(msg: { activityId: number }, session: BackendSession) { const { activityId } = msg; const roleId = session.get('roleId'); const serverId = session.get('serverId'); const sid = session.get('sid'); const roleName = session.get('roleName'); const funcs: number[] = session.get('funcs'); let playerData = await getPlayerDailyGiftsData(activityId, serverId, roleId) if (!playerData) return resResult(STATUS.ACTIVITY_THIRTY_DAYS_END); let item = playerData.findTodayItem(); let productID = item.productID; let resulet = await makeDailyRMBGiftsReward(roleId, roleName, sid, serverId, funcs, activityId, productID) return resResult(STATUS.SUCCESS, resulet); } }