✨ feat(充值): 添加英杰币
This commit is contained in:
@@ -12,7 +12,7 @@ import { getActivityById } from '../../../services/activity/activityService';
|
||||
import { reportTAEvent } from '../../../services/sdkService';
|
||||
import { canPay, isDebugPay } from '../../../pubUtils/sdkUtil';
|
||||
import { isDevelopEnv } from '../../../services/utilService';
|
||||
import { getVoucherObject, handleCost } from '../../../services/role/rewardService';
|
||||
import { getVoucherCoinObject, getVoucherObject, handleCost } from '../../../services/role/rewardService';
|
||||
import { CheckMeterial } from '../../../services/role/checkMaterial';
|
||||
|
||||
export default function (app: Application) {
|
||||
@@ -60,12 +60,22 @@ export class orderHandler {
|
||||
let localOrderID = genCode(32);//本地订单号
|
||||
let orderID = '';//平台订单号
|
||||
let sdkOrderInfo = null;//客户端需要的平台订单信息
|
||||
let voucherId = 0;
|
||||
|
||||
if(useVoucher) {
|
||||
let voucher = getVoucherObject(price);
|
||||
let check = new CheckMeterial(roleId);
|
||||
let isEnough = await check.decrease([voucher]);
|
||||
if (!isEnough) return resResult(STATUS.VOUCHER_NOT_ENOUGH);
|
||||
if (!isEnough) {
|
||||
let voucher = getVoucherCoinObject(price);
|
||||
let check = new CheckMeterial(roleId);
|
||||
let isEnough = await check.decrease([voucher]);
|
||||
if (!isEnough) return resResult(STATUS.VOUCHER_NOT_ENOUGH);
|
||||
voucherId = voucher.id;
|
||||
} else {
|
||||
voucherId = voucher.id;
|
||||
}
|
||||
|
||||
} else {
|
||||
switch (payType) {
|
||||
case PAY_TYPE.THREE_SEVEN:
|
||||
@@ -128,7 +138,7 @@ export class orderHandler {
|
||||
}
|
||||
|
||||
|
||||
await UserOrderModel.applyOrder(serverId, roleId, productID, localOrderID, orderID, price, payType, activityId, paramStr, message, useVoucher);
|
||||
await UserOrderModel.applyOrder(serverId, roleId, productID, localOrderID, orderID, price, payType, activityId, paramStr, message, useVoucher, voucherId);
|
||||
reportTAEvent(roleId, TA_EVENT.RECHARGE, {
|
||||
pay_id: localOrderID, chargeId: productID, pay_name: message, pay_amount: price, pay_channel: payType
|
||||
}, ip)
|
||||
@@ -171,8 +181,9 @@ export class orderHandler {
|
||||
}
|
||||
|
||||
if(orderInfo.useVoucher) {
|
||||
let voucher = getVoucherObject(productInfo.price);
|
||||
let result = await handleCost(roleId, sid, [voucher], ITEM_CHANGE_REASON.USE_VOUCHER);
|
||||
let voucherId = orderInfo.voucherId;
|
||||
let voucher = [{ id: voucherId, count: productInfo.price }];
|
||||
let result = await handleCost(roleId, sid, voucher, ITEM_CHANGE_REASON.USE_VOUCHER);
|
||||
if(!result) return resResult(STATUS.VOUCHER_NOT_ENOUGH);
|
||||
|
||||
let res = await settleOrderFromHandler(localOrderID, roleId, serverId, sid);
|
||||
@@ -291,7 +302,7 @@ export class orderHandler {
|
||||
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, false);
|
||||
let orderInfo = await UserOrderModel.applyOrder(serverId, roleId, productID, localOrderID, orderID, price, payType, activityId, paramStr, message, false, 0);
|
||||
|
||||
//订单成功
|
||||
if(!orderInfo) {
|
||||
|
||||
Reference in New Issue
Block a user