✨ feat(gvg): 便捷管理页面
This commit is contained in:
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user