✨ feat(gvg): 添加debug接口

This commit is contained in:
luying
2023-02-17 10:58:47 +08:00
parent f305ee99c4
commit 040d37dcf8
5 changed files with 65 additions and 4 deletions
@@ -17,7 +17,7 @@ import { GVG } from "../../../pubUtils/dicParam";
import { RewardInter } from "../../../pubUtils/interface"; import { RewardInter } from "../../../pubUtils/interface";
import { resResult } from "../../../pubUtils/util"; import { resResult } from "../../../pubUtils/util";
import { isHeroHidden } from "../../../services/dataService"; import { isHeroHidden } from "../../../services/dataService";
import { calBreakGoods, checkHeroIsUsedInOtherVestige, checkVestige, checkVestigeOppStatus, checkVestigeRank, generateAttackHeroInfo, generateAttackInfo, generateDefenseInfo, getDayKeyInfo, getMyVestigeRank, getOppDetailData, getOppPlayerByRanks, getVestigeRecStatus, getVestigeRank, getVestigeUsedHeroes, isRobot, refreshVestigeOppRanks, saveScoreToRank, updateMyVestigeRank, saveVestigeRankSchedule, calVestigeLeagueBoxRewards, checkFightTime } from "../../../services/gvg/gvgFightService"; import { calBreakGoods, checkHeroIsUsedInOtherVestige, checkVestige, checkVestigeOppStatus, checkVestigeRank, generateAttackHeroInfo, generateAttackInfo, generateDefenseInfo, getDayKeyInfo, getMyVestigeRank, getOppDetailData, getOppPlayerByRanks, getVestigeRecStatus, getVestigeRank, getVestigeUsedHeroes, isRobot, refreshVestigeOppRanks, saveScoreToRank, updateMyVestigeRank, saveVestigeRankSchedule, calVestigeLeagueBoxRewards, checkFightTime, savePlayerRank } from "../../../services/gvg/gvgFightService";
import { addGVGReward, combinePushItem, handleGVGCost } from "../../../services/gvg/gvgItemService"; import { addGVGReward, combinePushItem, handleGVGCost } from "../../../services/gvg/gvgItemService";
import { addGVGActive } from "../../../services/gvg/gvgPrepareService"; import { addGVGActive } from "../../../services/gvg/gvgPrepareService";
import { addVestigeBattleEndRec } from "../../../services/gvg/gvgRecService"; import { addVestigeBattleEndRec } from "../../../services/gvg/gvgRecService";
@@ -516,4 +516,43 @@ export class GVGProduceHandler {
await saveVestigeRankSchedule(); await saveVestigeRankSchedule();
return resResult(STATUS.SUCCESS); return resResult(STATUS.SUCCESS);
} }
async debugSetMyRank(msg: { vestigeId: number, rank: number }, session: BackendSession) {
const { vestigeId, rank } = msg;
let roleId = session.get('roleId');
let serverId = session.get('serverId');
let guildCode = session.get('guildCode');
let groupId = await getGroupIdOfServer(serverId);
let serverType = await getGVGServerType(serverId);
let { configId } = getGVGPeriodData();
const myLeague = await GVGLeagueModel.findLeagueByGuild(guildCode);
if(!myLeague) return resResult(STATUS.GVG_LEAGUE_NOT_EXIST);
let myData = await getMyVestigeRank(configId, groupId, serverType, vestigeId, roleId, myLeague)
let myRank = myData?.rank||0;
let targetData = await GVGVestigeRankModel.findByRank(configId, groupId, serverType, vestigeId, rank);
if(targetData) {
myData = await GVGVestigeRankModel.updateByRoleId(vestigeId, roleId, { rank, oldRank: myRank, historyRank: rank });
targetData = await GVGVestigeRankModel.updateByRoleId(vestigeId, targetData.roleId, { rank: myRank, oldRank: rank });
} else {
myData = await GVGVestigeRankModel.updateByRoleId(vestigeId, roleId, { rank, oldRank: myRank, historyRank: rank });
}
await savePlayerRank(configId, groupId, serverType, vestigeId, { isRobot: false, newRank: rank, oldRank: myRank, roleId, leagueCode: myLeague.leagueCode });
if(targetData) {
await savePlayerRank(configId, groupId, serverType, vestigeId, { isRobot: false, newRank: targetData.rank, oldRank: rank, roleId: targetData.roleId, leagueCode: targetData.leagueCode });
}
return resResult(STATUS.SUCCESS);
}
async debugSetMyOpp(msg: { vestigeId: number, oppRanks: number[] }, session: BackendSession) {
const { vestigeId, oppRanks } = msg;
let roleId = session.get('roleId');
await GVGVestigeRankModel.updateByRoleId(vestigeId, roleId, { oppRanks });
return resResult(STATUS.SUCCESS);
}
} }
@@ -520,4 +520,18 @@ export class GVGProduceHandler {
return resResult(STATUS.SUCCESS, resourceResult); return resResult(STATUS.SUCCESS, resourceResult);
} }
// 设置农田的收获时间
async debugAdjustHarvest(msg: { time: number }, session: BackendSession) {
const guildCode = session.get('guildCode');
const { time } = msg;
let { configId } = getGVGPeriodData();
let myLeague = await GVGLeagueModel.findLeagueByGuild(guildCode);
if(!myLeague) return resResult(STATUS.GVG_LEAGUE_NOT_EXIST);
await GVGLeagueFarmModel.setMyHarvestTime(configId, myLeague.leagueCode, time);
return resResult(STATUS.SUCCESS);
}
} }
+3
View File
@@ -1998,6 +1998,9 @@ export function checkRouteParam(route: string, msg: any) {
case "guild.gvgFightHandler.debugCalRec": case "guild.gvgFightHandler.debugCalRec":
case "guild.gvgFightHandler.debugSaveScore": case "guild.gvgFightHandler.debugSaveScore":
case "guild.gvgBattleHandler.createCity": case "guild.gvgBattleHandler.createCity":
case "guild.gvgProduceHandler.debugAdjustHarvest":
case "guild.gvgFightHandler.debugSetMyRank":
case "guild.gvgFightHandler.debugSetMyOpp":
{ {
if (msg.magicWord !== DEBUG_MAGIC_WORD || !isDevelopEnv()) return false; if (msg.magicWord !== DEBUG_MAGIC_WORD || !isDevelopEnv()) return false;
@@ -166,7 +166,7 @@ export async function checkVestigeOppStatus(configId: number, groupId: number, s
if(!myData || myData.rank != myRank) return VESTIGE_OPP_STATUS.MY_RANK_CHANGE; if(!myData || myData.rank != myRank) return VESTIGE_OPP_STATUS.MY_RANK_CHANGE;
if(isRobot(targetRoleId)) { if(isRobot(targetRoleId)) {
let targetData = await GVGVestigeRankModel.findByRank(vestigeId, rank); let targetData = await GVGVestigeRankModel.findByRank(configId, groupId, serverType, vestigeId, rank);
if(targetData) return VESTIGE_OPP_STATUS.OPP_RANK_CHANGE; if(targetData) return VESTIGE_OPP_STATUS.OPP_RANK_CHANGE;
} else { } else {
let targetData = await GVGVestigeRankModel.findByRole(vestigeId, targetRoleId); let targetData = await GVGVestigeRankModel.findByRole(vestigeId, targetRoleId);
@@ -328,7 +328,7 @@ export function getDayKeyInfo() {
return moment().format('YYMMDD'); return moment().format('YYMMDD');
} }
async function savePlayerRank(configId: number, groupId: number, serverType: number, vestigeId: number, playerInfo: OppPlayerInfo) { export async function savePlayerRank(configId: number, groupId: number, serverType: number, vestigeId: number, playerInfo: Partial<OppPlayerInfo>) {
if(playerInfo.isRobot) return if(playerInfo.isRobot) return
let dicRankMap = gameData.gvgVestige.get(vestigeId); let dicRankMap = gameData.gvgVestige.get(vestigeId);
let newRank = dicRankMap?.get(playerInfo.newRank)?.score||0; let newRank = dicRankMap?.get(playerInfo.newRank)?.score||0;
@@ -351,7 +351,7 @@ export async function getVestigeRank(redisKey: REDIS_KEY, isSimple: boolean, key
if(isSimple) { if(isSimple) {
return { rank: obj.rank, name: obj.name, score: obj.num } return { rank: obj.rank, name: obj.name, score: obj.num }
} else { } else {
return { ...obj, leader: {...obj.leader, serverName: serverNames[obj.leader.serverId]}}; return { ...obj, score: obj.num, leader: {...obj.leader, serverName: serverNames[obj.leader.serverId]}};
} }
} }
return obj return obj
+5
View File
@@ -176,6 +176,11 @@ export default class GVGLeagueFarm extends BaseModel {
{ new: true }).lean(); { new: true }).lean();
return result; return result;
} }
public static async setMyHarvestTime(configId: number, leagueCode: string, time: number) {
console.log(configId, leagueCode, nowSeconds(), time)
await GVGLeagueFarmModel.updateMany({ configId, leagueCode, harvestTime: { $gt: nowSeconds() } }, { $set: { harvestTime: nowSeconds() + time }});
}
} }
export const GVGLeagueFarmModel = getModelForClass(GVGLeagueFarm); export const GVGLeagueFarmModel = getModelForClass(GVGLeagueFarm);