后台:活动分组分服

This commit is contained in:
luying
2021-05-28 11:10:32 +08:00
parent eeabf70c7a
commit 8961cdf248
10 changed files with 318 additions and 42 deletions
+21 -1
View File
@@ -34,7 +34,7 @@ export default class Serverlist extends BaseModel {
@prop({ required: true })
serverStatus: number; // 服务器状态
@prop({ required: true })
@prop({ required: true, type: Number })
activityGroupId: number[]; // 活动组
public get status() {
@@ -84,6 +84,26 @@ export default class Serverlist extends BaseModel {
let server: ServerlistType[] = await ServerlistModel.find({ serverType }).lean({ getters: true, virtuals: true });
return server;
}
//根据多个活动id查询活动数据
public static async findServerByIds(ids: number[]) {
let result: ServerlistType[] = await ServerlistModel.find({ id: { $in: ids } }).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;
}
}
export const ServerlistModel = getModelForClass(Serverlist);