充值:添加充值前检查

This commit is contained in:
luying
2022-04-29 10:47:33 +08:00
parent d7db67dd2b
commit 57da91f7f4
5 changed files with 54 additions and 2 deletions
@@ -7,7 +7,7 @@ import _ = require('underscore');
import { applyOrderWX, checkOrderWX } from '../../../services/pay/weixinPay';
import { applyOrderALI, checkOrderALI } from '../../../services/pay/aliPay';
import { applyOrder37 } from '../../../services/pay/37Pay';
import { settleOrder, settleOrderAli, settleOrderWx } from '../../../services/orderService';
import { checkOrderCanBuy, settleOrder, settleOrderAli, settleOrderWx } from '../../../services/orderService';
import { addRechargeMoney } from '../../../services/activity/rechargeMoneyService';
import { addVipRechargeMoney } from '../../../services/activity/vipRechargeMoneyService';
import { getActivityById } from '../../../services/activity/activityService';
@@ -100,6 +100,14 @@ export class orderHandler {
console.log('未知支付类型');
return resResult(STATUS.NO_PAY_TYPE);
}
if(activityId > 0) {
let activityData = await getActivityById(activityId);
let check = await checkOrderCanBuy(roleId, serverId, activityData, productID, paramStr);
if(!check) return resResult(STATUS.ORDER_CANNOT_BUY)
}
await UserOrderModel.applyOrder(serverId, roleId, productID, localOrderID, orderID, price, payType, activityId, paramStr, message);
reportTAEvent(roleId, TA_EVENT.RECHARGE, {
pay_id: localOrderID, chargeId: productID, pay_name: message, pay_amount: price, pay_channel: payType
@@ -232,6 +240,9 @@ export class orderHandler {
// }
let activityData = await getActivityById(activityId);
if (!activityData) return resResult(STATUS.ACTIVITY_MISSING);
let check = await checkOrderCanBuy(roleId, serverId, activityData, productID, paramStr);
if(!check) return resResult(STATUS.ORDER_CANNOT_BUY)
let orderInfo = await UserOrderModel.applyOrder(serverId, roleId, productID, localOrderID, orderID, price, payType, activityId, paramStr, message);
//订单成功
@@ -163,4 +163,27 @@ export async function makePopUpShopReward(roleId: string, roleName: string, sid:
code: 0,
data: Object.assign(result, { item: item, activityId })
}
}
export async function checkPopUpShopCanBuy(roleId: string, serverId: number, activityId: number, productID: string, paramStr: string) {
if (!paramStr) {
return false;
}
let paramObj = JSON.parse(paramStr);
let code = paramObj.code;
let playerData = await getPopUpShopData(activityId, serverId, roleId);
if (!playerData) {
return false;
}
let playerRecord: ActivityPopUpShopModelType = await ActivityPopUpShopModel.findByCode(serverId, activityId, roleId, code);
if (!playerRecord) {
return false;
}
let item = playerData.checkItem(playerRecord, productID);
if(!item) return false;
return true
}
+12 -1
View File
@@ -6,7 +6,7 @@ import { RoleModel } from '../db/Role';
import { makeMonthlyTicketReward } from './activity/monthlyTicketService';
import { makeSignInVIP } from './activity/signInService';
import { makeDailyRMBGiftsReward } from './activity/dailyRMBGiftsService';
import { makePopUpShopReward } from './activity/popUpShopService';
import { checkPopUpShopCanBuy, makePopUpShopReward } from './activity/popUpShopService';
import { ActivityModel, ActivityModelType } from '../db/Activity';
import { ActivityFirstGiftModel } from '../db/ActivityFirstGift';
import { ServerlistModel } from '../db/Serverlist';
@@ -33,6 +33,17 @@ import { makeTaskPass } from './activity/taskPassService';
import { addGuildPay } from './activity/guildPayService';
import { sendMessageToUserWithSuc } from './pushService';
export async function checkOrderCanBuy(roleId: string, serverId: number, activityData: ActivityModelType, productID: string, paramStr: string) {
let activityId = activityData.activityId;
console.log('*****', activityData.type)
switch(activityData.type) {
case ACTIVITY_TYPE.POP_UP_SHOP:
{
return await checkPopUpShopCanBuy(roleId, serverId, activityId, productID, paramStr)
}
}
return true
}
/**
* 结算账单