🐞 fix(订单): 各种类型的订单在支付之前校验次数

This commit is contained in:
luying
2023-04-06 13:32:40 +08:00
parent f7ccc14f74
commit 08d5ebedeb
18 changed files with 224 additions and 29 deletions

View File

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