🐞 fix(订单): 各种类型的订单在支付之前校验次数
This commit is contained in:
@@ -10,6 +10,7 @@ import { getActivitiesByType, getActivityById, getActivityByServerId } from './a
|
||||
import { getRoleCreateTime, getServerCreateTime } from '../redisService';
|
||||
import { handleCost } from '../role/rewardService';
|
||||
import { ActivityTreasureHuntChallengeModel } from '../../db/ActivityTreasureHuntChallenge';
|
||||
import { ActivityModelType } from '../../db/Activity';
|
||||
|
||||
export async function getPlayerTreasureHuntDataShow(activityId: number, serverId: number, roleId: string) {
|
||||
let playerData = await getPlayerTreasureHuntData(activityId, serverId, roleId);
|
||||
@@ -121,6 +122,22 @@ export async function makeShop(roleId: string, roleName: string, sid: string, se
|
||||
}
|
||||
}
|
||||
|
||||
export async function checkTreasureHuntShop(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 TreasureHuntData(activityData, createTime, serverTime);
|
||||
|
||||
let playerShopRecord = await ActivityTreasureHuntShopModel.findTreasureData(activityData.activityId, roleId, playerData.roundIndex, playerData.todayIndex);
|
||||
playerData.shop.setPlayerShopRecords(playerShopRecord);
|
||||
|
||||
let item = playerData.shop.findProductID(productID)
|
||||
|
||||
if (!item) return false;
|
||||
if (item.buyCount >= item.countMax) return false;
|
||||
return true;
|
||||
}
|
||||
|
||||
export async function treasureHuntChallengeConsume(serverId: number, roleId: string, sid: string) {
|
||||
let activities = await getActivitiesByType(serverId, ACTIVITY_TYPE.TREASURE_HUNT);
|
||||
for(let { activityId } of activities) {
|
||||
|
||||
Reference in New Issue
Block a user