🐞 fix(节日活动): 龙舟前置节点判断

This commit is contained in:
luying
2023-05-23 10:40:34 +08:00
parent b158099101
commit 9ee93df213
2 changed files with 10 additions and 6 deletions

View File

@@ -1,5 +1,5 @@
import { Application, BackendSession, HandlerService, } from 'pinus';
import { resResult } from '../../../pubUtils/util';
import { parseNumberList, resResult } from '../../../pubUtils/util';
import { ITEM_CHANGE_REASON, STATUS } from '../../../consts';
import { addReward, stringToConsumeParam, stringToRewardParam } from '../../../services/activity/giftPackageService';
import { getPlayerDragonBoatData, getPlayerDragonBoatDataShow } from '../../../services/activity/dragonBoatService';
@@ -54,9 +54,13 @@ export class DragonBoatHandler {
let route = playerData.findRoute(id);
if(!route) return resResult(STATUS.ACTIVITY_DRAGON_BOAT_ROUTE_NOTFOUND);
if(route.hasPass) return resResult(STATUS.ACTIVITY_DRAGON_BOAT_ROUTE_HAS_PASS);
if(route.preId) {
let preRoute = playerData.findRoute(route.preId);
if(!preRoute || !preRoute.hasPass) return resResult(STATUS.ACTIVITY_DRAGON_BOAT_PRE_NOT_PASS);
if(route.preId && route.preId != '&') {
let preIds = parseNumberList(route.preId);
let hasPass = preIds.find(preId => {
let preRoute = playerData.findRoute(preId);
return preRoute && preRoute.hasPass;
});
if(!hasPass) return resResult(STATUS.ACTIVITY_DRAGON_BOAT_PRE_NOT_PASS);
}
let rewards = stringToRewardParam(route.reward);
let playerRecord = await ActivityDragonBoatModel.record(serverId, activityId, playerData.roundIndex, roleId, { todayIndex: playerData.todayIndex, id, time: new Date(), rewards })

View File

@@ -6,7 +6,7 @@ import { ActivityBase } from './activityField';
// 后台格式
interface RouteInDb {
id: number; // 唯一id对应 dic_zyz_duanwu_dragonBoat的id
preId: number; // 前一个的节点对应dic_zyz_duanwu_dragonBoat的id
preId: string; // 前一个的节点对应dic_zyz_duanwu_dragonBoat的id
type: number; // 节点显示类型1-普通奖励 2-高级奖励 3-漩涡
reward: string; // 到了这个节点可以获得的奖励type&id&count
}
@@ -20,7 +20,7 @@ interface DragonBoatDataInDb {
class RouteData {
id: number; // 唯一id对应 dic_zyz_duanwu_dragonBoat的id
preId: number; // 前一个的节点对应dic_zyz_duanwu_dragonBoat的id
preId: string; // 前一个的节点对应dic_zyz_duanwu_dragonBoat的id
type: number; // 节点显示类型1-普通奖励 2-高级奖励 3-漩涡
reward: string; // 到了这个节点可以获得的奖励type&id&count
resultReward: {id: number, count: number}[];