From 6b06d95a8934a4defd498a5ec18ae97fc00007cd Mon Sep 17 00:00:00 2001 From: dingchaolin Date: Wed, 15 Mar 2023 21:36:37 +0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9E=20fix(guild):=20=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E6=8D=90=E7=8C=AE=E5=AE=9D=E7=AE=B1=E9=87=8D=E5=A4=8D=E9=A2=86?= =?UTF-8?q?=E5=8F=96=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- game-server/app/servers/guild/handler/donateHandler.ts | 9 +++++++-- shared/db/UserGuild.ts | 2 +- 2 files changed, 8 insertions(+), 3 deletions(-) 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 })