diff --git a/game-server/app/services/activity/giftPackageService.ts b/game-server/app/services/activity/giftPackageService.ts index 4b22ebfd9..e0574b909 100644 --- a/game-server/app/services/activity/giftPackageService.ts +++ b/game-server/app/services/activity/giftPackageService.ts @@ -72,11 +72,14 @@ export async function useGiftPackage(roleId: string, roleName: string, sid: stri let pool = dicGiftPackagePlan.filter(cur => cur.contentType == 1? !isHeroHidden(cur.id): !isGoodsHidden(cur.id)); if(pool.length <= 0) return resResult(STATUS.DIC_DATA_NOT_FOUND); let allReward: { type: number, id: number, count: number }[] = []; + let giftPackage = { giftPackageId: giftID }; for (let i = 0; i < giftCount; i++) { - let rewards = await randomSelectedData(pool, roleId, giftID, count); + let { rewards, floors } = await randomSelectedData(pool, roleId, giftID, count); allReward.push(...rewards); + giftPackage['floors'] = floors; } result = await addReward(roleId, roleName, sid, serverId, allReward, ITEM_CHANGE_REASON.USE_GIFT_PACKAGE); + Object.assign(result, { giftPackage }); break; } case GIFT_PACKAGE_TYPE.GUILD_FUND: // 军团资金 @@ -257,12 +260,16 @@ async function randomSelectedData(pool: DicGiftPackagePlan[], roleId: string, gi } allSum++; } + + let result; + result = Object.assign({}, { rewards }) if(floorPlans && Object.keys(floorPlans).length > 0) { - await GiftPackageFloorModel.updateByGiftPackageId(roleId, giftPackageId, { + const { floors: newFloors } = await GiftPackageFloorModel.updateByGiftPackageId(roleId, giftPackageId, { floors, getSum, allSum }); + Object.assign(result, { giftPackageId, floors: newFloors }); } - return rewards + return result; } //数据格式转换'类型&id&数量|类型&id&数量|' ->> Array 活动奖励