全局:加载json方法全部改为最新

This commit is contained in:
luying
2021-05-06 20:25:05 +08:00
parent 2ef00e8179
commit 0315269387
36 changed files with 401 additions and 920 deletions
@@ -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);