✨ feat(gvg): 修改战力相关读取方案
This commit is contained in:
@@ -43,9 +43,6 @@ export default class GVGLeague extends BaseModel {
|
||||
@prop({ required: true, default: 0 })
|
||||
memberCnt: number; // 玩家人数
|
||||
|
||||
@prop({ required: true, default: 0 })
|
||||
leagueCe: number; // 联军总战力
|
||||
|
||||
@prop({ required: true, default: false })
|
||||
isAuto: boolean; // 是否是自动创建的
|
||||
|
||||
@@ -72,7 +69,7 @@ export default class GVGLeague extends BaseModel {
|
||||
const leagueCode = genCode(6);
|
||||
let _leader = <RoleType>leader;
|
||||
let _members = members.map(roleId => ({ roleId, auth: _leader.roleId == roleId? LEAGUE_AUTH.LEADER: LEAGUE_AUTH.MEMBER, guildCode: code }));
|
||||
const update = Object.assign(doc.toJSON(), { guildCodes: [code], name: `${name}联军`, guildCnt: 1, memberCnt, isAuto: true, leagueCe: guildCe, leader: _leader?._id, members: _members, leagueCode }, params);
|
||||
const update = Object.assign(doc.toJSON(), { guildCodes: [code], name: `${name}联军`, guildCnt: 1, memberCnt, isAuto: true, leader: _leader?._id, members: _members, leagueCode }, params);
|
||||
delete update._id;
|
||||
|
||||
const result: GVGLeagueType = await GVGLeagueModel.findOneAndUpdate({ guildCodes: code, status: 1 }, { $setOnInsert: update }, { upsert: true, new: true })
|
||||
@@ -123,7 +120,7 @@ export default class GVGLeague extends BaseModel {
|
||||
let _members = members.map(roleId => ({ roleId, auth: _leader.roleId == roleId? LEAGUE_AUTH.SUB_LEADER: LEAGUE_AUTH.MEMBER, guildCode: code }));
|
||||
|
||||
const league: GVGLeagueType = await GVGLeagueModel.findOneAndUpdate({ leagueCode, status: 1 },
|
||||
{ $push: { guildCodes: code, members: { $each: _members } }, $inc: { guildCnt: 1, memberCnt: memberCnt, leagueCe: guildCe }
|
||||
{ $push: { guildCodes: code, members: { $each: _members } }, $inc: { guildCnt: 1, memberCnt: memberCnt }
|
||||
}, { new: true }).lean();
|
||||
return league
|
||||
}
|
||||
@@ -139,7 +136,7 @@ export default class GVGLeague extends BaseModel {
|
||||
public static async quitGuild(leagueCode: string, guild: GuildType) {
|
||||
const { code, memberCnt, members, guildCe } = guild;
|
||||
const league: GVGLeagueType = await GVGLeagueModel.findOneAndUpdate({ leagueCode, status: 1 },
|
||||
{ $pull: { guildCodes: code, members: { roleId: { $in: members } } }, $inc: { guildCnt: -1, memberCnt: -memberCnt, leagueCe: -guildCe }
|
||||
{ $pull: { guildCodes: code, members: { roleId: { $in: members } } }, $inc: { guildCnt: -1, memberCnt: -memberCnt }
|
||||
}, { new: true }).lean();
|
||||
return league
|
||||
}
|
||||
@@ -164,18 +161,13 @@ export default class GVGLeague extends BaseModel {
|
||||
return league;
|
||||
}
|
||||
|
||||
public static async updateCe(roleId: string, incCe: number) {
|
||||
const league: GVGLeagueType = await GVGLeagueModel.findOneAndUpdate({ 'members.roleId': roleId, status: 1 }, { $inc: { leagueCe: incCe } }, { new: true }).lean();
|
||||
return league;
|
||||
}
|
||||
|
||||
public static async joinMember(leagueCode: string, roleId: string, guildCode: string, ce: number) {
|
||||
const league: GVGLeagueType = await GVGLeagueModel.findOneAndUpdate({ leagueCode, status: 1 }, { $push: { members: { roleId, auth: LEAGUE_AUTH.MEMBER, guildCode } }, $inc: { memberCnt: 1, leagueCe: ce } }, { new: true }).lean();
|
||||
const league: GVGLeagueType = await GVGLeagueModel.findOneAndUpdate({ leagueCode, status: 1 }, { $push: { members: { roleId, auth: LEAGUE_AUTH.MEMBER, guildCode } }, $inc: { memberCnt: 1 } }, { new: true }).lean();
|
||||
return league;
|
||||
}
|
||||
|
||||
public static async quitMember(leagueCode: string, roleId: string, ce: number) {
|
||||
const league: GVGLeagueType = await GVGLeagueModel.findOneAndUpdate({ leagueCode, status: 1 }, { $pull: { members: { roleId } }, $inc: { memberCnt: -1, leagueCe: -ce } }, { new: true }).lean();
|
||||
const league: GVGLeagueType = await GVGLeagueModel.findOneAndUpdate({ leagueCode, status: 1 }, { $pull: { members: { roleId } }, $inc: { memberCnt: -1 } }, { new: true }).lean();
|
||||
return league;
|
||||
}
|
||||
|
||||
|
||||
@@ -95,7 +95,6 @@ export class GVGMainData {
|
||||
this.notice = league.notice;
|
||||
this.guildCnt = league.guildCnt;
|
||||
this.memberCnt = league.memberCnt;
|
||||
this.leagueCe = league.leagueCe;
|
||||
}
|
||||
|
||||
setLeagueParpare(leaguePrepare: GVGLeaguePrepareType) {
|
||||
@@ -121,6 +120,10 @@ export class GVGMainData {
|
||||
this.isFirst = true;
|
||||
this.leagueGoods = item;
|
||||
}
|
||||
|
||||
setLeagueCe(leagueCe: number) {
|
||||
this.leagueCe = leagueCe;
|
||||
}
|
||||
}
|
||||
|
||||
export class LeagueListInfo {
|
||||
@@ -143,12 +146,15 @@ export class LeagueListInfo {
|
||||
this.guildCnt = league.guildCnt;
|
||||
this.leaderName = (<RoleType>league.leader).roleName;
|
||||
this.leaderServerName = serverNames[(<RoleType>league.leader).serverId];
|
||||
this.leagueCe = league.leagueCe;
|
||||
}
|
||||
|
||||
setHasApply(hasApply: boolean) {
|
||||
this.hasApply = hasApply;
|
||||
}
|
||||
|
||||
setLeagueCe(leagueCe: number) {
|
||||
this.leagueCe = leagueCe;
|
||||
}
|
||||
}
|
||||
|
||||
export class LeagueSimpleInfo extends LeagueListInfo {
|
||||
|
||||
@@ -33,6 +33,6 @@
|
||||
"DEBUG_TIME": 1,
|
||||
"CHECK_WORD": 1,
|
||||
"CAN_PAY": 1,
|
||||
"SKIP_ENCODE": 0,
|
||||
"SKIP_ENCODE": 1,
|
||||
"NEED_REBATE": 0
|
||||
}
|
||||
Reference in New Issue
Block a user