🐞 fix(gvg): 修复领取升级宝箱奖励逻辑
This commit is contained in:
@@ -256,11 +256,11 @@ export class GVGHandler {
|
|||||||
if(!myLeague) return resResult(STATUS.GVG_LEAGUE_NOT_EXIST);
|
if(!myLeague) return resResult(STATUS.GVG_LEAGUE_NOT_EXIST);
|
||||||
const leaguePrepare = await GVGLeaguePrepareModel.findByLeague(configId, myLeague.leagueCode);
|
const leaguePrepare = await GVGLeaguePrepareModel.findByLeague(configId, myLeague.leagueCode);
|
||||||
|
|
||||||
if(!leaguePrepare || leaguePrepare.lv < lv) return resResult(STATUS.GVG_LV_NOT_ENOUGH);
|
if(!leaguePrepare || leaguePrepare.lv < lv + 1) return resResult(STATUS.GVG_LV_NOT_ENOUGH);
|
||||||
|
|
||||||
let myUserData = await GVGUserDataModel.findByRole(configId, myLeague.leagueCode, roleId);
|
let myUserData = await GVGUserDataModel.findByRole(configId, myLeague.leagueCode, roleId);
|
||||||
let { receivedLv } = myUserData||{};
|
let { receivedLv } = myUserData||{};
|
||||||
if(lv != 1 && receivedLv != lv + 1) return resResult(STATUS.GVG_LV_REWARD_NOT_REACH);
|
if(lv != 1 && receivedLv + 1 != lv) return resResult(STATUS.GVG_LV_REWARD_NOT_REACH);
|
||||||
if(receivedLv >= lv) return resResult(STATUS.GVG_LV_REWARD_HAS_RECEIVED);
|
if(receivedLv >= lv) return resResult(STATUS.GVG_LV_REWARD_HAS_RECEIVED);
|
||||||
|
|
||||||
const leagueGoods = await addGVGReward(roleId, roleName, myLeague.leagueCode, sid, [], dicGVGLeagueLv.reward, ITEM_CHANGE_REASON.GVG_RECEIVE_LV);
|
const leagueGoods = await addGVGReward(roleId, roleName, myLeague.leagueCode, sid, [], dicGVGLeagueLv.reward, ITEM_CHANGE_REASON.GVG_RECEIVE_LV);
|
||||||
|
|||||||
@@ -120,7 +120,7 @@ export default class GVGUserData extends BaseModel {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static async receiveLv(configId: number, leagueCode: string, roleId: string, lv: number) {
|
public static async receiveLv(configId: number, leagueCode: string, roleId: string, lv: number) {
|
||||||
const result: GVGUserDataType = await GVGUserDataModel.findOneAndUpdate({ configId, leagueCode, roleId }, { $set: { lv }}, { new: true }).lean();
|
const result: GVGUserDataType = await GVGUserDataModel.findOneAndUpdate({ configId, leagueCode, roleId }, { $set: { receivedLv: lv }}, { new: true }).lean();
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user