军团:弹劾

This commit is contained in:
luying
2021-01-21 11:37:37 +08:00
parent 89937ef672
commit 3a0f31ea0b
8 changed files with 76 additions and 28 deletions

View File

@@ -30,6 +30,9 @@ export default class UserGuild extends BaseModel {
@prop({ required: true, default: 0 })
honourWeekly: number;
@prop({ required: true, default: Date.now() })
honourUpdateTime: number;
@prop({ required: true, default: USER_GUILD_STATUS.ON, enum: USER_GUILD_STATUS})
status: number;
@@ -70,6 +73,15 @@ export default class UserGuild extends BaseModel {
return userGuilds;
}
public static async findTopHonour(guildCode: string, select?: string) {
const userGuilds: UserGuildType = await UserGuildModel.findOne({ guildCode, status: USER_GUILD_STATUS.ON, auth: { $ne: GUILD_AUTH.LEADER } })
.sort({ honourWeekly: -1, honourUpdateTime: 1 })
.select(select)
.populate('role', 'roleId roleName ce headHid sHid lv title loginTime', 'Role')
.lean();
return userGuilds;
}
public static async createUserGuild(guildCode: string, role: RoleType, isLeader: boolean) {
const doc = new UserGuildModel();
let job = isLeader? GUILD_JOB.JIANGJUN: GUILD_JOB.SHIZHANG;
@@ -77,7 +89,7 @@ export default class UserGuild extends BaseModel {
const update = Object.assign(doc.toJSON(), { guildCode, roleId: role.roleId, role: role._id, job, auth });
delete update._id;
const result: UserGuildType = await UserGuildModel.findOneAndUpdate({ roleId: role.roleId, guildCode, status: USER_GUILD_STATUS.ON }, update, { upsert: true, new: true })
.select('honourWeekly job auth')
.select('honourWeekly honourUpdateTime job auth')
.lean();
return result;