diff --git a/game-server/app/services/activity/refreshShopService.ts b/game-server/app/services/activity/refreshShopService.ts index 3f159201e..9cf9b5ebd 100644 --- a/game-server/app/services/activity/refreshShopService.ts +++ b/game-server/app/services/activity/refreshShopService.ts @@ -28,7 +28,8 @@ export async function getRefreshShopActivity(serverId: number, roleId: string) { let playerRecord: ActivityRefreshShopModelType = await ActivityRefreshShopModel.findData(activityData.activityId, roleId, playerData.roundIndex); if (!playerRecord) {//生成商店可购买商品的数据 - let randomGoods = playerData.randomGoodsItems(); + let { lv } = await RoleModel.findByRoleId(roleId); + let randomGoods = playerData.randomGoodsItems(lv); playerRecord = await ActivityRefreshShopModel.createShop(activityData.activityId, roleId, playerData.roundIndex, randomGoods); } playerData.setPlayerRecords(playerRecord); @@ -49,7 +50,8 @@ export async function getPlayerRefreshShopData(activityId: number, serverId: num let playerRecord: ActivityRefreshShopModelType = await ActivityRefreshShopModel.findData(activityId, roleId, playerData.roundIndex); if (!playerRecord) {//生成商店可购买商品的数据 - let randomGoods = playerData.randomGoodsItems(); + let { lv } = await RoleModel.findByRoleId(roleId); + let randomGoods = playerData.randomGoodsItems(lv); playerRecord = await ActivityRefreshShopModel.createShop(activityData.activityId, roleId, playerData.roundIndex, randomGoods); } playerData.setPlayerRecords(playerRecord); @@ -70,7 +72,8 @@ export async function getPlayerRefreshShopDataByRoundIndex(activityId: number, s playerData.roundIndex = roundIndex; let playerRecord: ActivityRefreshShopModelType = await ActivityRefreshShopModel.findData(activityId, roleId, playerData.roundIndex); if (!playerRecord) {//生成商店可购买商品的数据 - let randomGoods = playerData.randomGoodsItems(); + let { lv } = await RoleModel.findByRoleId(roleId); + let randomGoods = playerData.randomGoodsItems(lv); playerRecord = await ActivityRefreshShopModel.createShop(activityData.activityId, roleId, playerData.roundIndex, randomGoods); } playerData.setPlayerRecords(playerRecord); diff --git a/shared/domain/activityField/refreshShopField.ts b/shared/domain/activityField/refreshShopField.ts index 0291140dd..ad79a3f4b 100644 --- a/shared/domain/activityField/refreshShopField.ts +++ b/shared/domain/activityField/refreshShopField.ts @@ -67,11 +67,12 @@ export class RefreshShopData extends ActivityBase { roundIndex: number = 1;//周期数从1开始 //随机出商店可购买的商品数据 - public randomGoodsItems() { + public randomGoodsItems(playerLevel: number) { let goods: GoodsInfo[] = []; for (let pageData of this.list) { let pageIndex = pageData.pageIndex; let randomCount = pageData.viewCount; + pageData.items = pageData.items.filter(obj => { return (obj.levelLimitMin == 0 && obj.levelLimitMax == 0) || (obj.levelLimitMin <= playerLevel && obj.levelLimitMax >= playerLevel) }); pageData.items = this.randomGoods(pageData.items, randomCount); for (let item of pageData.items) { goods.push({