活动:支付宝支付
This commit is contained in:
@@ -7,6 +7,7 @@ import { dicRMB } from '../../../pubUtils/dictionary/DicRMB';
|
||||
import { UserOrderModel } from '../../../db/UserOrder';
|
||||
import _ = require('underscore');
|
||||
import { applyOrderWX, checkOrderWX } from '../../../services/pay/weixinPay';
|
||||
import { applyOrderALI, checkOrderALI } from '../../../services/pay/aliPay';
|
||||
|
||||
export default function (app: Application) {
|
||||
return new orderHandler(app);
|
||||
@@ -50,7 +51,6 @@ export class orderHandler {
|
||||
switch (payType) {
|
||||
case PAY_TYPE.WX:
|
||||
{
|
||||
//生成订单号
|
||||
let weixinOrder = await applyOrderWX(localOrderID, price * 100, message);
|
||||
if (weixinOrder.code == 0) {
|
||||
console.log('微信下单失败')
|
||||
@@ -62,6 +62,14 @@ export class orderHandler {
|
||||
}
|
||||
case PAY_TYPE.ALI:
|
||||
{
|
||||
let aliOrder = await applyOrderALI(localOrderID, price, message);
|
||||
if (aliOrder.code == 0) {
|
||||
console.log('支付宝下单失败')
|
||||
return resResult(STATUS.APPLY_ORDER_ERROR);
|
||||
}
|
||||
sdkOrderInfo = aliOrder.data;
|
||||
orderID = aliOrder.data;//支付宝订单
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -153,6 +161,20 @@ export class orderHandler {
|
||||
}
|
||||
case PAY_TYPE.ALI:
|
||||
{
|
||||
let aliResult = await checkOrderALI(localOrderID);
|
||||
if (aliResult.code == 0) {
|
||||
console.log('支付宝订单查询失败')
|
||||
return resResult(STATUS.ORDER_ERROR);
|
||||
}
|
||||
if (parseInt(aliResult.data.total_amount) != price) {
|
||||
console.log('订单价格错误')
|
||||
return resResult(STATUS.PRICE_ERROR);
|
||||
}
|
||||
if (aliResult.data.trade_status != "TRADE_SUCCESS") {
|
||||
return resResult(STATUS.NO_PAY);
|
||||
}
|
||||
let aliOrderID = aliResult.data.trade_no;
|
||||
await UserOrderModel.saveOrderID(roleId, localOrderID, aliOrderID);
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -166,20 +188,13 @@ export class orderHandler {
|
||||
}
|
||||
|
||||
//订单成功
|
||||
let isSuccess = true;
|
||||
if (isSuccess) {
|
||||
orderInfo = await UserOrderModel.success(roleId, localOrderID);
|
||||
if (orderInfo) {
|
||||
//结算奖励
|
||||
console.log('结算完成', localOrderID)
|
||||
return resResult(STATUS.SUCCESS, Object.assign({}));
|
||||
}
|
||||
} else {
|
||||
let message = '订单校验失败';
|
||||
orderInfo = await UserOrderModel.fail(roleId, localOrderID, message);
|
||||
orderInfo = await UserOrderModel.success(roleId, localOrderID);
|
||||
if (orderInfo) {
|
||||
//结算奖励
|
||||
console.log('结算完成', localOrderID)
|
||||
return resResult(STATUS.SUCCESS, Object.assign({}));
|
||||
}
|
||||
|
||||
|
||||
return resResult(STATUS.DUPLICATE_ORDER);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user