排行榜:一览&领取
This commit is contained in:
+1
-1
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user