全局:加载json方法全部改为最新
This commit is contained in:
@@ -6,13 +6,14 @@ import { HangUpRecordModel } from './../../../db/HangUpRecord';
|
||||
import { RoleModel } from './../../../db/Role';
|
||||
import { TowerRecordModel } from './../../../db/TowerRecord';
|
||||
import { Application, BackendSession } from 'pinus';
|
||||
import { getTaskById, getTowerDataByLv } from '../../../pubUtils/gamedata';
|
||||
import { decodeArrayStr, resResult, shouldRefresh, calculateNum, getRefTime, genCode } from '../../../pubUtils/util';
|
||||
import { calcuHangUpReward, checkTaskConditions, checkHangUpSpdUpCnt, createCurTasks, treatTask, getRemainTime, getTasksReward, getTaskStatus, getDoingOrWaitingTasks } from '../../../services/battleService';
|
||||
import { handleFixedReward, addItems, handleCost } from '../../../services/rewardService';
|
||||
import { resResult, shouldRefresh, calculateNum, genCode } from '../../../pubUtils/util';
|
||||
import { calcuHangUpReward, checkTaskConditions, checkHangUpSpdUpCnt, createCurTasks, treatTask, getRemainTime, getDoingOrWaitingTasks } from '../../../services/battleService';
|
||||
import { addItems, handleCost } from '../../../services/rewardService';
|
||||
import { checkBattleHeroes } from '../../../services/normalBattleService';
|
||||
import { getGoldObject } from '../../../pubUtils/itemUtils';
|
||||
import { Rank } from '../../../services/rankService';
|
||||
import { gameData } from '../../../pubUtils/data';
|
||||
import { ItemInter } from '../../../pubUtils/interface';
|
||||
|
||||
export default function(app: Application) {
|
||||
return new TowerBattleHandler(app);
|
||||
@@ -39,10 +40,10 @@ export class TowerBattleHandler {
|
||||
}
|
||||
let towerRec = await TowerRecordModel.getRecordByLv(roleId, towerLv);
|
||||
if (!towerRec) {
|
||||
const towerInfo = getTowerDataByLv(towerLv);
|
||||
const towerInfo = gameData.tower.get(towerLv);
|
||||
const { warArray } = towerInfo;
|
||||
const sts = decodeArrayStr(warArray, '&').map(id => {
|
||||
return {warId: parseInt(id), status: false};
|
||||
const sts = warArray.map(id => {
|
||||
return {warId: id, status: false};
|
||||
});
|
||||
towerRec = await TowerRecordModel.createRecord({roleId, lv: towerLv, warStatus: sts});
|
||||
// return { code: 201, data: '天梯记录异常' };
|
||||
@@ -237,7 +238,7 @@ export class TowerBattleHandler {
|
||||
if(!curTask) {
|
||||
return resResult(STATUS.TOWER_TASK_MISSING)
|
||||
}
|
||||
let taskInfo = getTaskById(curTask.taskId);
|
||||
let taskInfo = gameData.towerTask.get(curTask.taskId);
|
||||
if (task.heroes.length !== taskInfo.actorNeeded) { // 武将数,从策划表中读取
|
||||
return resResult(STATUS.TOWER_TASK_MAX_HERO);
|
||||
}
|
||||
@@ -279,26 +280,27 @@ export class TowerBattleHandler {
|
||||
if (!curTasks || curTasks.length == 0) {
|
||||
return resResult(STATUS.TOWER_TASK_NOT_FOUND);
|
||||
}
|
||||
const compTasks = [];
|
||||
let goods = [];
|
||||
const compTasks: string[] = [];
|
||||
let rewards: ItemInter[] = [];
|
||||
for (let task of curTasks) {
|
||||
if (task.batchCode !== msg.batchCode) {
|
||||
return resResult(STATUS.TOWER_TASK_BATCH_NOT_FOUND);
|
||||
}
|
||||
if ((allFlag || task.taskCode === msg.taskCode) && task.status === 1) {
|
||||
let {completeTime, reward, termsForAdd, additionalReward} = getTaskById(task.taskId);
|
||||
let {completeTime, reward, termsForAdd, additionalReward} = gameData.towerTask.get(task.taskId);
|
||||
if (task.sendTime && task.sendTime.getTime() + completeTime * 1000 < curTime.getTime()) {
|
||||
compTasks.push(task.taskCode);
|
||||
const rewardGoods = await handleFixedReward(roleId, roleName, sid, reward, 1);
|
||||
goods = goods.concat(rewardGoods);
|
||||
rewards = rewards.concat(reward);
|
||||
if(termsForAdd) {
|
||||
const result = await checkTaskConditions(roleId, task.heroes, termsForAdd);
|
||||
const bonusGoods = await handleFixedReward(roleId, roleName, sid, result?additionalReward:'', 1);
|
||||
goods = goods.concat(bonusGoods);
|
||||
if(result) {
|
||||
rewards = rewards.concat(additionalReward)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
let goods = addItems(roleId, roleName, sid, rewards);
|
||||
await TowerTaskRecModel.finishTask(msg.batchCode, compTasks);
|
||||
await TowerTaskRecModel.showTask(roleId, msg.batchCode, compTasks.length);
|
||||
let refRemainTime = getRemainTime(curTime);
|
||||
|
||||
Reference in New Issue
Block a user