连接:修复有军团的人没有推送

This commit is contained in:
luying
2022-03-11 18:43:21 +08:00
parent 1357104cee
commit cd11cb4719
4 changed files with 16 additions and 8 deletions

View File

@@ -86,7 +86,7 @@ export async function pushData(hasInit: boolean, role: RoleType, session: Fronte
for(let { type, init, refresh, guild } of modules) {
if(!hasInit && !init) continue;
if(pushType == 'refresh' && !refresh) continue;
if(guildData.hasGuild && !guild) continue;
if(!guildData.hasGuild && !guild) continue;
let data = await getModuleData(type, { role, session }, guildData);
if (data) {

View File

@@ -85,6 +85,7 @@ export async function initActivitiesRank(serverId: number, activityGroupId: numb
let r = new Rank(redisKey, { serverId, activityId: data.activityId });
r.setIsInit(true);
for (let rank of ranks) {
console.log('##### rank', rank);
if(r.infoKey == REDIS_KEY.USER_INFO) {
await r.setRankWithRoleInfo(rank.roleId, rank.score, rank.time||0, <RoleType>rank.role);
} else if(r.infoKey == REDIS_KEY.GUILD_INFO) {

View File

@@ -18,13 +18,13 @@ export default class Activity_Time_Limit_Rank extends BaseModel {
@prop({ required: false })
guildCode: string; // 军团
@prop({ ref: 'Guild', type: mongoose.Schema.Types.ObjectId })
@prop({ ref: () => Guild, type: mongoose.Schema.Types.ObjectId })
guild: Ref<Guild>;
@prop({ required: false })
roleId: string; // 军团
@prop({ ref: 'Role', type: mongoose.Schema.Types.ObjectId })
@prop({ ref: () => Role, type: mongoose.Schema.Types.ObjectId })
role: Ref<Role>;
@prop({ required: true })
@@ -54,9 +54,16 @@ export default class Activity_Time_Limit_Rank extends BaseModel {
public static async getRank(serverId: number, activityId: number) {
let rec: ActivityTimeLimitRankModelType[] = await ActivityTimeLimitRankModel.find({ serverId, activityId })
.populate('role').populate('guild')
.populate('leader', { roleId: 1, roleName: 1, head: 1, frame: 1, spine: 1, lv: 1, quitTime: 1, ce: 1, title: 1, _id: 0 }, 'Role')
.sort({ score: -1, time: 1 }).lean();
.populate('role')
.populate({
path: 'guild',
select: 'code icon name lv memberCnt leader ceLimit',
model: 'Guild',
populate: {
path: 'leader',
model: 'Role'
}
}).sort({ score: -1, time: 1 }).lean({ getters: true, virtuals: true });
return rec;
}
}

View File

@@ -1,5 +1,5 @@
import BaseModel from './BaseModel';
import { index, getModelForClass, prop, DocumentType, Ref } from '@typegoose/typegoose';
import { index, getModelForClass, prop, DocumentType, Ref, mongoose } from '@typegoose/typegoose';
import Role, { RoleType } from './Role';
import { GUILD_STRUCTURE, GUILD_STATUS, GUILD_PER_PAGE, GUILD_SELECT, REDIS_KEY, SHOP_REFRESH_TYPE } from '../consts';
import { getZeroPoint, getZeroPointD, nowSeconds } from '../pubUtils/timeUtil';
@@ -41,7 +41,7 @@ export default class Guild extends BaseModel {
@prop({ required: true, default: 0 })
managerCnt: number;
@prop({ required: true })
@prop({ required: true, ref: () => Role, type: mongoose.Schema.Types.ObjectId })
leader: Ref<Role>;
@prop({ required: true, default: true })