排行榜:一览&领取

This commit is contained in:
luying
2021-04-12 09:47:16 +08:00
parent 5dca7b304d
commit 22e6a82100
20 changed files with 496 additions and 139 deletions
+1 -1
View File
@@ -148,7 +148,7 @@ export default class Guild extends BaseModel {
.sort(sort)
.limit(100).skip((page - 1) * 100)
.select(GUILD_SELECT.RANK)
.populate('leader', {roleName: 1, title: 1, frame: 1, head: 1, spine: 1, lv: 1, _id: 0}, 'Role')
.populate('leader', {roleId: 1, roleName: 1, title: 1, frame: 1, head: 1, spine: 1, lv: 1, _id: 0}, 'Role')
.lean({ virtuals: true });
return guildList;
}
+9
View File
@@ -269,6 +269,8 @@ export default class Role extends BaseModel {
// 排行相关
@prop({ required: true, default: 0 })
lvUpdatedAt: number; // 升级时间
@prop({ required: true, default: 0 })
heroNum: number; // 武将数量
@prop({ required: true, default: 0 })
heroNumUpdatedAt: number; // 武将数量更新时间
@@ -284,6 +286,8 @@ export default class Role extends BaseModel {
mainEliteWarId: number; // 精英通关关卡
@prop({ required: true, default: 0 })
mainEliteUpdatedAt: number; // 精英通关时间
@prop({ required: true, default: [], type: Number })
rankReceived: number[]; // 已领取奖励
public static async findAllByUid(uid: number, getters = false, virtuals = true) {
@@ -626,6 +630,11 @@ export default class Role extends BaseModel {
.sort({ ce: -1 }).lean();
return roles[Math.floor(roles.length/2)]
}
public static async receiveRankReward(roleId: string, id: number) {
const role: RoleType = await RoleModel.findOneAndUpdate({ roleId, rankReceived: { $nin: [id] } }, { $push: { rankReceived: id } }, {new: true}).lean();
return role;
}
}
export const RoleModel = getModelForClass(Role);