🐞 fix(gvg): 后加入的玩家不可领取之前的遗迹奖励

This commit is contained in:
luying
2023-03-29 11:49:25 +08:00
parent 6401cd912f
commit f2a2aa1127
4 changed files with 46 additions and 10 deletions

View File

@@ -23,7 +23,7 @@ import { calBreakGoods, checkHeroIsUsedInOtherVestige, checkVestige, checkVestig
import { addGVGReward, combinePushItem, handleGVGCost } from "../../../services/gvg/gvgItemService";
import { addGVGActive, getGVGActive } from "../../../services/gvg/gvgPrepareService";
import { addVestigeBattleEndRec } from "../../../services/gvg/gvgRecService";
import { getGroupKey, getGVGPeriodData } from "../../../services/gvg/gvgService";
import { getGroupKey, getGVGPeriodData, getMemberJoinLeagueTime } from "../../../services/gvg/gvgService";
import { checkBattleHeroesByHid } from "../../../services/normalBattleService";
import { Rank } from "../../../services/rankService";
import { getAllServerName } from "../../../services/redisService";
@@ -444,7 +444,8 @@ export class GVGProduceHandler {
const { ranks: memberRank, myRank: myMemberRank } = await getVestigeRank(REDIS_KEY.GVG_VESTIGE_MEMBER_ALL, false, { groupKey, day: getDayKeyInfo() }, { roleId }, serverNames);
let yesterdayRank = await GVGVestigeLeagueRankModel.getYesterdayRank(myLeague.leagueCode);
let canReceiveLeagueRanks = await GVGVestigeLeagueRankModel.getCanReceiveRanks(configId, myLeague.leagueCode, roleId);
let joinTime = await getMemberJoinLeagueTime(myLeague.leagueCode, roleId, myLeague);
let canReceiveLeagueRanks = await GVGVestigeLeagueRankModel.getCanReceiveRanks(configId, myLeague.leagueCode, roleId, joinTime);
let canReceivePlayerRanks = await GVGVestigeSumRankModel.getCanReceiveRanks(configId, roleId);
let { canReceiveBox, boxPreview } = calVestigeLeagueBoxRewards(canReceiveLeagueRanks, canReceivePlayerRanks);
@@ -509,7 +510,8 @@ export class GVGProduceHandler {
if(!myLeague) return resResult(STATUS.GVG_LEAGUE_NOT_EXIST);
let { configId } = getGVGPeriodData();
let canReceiveLeagueRanks = await GVGVestigeLeagueRankModel.getCanReceiveRanks(configId, myLeague.leagueCode, roleId);
let joinTime = await getMemberJoinLeagueTime(myLeague.leagueCode, roleId, myLeague);
let canReceiveLeagueRanks = await GVGVestigeLeagueRankModel.getCanReceiveRanks(configId, myLeague.leagueCode, roleId, joinTime);
let canReceivePlayerRanks = await GVGVestigeSumRankModel.getCanReceiveRanks(configId, roleId);
if(canReceiveLeagueRanks.length <= 0 && canReceivePlayerRanks.length <= 0) return resResult(STATUS.GVG_RECEIVE_NO_RANK_REWARD);