后台:补单
This commit is contained in:
@@ -1,12 +1,12 @@
|
|||||||
import { Application, BackendSession, pinus } from 'pinus';
|
import { Application, BackendSession, pinus } from 'pinus';
|
||||||
import { genCode, getRandSingleEelm, resResult } from '../../../pubUtils/util';
|
import { genCode, getRandSingleEelm, resResult } from '../../../pubUtils/util';
|
||||||
import { STATUS } from '../../../consts/statusCode';
|
import { STATUS } from '../../../consts/statusCode';
|
||||||
import { PAY_TYPE } from '../../../consts';
|
import { ORDER_STATE, PAY_TYPE } from '../../../consts';
|
||||||
import _ = require('underscore');
|
import _ = require('underscore');
|
||||||
import { dicRMB } from '../../../pubUtils/dictionary/DicRMB';
|
import { dicRMB } from '../../../pubUtils/dictionary/DicRMB';
|
||||||
import { getActivityById } from '../../../services/activity/activityService';
|
import { getActivityById } from '../../../services/activity/activityService';
|
||||||
import { UserOrderModel } from '../../../db/UserOrder';
|
import { UserOrderModel } from '../../../db/UserOrder';
|
||||||
import { settleOrder, settleOrderAli, settleOrderWx } from '../../../services/orderService';
|
import { settleOrder, settleOrderAli, settleOrderFromHandler, settleOrderWx } from '../../../services/orderService';
|
||||||
import { getActivityProducts, getParamStr } from '../../../services/gmService';
|
import { getActivityProducts, getParamStr } from '../../../services/gmService';
|
||||||
import { ActivityGroupModel } from '../../../db/ActivityGroup';
|
import { ActivityGroupModel } from '../../../db/ActivityGroup';
|
||||||
import { Receiver } from '../../../db/GMMail';
|
import { Receiver } from '../../../db/GMMail';
|
||||||
@@ -123,4 +123,60 @@ export class GmOrderHandler {
|
|||||||
return findResultErrCode;
|
return findResultErrCode;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @description 补单
|
||||||
|
* @param {BackendSession} session
|
||||||
|
* @memberof orderHandler
|
||||||
|
*/
|
||||||
|
async reCallOrder(msg: { localOrderID: string }, session: BackendSession) {
|
||||||
|
|
||||||
|
let sid = session.get('sid');
|
||||||
|
const { localOrderID } = msg;
|
||||||
|
|
||||||
|
if (!localOrderID || !_.isString(localOrderID)) {
|
||||||
|
return resResult(STATUS.WRONG_PARMS);
|
||||||
|
}
|
||||||
|
let orderInfo = await UserOrderModel.findOrder(localOrderID);
|
||||||
|
if (!orderInfo) {
|
||||||
|
return resResult(STATUS.NO_ORDER);
|
||||||
|
}
|
||||||
|
|
||||||
|
if(orderInfo.state == ORDER_STATE.RESULT_SUCCESS) {
|
||||||
|
return resResult(STATUS.DUPLICATE_ORDER);
|
||||||
|
}
|
||||||
|
//商品价格信息
|
||||||
|
let productInfo = dicRMB.get(orderInfo.productID)
|
||||||
|
if (!productInfo) {
|
||||||
|
console.log(orderInfo.productID)
|
||||||
|
return resResult(STATUS.NO_PRODUCT_ID);
|
||||||
|
}
|
||||||
|
|
||||||
|
let order = await UserOrderModel.findOrder(localOrderID);
|
||||||
|
|
||||||
|
let result = await settleOrder(order, order.serverId, sid);
|
||||||
|
await UserOrderModel.saveOrderID(order.roleId, order.localOrderID, '', JSON.stringify(result));
|
||||||
|
|
||||||
|
orderInfo = await UserOrderModel.findOrder(localOrderID);
|
||||||
|
|
||||||
|
//订单成功
|
||||||
|
console.log('结算完成', localOrderID)
|
||||||
|
let res: any = {};
|
||||||
|
try {
|
||||||
|
res = orderInfo.rewardResult? JSON.parse(orderInfo.rewardResult): {};
|
||||||
|
} catch(e) {
|
||||||
|
console.log('order rewardResult', e);
|
||||||
|
}
|
||||||
|
if(res.code && res.code != 0) {
|
||||||
|
return resResult(STATUS.APPLY_ORDER_ERROR);
|
||||||
|
}
|
||||||
|
|
||||||
|
return resResult(STATUS.SUCCESS, {
|
||||||
|
...res,
|
||||||
|
price: orderInfo.price,
|
||||||
|
state: orderInfo.state,
|
||||||
|
localOrderID: orderInfo.localOrderID
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -125,9 +125,9 @@ export async function makeLimitPackageReward(roleId: string, roleName: string, s
|
|||||||
if (!item) {
|
if (!item) {
|
||||||
return STATUS.ACTIVITY_NO_PRODUCT;
|
return STATUS.ACTIVITY_NO_PRODUCT;
|
||||||
}
|
}
|
||||||
if (item.countMax > 0 && item.buyCount >= item.countMax) {
|
// if (item.countMax > 0 && item.buyCount >= item.countMax) {
|
||||||
return STATUS.ACTIVITY_MAX_COUNT;
|
// return STATUS.ACTIVITY_MAX_COUNT;
|
||||||
}
|
// }
|
||||||
|
|
||||||
let rewardArray = stringToRewardParam(item.reward)
|
let rewardArray = stringToRewardParam(item.reward)
|
||||||
let result = await addReward(roleId, roleName, sid, serverId, rewardArray, ITEM_CHANGE_REASON.BUY_LIMIT_PACKAGE);
|
let result = await addReward(roleId, roleName, sid, serverId, rewardArray, ITEM_CHANGE_REASON.BUY_LIMIT_PACKAGE);
|
||||||
|
|||||||
@@ -873,5 +873,12 @@
|
|||||||
"name": "更新活动组",
|
"name": "更新活动组",
|
||||||
"module": "activity",
|
"module": "activity",
|
||||||
"type": "update"
|
"type": "update"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 126,
|
||||||
|
"api": "gm.gmOrderHandler.reCallOrder",
|
||||||
|
"name": "补单",
|
||||||
|
"module": "order",
|
||||||
|
"type": "update"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
Reference in New Issue
Block a user