Commit f2de3bde by 宋毅

tj

parents 29f7a5cf bdf8c1be
......@@ -54,7 +54,7 @@ class TmOrderAPI extends APIBase {
// action_body.app = { id:2,uappKey:"201911131657",uAppId:9,appSecret:"eeb18393aade40149287b024d8ba0850"};
// action_body.user = { id: 6, app_id: 2, nickname: "测试用户",channelUserId:"testUserId01" };
var opResult = null;
if (["subOtherOrder", "subTmOrder", "getTmOrderList", "getTmOrderInfo", "getTmApplyInfo", "getTmNclList", "getNeedInfo",
if (["subOtherOrder", "subTmOrder", "offlinePaymentOrder", "getTmOrderList", "getTmOrderInfo", "getTmApplyInfo", "getTmNclList", "getNeedInfo",
"tmConfirm", "updateTmInfo", "updateNclInfo", "updateContacts",
"updateCustomerInfo", "addOrderAndDelivery", "updateOrderPayStatus"].indexOf(action_type) >= 0) {
if (!action_body.channelUserId) {
......@@ -262,6 +262,9 @@ class TmOrderAPI extends APIBase {
// case "receiveTlCallBackNotify"://接收通联支付回调通知(未测试)
// opResult = await this.orderSve.receiveTlCallBackNotify(action_body);
// break;
case "offlinePaymentOrder"://订单线下支付(上传支付凭证)
opResult = await this.orderSve.offlinePaymentOrder(action_body);
break;
default:
opResult = system.getResult(null, "action_type参数错误");
break;
......
......@@ -17,7 +17,68 @@ class OrderService extends ServiceBase {
this.appDao = system.getObject("db.dbapp.appDao");
this.orderReceiptVoucherDao = system.getObject("db.dbcpay.orderreceiptvoucherDao");
}
//订单线下支付(上传支付凭证)
async offlinePaymentOrder(obj){
var app = obj.app;
var user = obj.user;
if (!user || !user.id) {
return system.getResultFail(-100, "未知用户");
}
if (!app || !app.id) {
return system.getResultFail(-101, "未知渠道");
}
var orderNo = obj.orderNo;
var paymentVoucher = obj.paymentVoucher;
if(!orderNo){
return system.getResultFail(-102, "orderNo参数错误");
}
if(!paymentVoucher){
return system.getResultFail(-103, "paymentVoucher参数错误");
}
var order = await this.dao.model.findOne({
where:{orderNo:orderNo,app_id:app.id},
raw:true
});
if(!order){
return system.getResultFail(-104, "订单不存在");
}
if(!order.orderPayStatus || (order.orderPayStatus!="dfk" && order.orderPayStatus!="zfpz" && order.orderPayStatus!="zfshbtg")){
return system.getResultFail(-105, "订单状态错误,订单当前状态为"+order.orderPayStatusName);
}
var self = this;
return await self.db.transaction(async function (t) {
var orderObj={id:order.id,orderPayStatus:"zfpz",payTime:new Date()};
await self.dao.update(orderObj, t);
var logMsg = { sourceOrderNo: order.orderNo, opContent: "订单提交支付凭证", app_id: app.id, isShow: 1 };
await self.orderflowDao.create(logMsg, t);
var orderReceiptVoucher = await self.receiptvoucherDao.model.findOne({
where:{busPayOrderCode:order.orderNo,createapp_id:app.id},
raw:true
});
var orderReceiptVoucherObj={
receiptType:"sk",
auditStatus:"dsh",
certifyFileUrl:paymentVoucher,
itemCode:order.itemCode,itemName:order.itemName,
payuser_id:user.id,
accountType: "bank",
sourceType:"order",
payDate: new Date(),//支付时间
totalSum: order.totalSum,//订单总额
sourceOrderNo:order.orderNo
};
if(orderReceiptVoucher){
orderReceiptVoucherObj["id"]=orderReceiptVoucher.id;
orderReceiptVoucherObj["updateuser_id"]=user.id;
await self.receiptvoucherDao.update(orderReceiptVoucherObj,t);
}else{
orderReceiptVoucherObj["createuser_id"]=user.id;
orderReceiptVoucherObj["createapp_id"]=app.id;
await self.receiptvoucherDao.create(orderReceiptVoucherObj,t);
}
return system.getResultSuccess();
})
}
async addOrderAndDelivery(action_body, pobj, req) {
if (!action_body.needNo) {
return system.getResult(null, "needNo is empty");
......@@ -782,7 +843,9 @@ class OrderService extends ServiceBase {
return system.getResultFail(-101, "orderNo参数有误");
}
var order = await this.dao.model.findOne({
where:{orderNo:obj.orderNo,app_id:obj.app.id},raw:true
where:{orderNo:obj.orderNo,app_id:obj.app.id},raw:true,
attributes:["id","orderNo","itemCode","itemName","channelItemCode","channelItemName","salesNum",
"orderPayStatus","orderPayStatusName","totalSum","created_at"]
});
if(!order || !order.totalSum){
return system.getResultFail(-102, "订单数据有误");
......@@ -816,7 +879,9 @@ class OrderService extends ServiceBase {
var result = JSON.parse(rtn.stdout);
if(result && result.status==0 && result.data && result.data.trxid ){
await this.cacheManager["ZxPayLocker"].init(result.data.trxid);
result.data.order = order;
}
return result;
}
......@@ -1032,6 +1097,7 @@ class OrderService extends ServiceBase {
}, t);
//帐户类型( 支付类型):cash: 现金, bank: 银行 ,wx:微信,alipay:支付宝,other:其它
var orderReceiptVoucherObj={
sourceType:"order",
receiptType:"sk",
itemCode:orderItem.itemCode,itemName:orderItem.itemName,
createapp_id:app.id,
......@@ -1039,7 +1105,8 @@ class OrderService extends ServiceBase {
accountType: accountType,
payDate: new Date(),//支付时间
totalSum: orderItem.totalSum,//订单总额
busPayOrderCode:orderItem.orderNo//业务支付订单号
sourceOrderNo:orderItem.orderNo,
busPayOrderCode:obj.trxid//业务支付订单号
};
var receiptVoucher = await self.receiptvoucherDao.create(orderReceiptVoucherObj,t);
// var orderReceiptVoucher = await self.orderReceiptVoucherDao.create(orderReceiptVoucherObj,t);
......
......@@ -34,6 +34,13 @@ var settings = {
return "https://centerapp/";
}
},
centerChannelUrl: function () {
if (this.env == "dev") {
return "http://gsb.qifu.gongsibao.com:4011/";
} else {
return "https://centerchannel/";
}
},
reqTransferurl: function () {
if (this.env == "dev") {
return "http://192.168.18.61:3003/";
......
......@@ -4,6 +4,7 @@
1. [检查通联支付状态](#checkPayStatusTl)
1. [获取通联支付二维码](#getTlPayQrCode)
1. [通联支付状态通知](#notify)
1. [订单线下支付(上传支付凭证)](#offlinePaymentOrder)
## **<a name="paypc"> 订单支付</a>**
[返回到目录](#menu)
......@@ -143,7 +144,20 @@
        "reqsn":"qftTM201912281609Xr7QQ7_9",
        "chnltrxid":"112094120001045091",
        "trxid":"112094120001045091",
        "trxstatus":"0000"
        "trxstatus":"0000",
"order":{
"id":456,
"orderNo":"TM201912251822SEEWXj",
"itemCode":"zzsbzc",
"itemName":"商标自助注册",
"channelItemCode":"商标自助注册",
"channelItemName":"商标自助注册",
"salesNum":1,
"orderPayStatus":"dfk",
"orderPayStatusName":"待付款",
"totalSum":"300.00",
"created_at":"2019-12-25T10:22:08.000Z"
}
    },
    "requestId":"2f48327473654bb897449c0263ca268d"
}
......@@ -194,3 +208,37 @@
}
}
```
## **<a name="offlinePaymentOrder"> 订单线下支付(上传支付凭证)</a>**
[返回到目录](#menu)
##### URL
[/action/tmOrder/springBoard]
#### 参数格式 `JSON`
#### HTTP请求方式 `POST`
#### 渠道执行的类型 actionType:offlinePaymentOrder
``` javascript
{
"actionType": "offlinePaymentOrder",
"actionProcess":"1688",
"actionBody": {
"paymentVoucher": "https://gsb-zc.oss-cn-beijing.aliyuncs.com//zc_yxq277220191151575539914017.jpg",
"channelUserId":"testUserId01",
"orderNo": "TM202001101929B0ghUQ"
}
}
```
#### 返回结果
```javascript
{
"status":0,
"msg":"success",
"data":null,
"requestId":"afda73d44d524c8fbb6dd66dab9e1aef"
}
```
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment