feat(gvg): 便捷管理页面

This commit is contained in:
luying
2023-03-28 13:35:27 +08:00
parent 6218378030
commit 5bd61ed0b3
9 changed files with 134 additions and 2 deletions

View File

@@ -86,6 +86,12 @@ export default class GVGLeaguePrepare extends BaseModel {
@prop({ required: true, default: [], type: GuildActive, _id: false })
guildActive: GuildActive[]; // 军团活跃
@prop({ required: true, default: [], type: Number })
targetCities: number[]; // 目标城池
@prop({ required: true, default: '' })
notice: string; // 公告
public static async initData(configId: number, groupKey: string, leagueCode: string, maxMemberCnt: number) {
const doc = new GVGLeaguePrepareModel();
const update = Object.assign(doc.toJSON(), { maxMemberCnt });
@@ -166,6 +172,21 @@ export default class GVGLeaguePrepare extends BaseModel {
const result: GVGLeaguePrepareType[] = await GVGLeaguePrepareModel.find({ configId, groupKey }).sort({ lv: -1 }).lean();
return result;
}
public static async setTargetCity(configId: number, leagueCode: string, cityId: number) {
const result: GVGLeaguePrepareType = await GVGLeaguePrepareModel.findOneAndUpdate({ configId, leagueCode }, { $push: { targetCities: cityId } }, { new: true }).lean();
return result;
}
public static async cancelTargetCity(configId: number, leagueCode: string, cityId: number) {
const result: GVGLeaguePrepareType = await GVGLeaguePrepareModel.findOneAndUpdate({ configId, leagueCode }, { $pull: { targetCities: cityId } }, { new: true }).lean();
return result;
}
public static async setNotice(configId: number, leagueCode: string, notice: string) {
const result: GVGLeaguePrepareType = await GVGLeaguePrepareModel.findOneAndUpdate({ configId, leagueCode }, { $set: { notice } }, { new: true }).lean();
return result;
}
}
export const GVGLeaguePrepareModel = getModelForClass(GVGLeaguePrepare);