feat(gvg): 添加组建期邮件、添加自动解散定时任务

This commit is contained in:
luying
2023-02-04 19:37:59 +08:00
parent e7a62c4e3e
commit 3fc6b91a51
8 changed files with 53 additions and 19 deletions

View File

@@ -61,7 +61,10 @@ export enum MAIL_TYPE {
GUILD_MAIL = 31, // 军团邮件
REBATE = 32, // 返利邮件
GROUP_SHOP_REFUND = 33, // 退费
ARTIFACT_OVER = 34, // 退费
ARTIFACT_OVER = 34, // 宝物数量超过
LEAGUE_DISSMISS = 35, // 联军解散
LEAGUE_KICK = 36, // 被踢出联军
LEAGUE_ABDICATE = 37, // 被任命盟主
HELP_HARVEST = 38, // 帮收
};

View File

@@ -337,6 +337,7 @@ export const STATUS = {
GVG_BATTLE_CITY_FULL: { code: 21331, simStr: '城市已满员' },
GVG_BATTLE_TEAM_INVALID: { code: 21332, simStr: '无效的队伍' },
GVG_CITY_NOT_FOUND: { code: 21333, simStr: '城池不存在' },
GVG_GUILD_HAS_LEAGUE: { code: 21334, simStr: '需要先退出联军才能解散军团' },
// GVG征战中原
GVG_VESTIGE_ERR: { code: 21350, simStr: '今日未开放该遗迹' },

View File

@@ -146,6 +146,10 @@ export default class GVGLeague extends BaseModel {
return league
}
public static async dismissByIds(_ids: string[]) {
await GVGLeagueModel.updateMany({ _id: { $in: _ids } }, { $set: { status: 0 }});
}
public static async abdicate(leagueCode: string, fromRoleId: string, toRoleId: string, leader: string) {
let league: GVGLeagueType = await GVGLeagueModel.findOneAndUpdate({ leagueCode, status: 1, 'members.roleId': fromRoleId }, { $set: { 'members.$.auth': LEAGUE_AUTH.SUB_LEADER }}, { new: true }).lean();
league = await GVGLeagueModel.findOneAndUpdate({ leagueCode, status: 1, 'members.roleId': toRoleId }, { $set: { 'members.$.auth': LEAGUE_AUTH.LEADER, leader }}, { new: true }).lean();
@@ -179,6 +183,11 @@ export default class GVGLeague extends BaseModel {
league = await GVGLeagueModel.findOneAndUpdate({ leagueCode, status: 1, 'members.roleId': toRoleId }, { $set: updateInfo }, { new: true }).lean();
return league
}
public static async findAutoCreateLeague() {
let leagues: GVGLeagueType[] = await GVGLeagueModel.find({ isAuto: true, status: 1 }).lean();
return leagues
}
}
export const GVGLeagueModel = getModelForClass(GVGLeague);