活动:刷新商店添加玩家等级条件筛选

This commit is contained in:
qiaoxin
2021-06-25 20:51:45 +08:00
parent a6ce67b2c5
commit 2ffe0f7890
2 changed files with 8 additions and 4 deletions

View File

@@ -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);

View File

@@ -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({