🐞 fix(节日活动): 龙舟前置节点判断
This commit is contained in:
@@ -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 })
|
||||
|
||||
@@ -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}[];
|
||||
|
||||
Reference in New Issue
Block a user