活动:结算奖励
This commit is contained in:
@@ -8,6 +8,7 @@ import { UserOrderModel } from '../../../db/UserOrder';
|
|||||||
import _ = require('underscore');
|
import _ = require('underscore');
|
||||||
import { applyOrderWX, checkOrderWX } from '../../../services/pay/weixinPay';
|
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';
|
||||||
|
|
||||||
export default function (app: Application) {
|
export default function (app: Application) {
|
||||||
return new orderHandler(app);
|
return new orderHandler(app);
|
||||||
@@ -45,8 +46,6 @@ export class orderHandler {
|
|||||||
let message = productInfo.message;//商品信息
|
let message = productInfo.message;//商品信息
|
||||||
let localOrderID = genCode(32);//本地订单号
|
let localOrderID = genCode(32);//本地订单号
|
||||||
let orderID = '';//平台订单号
|
let orderID = '';//平台订单号
|
||||||
|
|
||||||
|
|
||||||
let sdkOrderInfo = null;//客户端需要的平台订单信息
|
let sdkOrderInfo = null;//客户端需要的平台订单信息
|
||||||
switch (payType) {
|
switch (payType) {
|
||||||
case PAY_TYPE.WX:
|
case PAY_TYPE.WX:
|
||||||
@@ -81,14 +80,10 @@ export class orderHandler {
|
|||||||
console.log('未知支付类型');
|
console.log('未知支付类型');
|
||||||
return resResult(STATUS.NO_PAY_TYPE);
|
return resResult(STATUS.NO_PAY_TYPE);
|
||||||
}
|
}
|
||||||
|
|
||||||
await UserOrderModel.applyOrder(serverId, roleId, productID, localOrderID, orderID, price, payType);
|
await UserOrderModel.applyOrder(serverId, roleId, productID, localOrderID, orderID, price, payType);
|
||||||
return resResult(STATUS.SUCCESS, { orderInfo: sdkOrderInfo, productInfo, localOrderID });
|
return resResult(STATUS.SUCCESS, { orderInfo: sdkOrderInfo, productInfo, localOrderID });
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @description 查询订单,结算奖励
|
* @description 查询订单,结算奖励
|
||||||
* @param {{ localOrderID: string}} msg
|
* @param {{ localOrderID: string}} msg
|
||||||
@@ -105,7 +100,6 @@ export class orderHandler {
|
|||||||
if (!localOrderID || !_.isString(localOrderID)) {
|
if (!localOrderID || !_.isString(localOrderID)) {
|
||||||
return resResult(STATUS.WRONG_PARMS);
|
return resResult(STATUS.WRONG_PARMS);
|
||||||
}
|
}
|
||||||
|
|
||||||
let orderInfo = await UserOrderModel.findOrder(localOrderID);
|
let orderInfo = await UserOrderModel.findOrder(localOrderID);
|
||||||
if (!orderInfo) {
|
if (!orderInfo) {
|
||||||
return resResult(STATUS.NO_ORDER);
|
return resResult(STATUS.NO_ORDER);
|
||||||
@@ -125,17 +119,6 @@ export class orderHandler {
|
|||||||
let payType = orderInfo.payType;//支付类型
|
let payType = orderInfo.payType;//支付类型
|
||||||
let roleId = orderInfo.roleId;//角色
|
let roleId = orderInfo.roleId;//角色
|
||||||
|
|
||||||
switch (productType) {
|
|
||||||
case ACTIVITY_TYPE.NEW_PLAYER_LIMIT_PACKAGE:
|
|
||||||
{
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
default:
|
|
||||||
console.log('未知错误类型');
|
|
||||||
return resResult(STATUS.NO_PRODUCT_ID);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
orderInfo = await UserOrderModel.check(roleId, localOrderID);
|
orderInfo = await UserOrderModel.check(roleId, localOrderID);
|
||||||
if (!orderInfo) {
|
if (!orderInfo) {
|
||||||
return resResult(STATUS.DUPLICATE_ORDER);
|
return resResult(STATUS.DUPLICATE_ORDER);
|
||||||
@@ -191,8 +174,9 @@ export class orderHandler {
|
|||||||
orderInfo = await UserOrderModel.success(roleId, localOrderID);
|
orderInfo = await UserOrderModel.success(roleId, localOrderID);
|
||||||
if (orderInfo) {
|
if (orderInfo) {
|
||||||
//结算奖励
|
//结算奖励
|
||||||
|
let result = await makeOrder(localOrderID);
|
||||||
console.log('结算完成', localOrderID)
|
console.log('结算完成', localOrderID)
|
||||||
return resResult(STATUS.SUCCESS, Object.assign({}));
|
return resResult(STATUS.SUCCESS, result);
|
||||||
}
|
}
|
||||||
|
|
||||||
return resResult(STATUS.DUPLICATE_ORDER);
|
return resResult(STATUS.DUPLICATE_ORDER);
|
||||||
|
|||||||
@@ -1,3 +1,48 @@
|
|||||||
import { UserOrderModel } from '../db/UserOrder';
|
import { UserOrderModel } from '../db/UserOrder';
|
||||||
import { ActivitySignInModel, ActivitySignInModelType } from '../db/ActivitySignIn';
|
import { ActivitySignInModel, ActivitySignInModelType } from '../db/ActivitySignIn';
|
||||||
import { SignInData, SignInItem } from '../domain/activityField/signInField';
|
import { SignInData, SignInItem } from '../domain/activityField/signInField';
|
||||||
|
import { ACTIVITY_TYPE, ORDER_STATE } from '../consts';
|
||||||
|
import { dicRMB } from '../pubUtils/dictionary/DicRMB';
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 结算账单
|
||||||
|
* @param localOrderID 本地订单号
|
||||||
|
*/
|
||||||
|
export async function makeOrder(localOrderID: string) {
|
||||||
|
let orderInfo = await UserOrderModel.findOrder(localOrderID);
|
||||||
|
if (!orderInfo) {
|
||||||
|
return '查无此订单';
|
||||||
|
}
|
||||||
|
if (orderInfo.state == ORDER_STATE.RESULT_SUCCESS) {
|
||||||
|
return '结算过';
|
||||||
|
}
|
||||||
|
//商品价格信息
|
||||||
|
let productInfo = dicRMB.get(orderInfo.productID)
|
||||||
|
if (!productInfo) {
|
||||||
|
return '无效商品';
|
||||||
|
}
|
||||||
|
|
||||||
|
let productType = productInfo.type;//类型
|
||||||
|
let price = orderInfo.price;//下单时的价格
|
||||||
|
let payType = orderInfo.payType;//支付类型
|
||||||
|
let roleId = orderInfo.roleId;//角色
|
||||||
|
|
||||||
|
switch (productType) {
|
||||||
|
case ACTIVITY_TYPE.NEW_PLAYER_LIMIT_PACKAGE:
|
||||||
|
{
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case ACTIVITY_TYPE.LIMIT_PACKAGE_SHOP_DAILY:
|
||||||
|
case ACTIVITY_TYPE.LIMIT_PACKAGE_SHOP_WEEKLY:
|
||||||
|
{
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
default:
|
||||||
|
return '未知商品类型';
|
||||||
|
}
|
||||||
|
return { goods: [], addHeros: [] }
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user