活动:支付测试接口
This commit is contained in:
@@ -1,6 +1,6 @@
|
|||||||
import { Application, BackendSession } from 'pinus';
|
import { Application, BackendSession } from 'pinus';
|
||||||
import { genCode, resResult } from '../../../pubUtils/util';
|
import { genCode, resResult } from '../../../pubUtils/util';
|
||||||
import { ACTIVITY_TYPE, ORDER_STATE, PAY_TYPE, STATUS } from '../../../consts';
|
import { ACTIVITY_TYPE, DEBUG_MAGIC_WORD, ORDER_STATE, PAY_TYPE, STATUS } from '../../../consts';
|
||||||
import { dicRMB } from '../../../pubUtils/dictionary/DicRMB';
|
import { dicRMB } from '../../../pubUtils/dictionary/DicRMB';
|
||||||
import { UserOrderModel } from '../../../db/UserOrder';
|
import { UserOrderModel } from '../../../db/UserOrder';
|
||||||
import _ = require('underscore');
|
import _ = require('underscore');
|
||||||
@@ -8,6 +8,7 @@ import { applyOrderWX, checkOrderWX } from '../../../services/pay/weixinPay';
|
|||||||
import { applyOrderALI, checkOrderALI } from '../../../services/pay/aliPay';
|
import { applyOrderALI, checkOrderALI } from '../../../services/pay/aliPay';
|
||||||
import { makeOrder } from '../../../services/orderService';
|
import { makeOrder } from '../../../services/orderService';
|
||||||
import { addRechargeMoney } from '../../../services/rechargeMoneyService';
|
import { addRechargeMoney } from '../../../services/rechargeMoneyService';
|
||||||
|
import { ActivityModel, ActivityModelType } from '../../../db/Activity';
|
||||||
|
|
||||||
export default function (app: Application) {
|
export default function (app: Application) {
|
||||||
return new orderHandler(app);
|
return new orderHandler(app);
|
||||||
@@ -184,4 +185,63 @@ export class orderHandler {
|
|||||||
return resResult(STATUS.DUPLICATE_ORDER);
|
return resResult(STATUS.DUPLICATE_ORDER);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @description 支付测试
|
||||||
|
* @param {{productID:string, magicWord:string }} msg
|
||||||
|
* @param {BackendSession} session
|
||||||
|
* @memberof orderHandler
|
||||||
|
*/
|
||||||
|
async debugOrder(msg: { productID: string, magicWord: string }, session: BackendSession) {
|
||||||
|
const { magicWord, productID, } = msg;
|
||||||
|
if (magicWord !== DEBUG_MAGIC_WORD) {
|
||||||
|
return resResult(STATUS.TOKEN_ERR);
|
||||||
|
}
|
||||||
|
|
||||||
|
const roleId = session.get('roleId');
|
||||||
|
const serverId = session.get('serverId');
|
||||||
|
const sid = session.get('sid');
|
||||||
|
const roleName = session.get('roleName');
|
||||||
|
const funcs: number[] = session.get('funcs');
|
||||||
|
|
||||||
|
let payType = PAY_TYPE.TEST
|
||||||
|
//如果有特殊情况,activityId可为0
|
||||||
|
if (!productID || !_.isString(productID)) {
|
||||||
|
return resResult(STATUS.WRONG_PARMS);
|
||||||
|
}
|
||||||
|
|
||||||
|
//商品价格信息
|
||||||
|
let productInfo = dicRMB.get(productID)
|
||||||
|
if (!productInfo) {
|
||||||
|
return resResult(STATUS.NO_PRODUCT_ID);
|
||||||
|
}
|
||||||
|
|
||||||
|
let price = productInfo.price;//价格
|
||||||
|
let productType = productInfo.type;//类型
|
||||||
|
let message = productInfo.message;//商品信息
|
||||||
|
let localOrderID = genCode(32);//本地订单号
|
||||||
|
let orderID = '';//平台订单号
|
||||||
|
let sdkOrderInfo = null;//客户端需要的平台订单信息
|
||||||
|
|
||||||
|
let activityArray: ActivityModelType[] = await ActivityModel.findActivityByType(serverId, productType, -1);
|
||||||
|
if (activityArray.length === 0) {
|
||||||
|
return resResult(STATUS.ACTIVITY_MISSING);
|
||||||
|
}
|
||||||
|
let activityData = activityArray[0];
|
||||||
|
let activityId = activityData.activityId;
|
||||||
|
await UserOrderModel.applyOrder(serverId, roleId, productID, localOrderID, orderID, price, payType, activityId);
|
||||||
|
|
||||||
|
//订单成功
|
||||||
|
let orderInfo = await UserOrderModel.success(roleId, localOrderID);
|
||||||
|
if (orderInfo) {
|
||||||
|
//结算奖励
|
||||||
|
let result = await makeOrder(localOrderID, sid);
|
||||||
|
//活动统计
|
||||||
|
await addRechargeMoney(roleId, serverId, price);
|
||||||
|
console.log(`测试支付完成!!!!!!!!!!!!! serverId:${serverId}, productID:${productID}, roleId:${roleId}, localOrderID:${localOrderID}`)
|
||||||
|
return resResult(STATUS.SUCCESS, result);
|
||||||
|
}
|
||||||
|
|
||||||
|
return resResult(STATUS.NO_ORDER, {});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -71,6 +71,7 @@ export enum FIRST_GIFT_STATE {
|
|||||||
* 支付类型
|
* 支付类型
|
||||||
*/
|
*/
|
||||||
export enum PAY_TYPE {
|
export enum PAY_TYPE {
|
||||||
|
TEST = 0, // 测试
|
||||||
WX = 1, // 微信
|
WX = 1, // 微信
|
||||||
ALI = 2, // 阿里
|
ALI = 2, // 阿里
|
||||||
APPLE = 3, // 苹果
|
APPLE = 3, // 苹果
|
||||||
|
|||||||
Reference in New Issue
Block a user