🐞 fix(订单): 各种类型的订单在支付之前校验次数
This commit is contained in:
@@ -124,25 +124,19 @@ export async function makeSelfServerShop(roleId: string, roleName: string, sid:
|
||||
|
||||
let activityData: ActivityModelType = await getActivityById(activityId);
|
||||
if (!activityData) {
|
||||
return {
|
||||
code: STATUS.ACTIVITY_MISSING,
|
||||
}
|
||||
return STATUS.ACTIVITY_MISSING
|
||||
}
|
||||
let createTime = await getRoleCreateTime(roleId);
|
||||
let serverTime = await getServerCreateTime(serverId);
|
||||
let playerData = new SelfServiceShopData(activityData, createTime, serverTime);
|
||||
let item: SelfServiceShopItem = playerData.getItemByProductID(productID);
|
||||
if (!item) {
|
||||
return {
|
||||
code: STATUS.ACTIVITY_DATA_ERROR,
|
||||
}
|
||||
return STATUS.ACTIVITY_DATA_ERROR
|
||||
}
|
||||
if (item.countMax > 0) {//限制购买次数
|
||||
let playerRecords: ActivitySelfServiceShopModelType[] = await ActivitySelfServiceShopModel.findDataByIndex(serverId, activityId, roleId, playerData.roundIndex, item.index);
|
||||
if (playerRecords.length >= item.countMax) {
|
||||
return {
|
||||
code: STATUS.ACTIVITY_MAX_COUNT,
|
||||
}
|
||||
return STATUS.ACTIVITY_MAX_COUNT
|
||||
}
|
||||
}
|
||||
let result = await addSelfServiceShopGiftReward(roleId, roleName, sid, serverId, activityId, playerData.roundIndex, item.index, item);
|
||||
@@ -152,3 +146,18 @@ export async function makeSelfServerShop(roleId: string, roleName: string, sid:
|
||||
data: Object.assign(result, { item })
|
||||
}
|
||||
}
|
||||
|
||||
export async function checkSelfServiceShop(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 SelfServiceShopData(activityData, createTime, serverTime);
|
||||
let item: SelfServiceShopItem = playerData.getItemByProductID(productID);
|
||||
if (!item) return false
|
||||
if (item.countMax > 0) {//限制购买次数
|
||||
let playerRecords = await ActivitySelfServiceShopModel.findDataByIndex(serverId, activityData.activityId, roleId, playerData.roundIndex, item.index);
|
||||
if (playerRecords.length >= item.countMax) return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user