🐞 fix(gvg): 选择职业人数刷新
This commit is contained in:
@@ -83,6 +83,8 @@ export class GVGHandler {
|
||||
const serverId = session.get('serverId');
|
||||
const guildCode = session.get('guildCode');
|
||||
|
||||
// if(!await checkCanPrepare(roleId)) return resResult(STATUS.GVG_CANNOT_PREPARE); // TODO 临时去拦截
|
||||
|
||||
let myLeague = await GVGLeagueModel.findLeagueByGuild(guildCode);
|
||||
if(!myLeague) return resResult(STATUS.GVG_LEAGUE_NOT_EXIST);
|
||||
|
||||
@@ -137,9 +139,17 @@ export class GVGHandler {
|
||||
|
||||
// 是否超过人数
|
||||
let limit = Math.ceil(leaguePrepare.maxMemberCnt * GVG.GVG_ROLE_TOTAL_RATIO);
|
||||
if(leaguePrepare.fighterCnt + leaguePrepare.producerCnt >= limit) return resResult(STATUS.GVG_JOB_LIMIT);
|
||||
let cnt = job == LEAGUE_JOB.FIGHTER? leaguePrepare.fighterCnt: leaguePrepare.producerCnt;
|
||||
if(cnt >= Math.ceil(limit * GVG.GVG_ROLE_RATIO / 2)) return resResult(STATUS.GVG_JOB_LIMIT);
|
||||
if(leaguePrepare.fighterCnt + leaguePrepare.producerCnt >= limit ||
|
||||
cnt >= Math.ceil(limit * GVG.GVG_ROLE_RATIO / 2)) {
|
||||
return resResult(STATUS.SUCCESS, {
|
||||
isSuccess: false,
|
||||
leagueCode: myLeague.leagueCode,
|
||||
job: myUserData.job,
|
||||
producerCnt: leaguePrepare.producerCnt,
|
||||
fighterCnt: leaguePrepare.fighterCnt,
|
||||
});
|
||||
}
|
||||
|
||||
// 更新userData
|
||||
myUserData = await GVGUserDataModel.chooseJob(configId, myLeague.leagueCode, roleId, job);
|
||||
@@ -148,6 +158,7 @@ export class GVGHandler {
|
||||
let dailyReward = await getDailyLoginReward(roleId, roleName, sid, myLeague.leagueCode, myUserData?.job);
|
||||
|
||||
return resResult(STATUS.SUCCESS, {
|
||||
isSuccess: true,
|
||||
leagueCode: myLeague.leagueCode,
|
||||
job: myUserData.job,
|
||||
producerCnt: leaguePrepare.producerCnt,
|
||||
|
||||
Reference in New Issue
Block a user