红点:pvp推送

This commit is contained in:
luying
2021-06-09 20:40:30 +08:00
parent ff45e0f096
commit b70af1606b
6 changed files with 46 additions and 9 deletions
+11 -3
View File
@@ -34,6 +34,8 @@ import UserGuild, { UserGuildType } from '../db/UserGuild';
import { setMedianCe } from './guildActivityService';
import { getAllOnlineRoles } from './redisService';
import Item from '../db/Item';
import { PvpDefenseModel } from '../db/PvpDefense';
import { findPvpDefAllByRoleId } from './pvpService';
export async function pushData(role: RoleType, session: FrontendOrBackendSession, pushType: 'entry'|'refresh' = 'entry') {
try{
@@ -92,8 +94,7 @@ export async function pushData(role: RoleType, session: FrontendOrBackendSession
case 'dungeon': // 秘境
return await getDungeonData(role);
case 'pvp': // pvp
const hasSeasonReward = await getPvpEntryData(roleId);
return { hasSeasonReward }
return await getPvpEntryData(roleId);
case 'gacha':
return await getGachaList(roleId);
case 'school':
@@ -175,7 +176,14 @@ async function getPvpEntryData(roleId: string) {
let { oldSeasonData, show} = pvpSeasonResult;
// 旧赛季结算的时候,会在pvpSeasonResult表中存上一赛季的时间,并更新show字段
return oldSeasonData.seasonEndTime <= nowSeconds() && show;
let hasSeasonReward = oldSeasonData.seasonEndTime <= nowSeconds() && show;
let pvpDefense = await PvpDefenseModel.findByRoleIdIncludeAll(roleId);
if(pvpDefense) {
let { pvpDefense, } = await findPvpDefAllByRoleId(roleId);
let { challengeCnt, receivedBox, score } = pvpDefense;
return { hasSeasonReward, challengeCnt, score, receivedBox }
}
}
/**
+1 -1
View File
@@ -486,7 +486,7 @@ export async function findPvpDefAllByRoleId(roleId: string) {
pvpDefense.challengeRefTime = challengeRefTime;
}
pvpDefense.seasonNum = seasonNum;
let {challengeCnt, challengeRefTime} = refresh(pvpDefense.challengeCnt, pvpDefense.challengeRefTime, seasonNum);
let {challengeCnt, challengeRefTime} = refresh(pvpDefense.challengeCnt, pvpDefense.challengeRefTime, seasonEndTime);
let { refOppCnt, refOppTime, shouldRefOpp } = getRefOppCnt(pvpDefense.refOppCnt, pvpDefense.refOppTime); // 刷新次数
if (challengeCnt != pvpDefense.challengeCnt || refOppCnt != pvpDefense.refOppCnt || shouldRefOpp) {
let update: pvpUpdateInter = {