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);
|
|
}
|
|
|
|
}
|