56 lines
1.9 KiB
TypeScript
56 lines
1.9 KiB
TypeScript
import { Application, BackendSession, HandlerService, } from 'pinus';
|
|
import { resResult } from '@pubUtils/util';
|
|
import { STATUS, } from '../../../consts';
|
|
import { getPlayerMonthlyTicketData, getPlayerMonthlyTicketDayReward } from '../../../services/activity/monthlyTicketService';
|
|
|
|
|
|
export default function (app: Application) {
|
|
new HandlerService(app, {});
|
|
return new MonthlyTicketHandler(app);
|
|
}
|
|
|
|
export class MonthlyTicketHandler {
|
|
constructor(private app: Application) {
|
|
}
|
|
|
|
/************************月卡活动****************************/
|
|
|
|
/**
|
|
* @description 获取月卡活动数据
|
|
* @param {BackendSession} session
|
|
* @memberof MonthlyTicketHandler
|
|
*/
|
|
async getMonthlyTicketActivity(msg: { activityId: number }, session: BackendSession) {
|
|
const { activityId } = msg;
|
|
const roleId = session.get('roleId');
|
|
const serverId = session.get('serverId');
|
|
|
|
let playerData = await getPlayerMonthlyTicketData(activityId, serverId, roleId);
|
|
if (!playerData) return resResult(STATUS.ACTIVITY_MISSING);
|
|
return resResult(STATUS.SUCCESS, playerData);
|
|
}
|
|
|
|
/**
|
|
* @description 领取月卡奖品
|
|
* @param {BackendSession} session
|
|
* @memberof MonthlyTicketHandler
|
|
*/
|
|
async getMonthlyTicketReward(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');
|
|
|
|
|
|
let result = await getPlayerMonthlyTicketDayReward(roleId, roleName, sid, serverId, activityId)
|
|
if (result) {
|
|
return resResult(STATUS.SUCCESS, Object.assign(result, {
|
|
param: { activityId },
|
|
}));
|
|
}
|
|
return resResult(STATUS.NO_MOTHLY_TICKET_REWARD);
|
|
}
|
|
}
|
|
|