活动:修改获取活动逻辑,从serverlist上剥离

This commit is contained in:
luying
2022-04-07 11:38:33 +08:00
parent 0d7b435f1f
commit 765aff9cf0
31 changed files with 148 additions and 152 deletions

View File

@@ -61,8 +61,8 @@ export default class Serverlist extends BaseModel {
@prop({ required: true, default: 1, enum: SERVER_STATUS })
serverStatus: number; // 服务器状态
@prop({ required: true, type: Number })
activityGroupId: number[]; // 活动组
// @prop({ required: true, type: Number })
// activityGroupId: number[]; // 活动组
public get status() {
let now = nowSeconds();
@@ -154,19 +154,19 @@ export default class Serverlist extends BaseModel {
return result;
}
public static async updateActivityGroup(id: string, pushArr: number[], pullArr: number[]) {
// console.log(id, pushArr, pullArr)
let update = {};
if(pushArr.length > 0) update['$push'] = { activityGroupId: { $each: pushArr } };
if(pullArr.length > 0) update['$pull'] = { activityGroupId: { $in: pullArr } };
let result: ServerlistType[] = await ServerlistModel.findOneAndUpdate({ _id: id }, update).lean();
return result;
}
// public static async updateActivityGroup(id: string, pushArr: number[], pullArr: number[]) {
// // console.log(id, pushArr, pullArr)
// let update = {};
// if(pushArr.length > 0) update['$push'] = { activityGroupId: { $each: pushArr } };
// if(pullArr.length > 0) update['$pull'] = { activityGroupId: { $in: pullArr } };
// let result: ServerlistType[] = await ServerlistModel.findOneAndUpdate({ _id: id }, update).lean();
// return result;
// }
public static async pullByGroupId(groupId: number) {
let result = await ServerlistModel.updateMany({ activityGroupId: { $elemMatch: { $eq: groupId } }}, { $pull: { activityGroupId: groupId } }, { new: true }).lean(true);
return result;
}
// public static async pullByGroupId(groupId: number) {
// let result = await ServerlistModel.updateMany({ activityGroupId: { $elemMatch: { $eq: groupId } }}, { $pull: { activityGroupId: groupId } }, { new: true }).lean(true);
// return result;
// }
public static async incRoleCnt(serverId: number) {
let server: ServerlistType = await ServerlistModel.findOneAndUpdate({ id: serverId }, { $inc: { playerCnt: 1 } });