✨ feat(gvg): 添加debug接口
This commit is contained in:
@@ -17,7 +17,7 @@ import { GVG } from "../../../pubUtils/dicParam";
|
||||
import { RewardInter } from "../../../pubUtils/interface";
|
||||
import { resResult } from "../../../pubUtils/util";
|
||||
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 { addGVGActive } from "../../../services/gvg/gvgPrepareService";
|
||||
import { addVestigeBattleEndRec } from "../../../services/gvg/gvgRecService";
|
||||
@@ -516,4 +516,43 @@ export class GVGProduceHandler {
|
||||
await saveVestigeRankSchedule();
|
||||
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);
|
||||
}
|
||||
|
||||
// 设置农田的收获时间
|
||||
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);
|
||||
}
|
||||
}
|
||||
@@ -1998,6 +1998,9 @@ export function checkRouteParam(route: string, msg: any) {
|
||||
case "guild.gvgFightHandler.debugCalRec":
|
||||
case "guild.gvgFightHandler.debugSaveScore":
|
||||
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;
|
||||
|
||||
@@ -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(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;
|
||||
} else {
|
||||
let targetData = await GVGVestigeRankModel.findByRole(vestigeId, targetRoleId);
|
||||
@@ -328,7 +328,7 @@ export function getDayKeyInfo() {
|
||||
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
|
||||
let dicRankMap = gameData.gvgVestige.get(vestigeId);
|
||||
let newRank = dicRankMap?.get(playerInfo.newRank)?.score||0;
|
||||
@@ -351,7 +351,7 @@ export async function getVestigeRank(redisKey: REDIS_KEY, isSimple: boolean, key
|
||||
if(isSimple) {
|
||||
return { rank: obj.rank, name: obj.name, score: obj.num }
|
||||
} 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
|
||||
|
||||
@@ -176,6 +176,11 @@ export default class GVGLeagueFarm extends BaseModel {
|
||||
{ new: true }).lean();
|
||||
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);
|
||||
|
||||
Reference in New Issue
Block a user