59 lines
2.2 KiB
TypeScript
59 lines
2.2 KiB
TypeScript
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);
|
||
}
|
||
|
||
}
|