🐞 fix(充值): 限购礼包限制充值次数

This commit is contained in:
luying
2023-02-18 20:02:59 +08:00
parent 30562552e7
commit 42e373cc14
2 changed files with 22 additions and 1 deletions

View File

@@ -140,3 +140,18 @@ export async function makeLimitPackageReward(roleId: string, roleName: string, s
data: Object.assign(result, { item: item, activityId: activityId })
}
}
export async function checkLimitPackageCanBuy(roleId: string, serverId: number, activityData: ActivityModelType, productID: string) {
if(!activityData) return false
let createTime = await getRoleCreateTime(roleId);
let serverTime = await getServerCreateTime(serverId);
let playerData = new LimitShopData(activityData, createTime, serverTime);
let playerRecord: ActivityShopModelType = await ActivityShopModel.findData(activityData.activityId, roleId, playerData.roundIndex);
playerData.setPlayerRecords(playerRecord);
let item = playerData.findItemByProductID(productID);
if (!item) return false
if (item.countMax > 0 && item.buyCount >= item.countMax) return false;
return true;
}

View File

@@ -11,7 +11,7 @@ import { ActivityModel, ActivityModelType } from '../db/Activity';
import { ActivityFirstGiftModel } from '../db/ActivityFirstGift';
import { ServerlistModel } from '../db/Serverlist';
import { makeGrowthFund } from './activity/growthFundService';
import { makeLimitPackageReward } from './activity/limitPackageService';
import { checkLimitPackageCanBuy, makeLimitPackageReward } from './activity/limitPackageService';
import { makeShop } from './activity/treasureHuntService';
import { makeSelfServerShop } from './activity/selfServiceShopActivityService';
import { makeRefreshShopReward } from './activity/refreshShopService';
@@ -52,6 +52,12 @@ export async function checkOrderCanBuy(roleId: string, serverId: number, activit
{
return await checkShopCanBuyInOrder(roleId, serverId, activityData, productID)
}
case ACTIVITY_TYPE.NEW_PLAYER_LIMIT_PACKAGE:
case ACTIVITY_TYPE.LIMIT_PACKAGE_SHOP_DAILY:
case ACTIVITY_TYPE.LIMIT_PACKAGE_SHOP_WEEKLY:
{
return await checkLimitPackageCanBuy(roleId, serverId, activityData, productID)
}
}
return true
}