后台:活动分组分服
This commit is contained in:
+21
-1
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user