✨ feat(gvg): 添加debug接口
This commit is contained in:
@@ -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);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -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
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
Reference in New Issue
Block a user