🐞 fix(gvg): 投石车定时任务
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
import { GVGCityType } from './../../../db/GVGCity';
|
||||
import { GVGRecModel } from '../../../db/GVGRec';
|
||||
import { GVGAreaInMap, GVGTeamInList, GVGTeamInListOnPoint, GVGTeamSpineInMap, LeagueGood, MyTeamInfo } from '../../../domain/gvgField/returnData';
|
||||
import { GVGAreaInMap, GVGTeamInList, GVGTeamInListOnPoint, GVGTeamSpineInMap, LeagueGood, MyTeamInfo, MyTeamSimpleInfo } from '../../../domain/gvgField/returnData';
|
||||
import { GVGTeamModel, GVGTeamType, GVGTeamUpdate } from '../../../db/GVGTeam';
|
||||
import { GVGUserDataModel } from '../../../db/GVGUserData';
|
||||
import { GVGCityModel } from '../../../db/GVGCity';
|
||||
@@ -23,6 +23,7 @@ import { sendMessageToUserWithSuc } from '../../../services/pushService';
|
||||
import { GVGHeroInfo } from '../../../domain/dbGeneral';
|
||||
import { ArtifactModel } from '../../../db/Artifact';
|
||||
import { getHeroesAttributes } from '../../../services/playerCeService';
|
||||
import { gvgBattleStartSchedule } from '../../../services/timeTaskService';
|
||||
|
||||
export default function (app: Application) {
|
||||
new HandlerService(app, {});
|
||||
@@ -40,8 +41,8 @@ export class GVGBattleHandler {
|
||||
async getTeams(msg: {}, session: BackendSession) {
|
||||
const roleId = session.get('roleId');
|
||||
const teams = await GVGTeamModel.findByRole(roleId, '-_id teamCode index head frame spine lineup')
|
||||
|
||||
return resResult(STATUS.SUCCESS, { teams });
|
||||
|
||||
return resResult(STATUS.SUCCESS, { teams: teams.map(team => new MyTeamSimpleInfo(team)) });
|
||||
}
|
||||
|
||||
// 保存队伍
|
||||
@@ -101,7 +102,7 @@ export class GVGBattleHandler {
|
||||
if (!team) {
|
||||
return resResult(STATUS.GVG_SAVE_TEAM_FAILED);
|
||||
}
|
||||
return resResult(STATUS.SUCCESS, { curTeam: pick(team, ['teamCode', 'index', 'head', 'frame', 'spine', 'lineup']) });
|
||||
return resResult(STATUS.SUCCESS, { curTeam: new MyTeamSimpleInfo(team) });
|
||||
}
|
||||
|
||||
// 获取城池信息
|
||||
@@ -509,4 +510,8 @@ export class GVGBattleHandler {
|
||||
// ! 重新组织每个城市的数据,添加据点和积分点的信息
|
||||
return resResult(STATUS.SUCCESS, { cities });
|
||||
}
|
||||
|
||||
async debugStartSchedule() {
|
||||
await gvgBattleStartSchedule();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -145,7 +145,7 @@ export class GVGProduceHandler {
|
||||
let dicWarJson = gameData.warJson.get(dicWar.dispatchJsonId);
|
||||
result.setRobot(dicGVGVestige, dicWarJson, serverNames[serverId]);
|
||||
} else {
|
||||
let hisVestigeRank = await GVGVestigeRankModel.findByRole(vestigeId, roleId);
|
||||
let hisVestigeRank = await GVGVestigeRankModel.findByRole(vestigeId, targetRoleId);
|
||||
if(!hisVestigeRank) return resResult(STATUS.GVG_VESTIGE_TARGET_NOT_FOUND);
|
||||
|
||||
let role = await RoleModel.findByRoleId(hisVestigeRank.roleId, 'roleId roleName serverId guildName title lv heads head spines spine frames frame')
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
import { Application, BackendSession, ChannelService, HandlerService, pinus } from "pinus";
|
||||
import { GVG_ITEM, DATA_NAME, GVG_ACTIVE_TYPE, GVG_PERIOD, GVG_SERVER_TYPE, ITEM_CHANGE_REASON, LEAGUE_JOB, LEAGUE_MANAGE_TYPE, STATUS, GVG_REC_TYPE, TASK_TYPE } from "../../../consts";
|
||||
import { GVG_ITEM, DATA_NAME, GVG_ACTIVE_TYPE, GVG_PERIOD, GVG_SERVER_TYPE, ITEM_CHANGE_REASON, LEAGUE_JOB, LEAGUE_MANAGE_TYPE, STATUS, GVG_REC_TYPE, TASK_TYPE, GVG_TECH_TYPE } from "../../../consts";
|
||||
import { GVGLeagueModel } from "../../../db/GVGLeague";
|
||||
import { GVGLeaguePrepareModel } from "../../../db/GVGLeaguePrepare";
|
||||
import { GVGMainData, LeagueContributeInfo, LeagueMemberContributeInfo, LeagueMemberListInfo } from "../../../domain/gvgField/returnData";
|
||||
import { resResult } from "../../../pubUtils/util";
|
||||
import { getRandEelm, resResult } from "../../../pubUtils/util";
|
||||
import { calLeagueCe, getGroupIdOfServer, getGVGConfig, getGVGPeriodData, getGVGServerType, getServerTypeByTime } from "../../../services/gvg/gvgService";
|
||||
import { autoCreateLeague, checkCanChooseJob, checkCanPrepare, checkLeagueAuth, getMyAuth } from "../../../services/gvg/gvgTeamService";
|
||||
import { getAllServerName } from "../../../services/redisService";
|
||||
@@ -421,6 +421,14 @@ export class GVGHandler {
|
||||
let curQueue = leaguePrepare.techQueue.find(cur => cur.id == techId);
|
||||
if(curQueue.progress >= curQueue.maxProgress) {
|
||||
leaguePrepare = await GVGLeaguePrepareModel.activate(configId, myLeague.leagueCode, techId);
|
||||
// 发放连弩
|
||||
if(dicTech.type == GVG_TECH_TYPE.BATTLE_ITEM_KNIFE) {
|
||||
let members = myLeague.members||[];
|
||||
let randMembers = getRandEelm(members, dicTech.param[0]);
|
||||
for(let { roleId } of randMembers) {
|
||||
await addGVGReward(roleId, '', myLeague.leagueCode, null, [{ id: GVG_ITEM.KNIFE, count: dicTech.param[1] }], [], ITEM_CHANGE_REASON.GVG_TECH_SEND_KNIFE);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 添加 活跃
|
||||
|
||||
Reference in New Issue
Block a user