diff --git a/game-server/app/servers/guild/handler/donateHandler.ts b/game-server/app/servers/guild/handler/donateHandler.ts index 57c63cf8c..d654b62dd 100644 --- a/game-server/app/servers/guild/handler/donateHandler.ts +++ b/game-server/app/servers/guild/handler/donateHandler.ts @@ -129,8 +129,13 @@ export class DonationHandler { return resResult(STATUS.WRONG_PARMS); } - if (resReceiveBoxs.indexOf(id) != -1) - return resResult(STATUS.GUILD_DONATE_BOXS_IS_GOT); + // 捐献宝箱-每级有4个 + const TOTAL_BOX_COUNT = 4; + for (let haveGotId of resReceiveBoxs) { + if ((haveGotId % TOTAL_BOX_COUNT) === (id % TOTAL_BOX_COUNT)) { + return resResult(STATUS.GUILD_DONATE_BOXS_IS_GOT); + } + } let { boxRewards, fund, level } = getArmyDonateBoxBaseById(id); let { donateFund, donationLv } = await getDonation(code, guild); if( donationLv < level) return resResult(STATUS.GUILD_DONATE_LV_NOT_ENOUGH) diff --git a/shared/db/UserGuild.ts b/shared/db/UserGuild.ts index 5e14a52c2..9e3a49fe9 100644 --- a/shared/db/UserGuild.ts +++ b/shared/db/UserGuild.ts @@ -90,7 +90,7 @@ export default class UserGuild extends BaseModel { @prop({ required: true, default: 0 }) trainTime: number;//上次刷新挑战训练场次数的时间每天5点 - @prop({ required: true, default: [] }) + @prop({ required: true, default: [], type: Number }) trainRewards: Array;//领取过的进阶等级 @prop({ required: true, default: [], type: TrainBoxRewardRecord, _id: false })