Commit 29f7a5cf by 宋毅

tj

parent e766d94c
...@@ -54,7 +54,7 @@ class TmOrderAPI extends APIBase { ...@@ -54,7 +54,7 @@ class TmOrderAPI extends APIBase {
// action_body.app = { id:2,uappKey:"201911131657",uAppId:9,appSecret:"eeb18393aade40149287b024d8ba0850"}; // action_body.app = { id:2,uappKey:"201911131657",uAppId:9,appSecret:"eeb18393aade40149287b024d8ba0850"};
// action_body.user = { id: 6, app_id: 2, nickname: "测试用户",channelUserId:"testUserId01" }; // action_body.user = { id: 6, app_id: 2, nickname: "测试用户",channelUserId:"testUserId01" };
var opResult = null; var opResult = null;
if (["subTmOrder", "getTmOrderList", "getTmOrderInfo", "getTmApplyInfo", "getTmNclList", "getNeedInfo", if (["subOtherOrder", "subTmOrder", "getTmOrderList", "getTmOrderInfo", "getTmApplyInfo", "getTmNclList", "getNeedInfo",
"tmConfirm", "updateTmInfo", "updateNclInfo", "updateContacts", "tmConfirm", "updateTmInfo", "updateNclInfo", "updateContacts",
"updateCustomerInfo", "addOrderAndDelivery", "updateOrderPayStatus"].indexOf(action_type) >= 0) { "updateCustomerInfo", "addOrderAndDelivery", "updateOrderPayStatus"].indexOf(action_type) >= 0) {
if (!action_body.channelUserId) { if (!action_body.channelUserId) {
...@@ -109,24 +109,29 @@ class TmOrderAPI extends APIBase { ...@@ -109,24 +109,29 @@ class TmOrderAPI extends APIBase {
case "get1688ChannelOrderInfo"://获取渠道订单信息 case "get1688ChannelOrderInfo"://获取渠道订单信息
opResult = await this.ordertmproductSve.get1688ChannelOrder(action_body); opResult = await this.ordertmproductSve.get1688ChannelOrder(action_body);
break; break;
case "subOtherOrder"://商标提报
opResult = await this.ordertmproductSve.addOtherOrder(action_body, pobj, req);
break;
case "subTmOrder"://商标提报 case "subTmOrder"://商标提报
opResult = await this.ordertmproductSve.addTmOrder(action_body, pobj, req); opResult = await this.ordertmproductSve.addTmOrder(action_body, pobj, req);
if (opResult && opResult.status == 0 && opResult.data) { if (["bw"].indexOf(action_process) < 0) {
var returnTms = opResult.data.tm; if (opResult && opResult.status == 0 && opResult.data) {
for (var i = 0; i < pobj.actionBody.nclones.length; i++) { var returnTms = opResult.data.tm;
var nclone = pobj.actionBody.nclones[i]; for (var i = 0; i < pobj.actionBody.nclones.length; i++) {
for (var j = 0; j < returnTms.length; j++) { var nclone = pobj.actionBody.nclones[i];
var returnTm = returnTms[j]; for (var j = 0; j < returnTms.length; j++) {
if (returnTm.nclOne && nclone.code && returnTm.nclOne == nclone.code) { var returnTm = returnTms[j];
pobj.actionBody.nclones[i]["tbCode"] = returnTm.tbCode; if (returnTm.nclOne && nclone.code && returnTm.nclOne == nclone.code) {
pobj.actionBody.nclones[i]["tbCode"] = returnTm.tbCode;
}
} }
} }
pobj.actionBody["deliveryOrderNo"] = opResult.data.deliveryOrderNo;
pobj.actionBody["itemCode"] = opResult.data.channelItemCode;
// await this.pushData(opResult, req, pobj);
var url = this.pushFqbossDataUrl + "api/channelaccessApi/createChannelOrder"
this.pushData2(opResult, req, pobj, url);
} }
pobj.actionBody["deliveryOrderNo"] = opResult.data.deliveryOrderNo;
pobj.actionBody["itemCode"] = opResult.data.channelItemCode;
// await this.pushData(opResult, req, pobj);
var url = this.pushFqbossDataUrl + "api/channelaccessApi/createChannelOrder"
this.pushData2(opResult, req, pobj, url);
} }
break; break;
case "subExistTmOrder"://提交存在商标提报 case "subExistTmOrder"://提交存在商标提报
......
...@@ -295,6 +295,114 @@ class OrderTmProductService extends ServiceBase { ...@@ -295,6 +295,114 @@ class OrderTmProductService extends ServiceBase {
}); });
}) })
} }
async addOtherOrder(params, pobj, req) {//创建商标订单信息
var self = this;
var itemCode = params.itemCode;//产品编码
var tm = params.tm;//增加sourceType || "00";//来源类型:00订单,10需求,20服务商
var apply = params.apply;
var app = params.app;
var user = params.user;
var channelUser = params.channelUser || null;
var orderType = params.orderType || "dkxd";//订单类型,zzdd: 自主订单,dkxd: 代客下单
if (!itemCode) {
return system.getResult(null, "itemCode参数错误");
}
var productItem = await this.appproductDao.findOneByChannelItemCode(itemCode, user.app_id);//通过ChannelItemCode获取产品//this.appproductDao.findOneByChannelItemCode(itemCode, user.app_id);//通过ChannelItemCode获取产品
if (!productItem) {
return system.getResult(null, "未知的产品");
}
if (productItem.status != 1) {
return system.getResult(null, "产品已禁用");
}
var verifyResult = await self.isOrderVerify(user, 2, tm, productItem, null, tm.quantity);
if (verifyResult) {
return verifyResult;
}
return await self.db.transaction(async function (t) {
//创建订单
var ordercode = await self.getBusUid("tm");
var orderObj = {
app_id: user.app_id,//
orderNo: ordercode,// 订单号
channelServiceNo: ordercode,// 渠道服务单号
channelOrderNo: ordercode,//渠道订单号列表,多个以,隔开
itemCode: productItem.itemCode,//
itemName: productItem.itemName,//
channelItemCode: productItem.channelItemCode,// 渠道产品编码
channelItemName: productItem.channelItemName,// 渠道产品名称
salesNum: tm.quantity || 1,//项目订单数量(即服务项目的倍数,默认值为1)
salesDiliverNum: 0,//项目订单交付数量(即与项目订单数量相对应)
orderType: orderType || "dkxd",// 订单类型,zzdd: 自主订单,dkxd: 代客下单
orderPayStatus: "dfk",// 订单付款状态dfk: 待付款, zfpz: 已上传支付凭证, yfk: 已付款, ddqx: 订单取消, tkclz: 退款处理中, bfytk: 部分已退款, ytk: 已退款,zfshbtg:支付审核不通过
totalServiceCharge: tm.totalServiceCharge || 0,// 服务费总额(产品配置的服务费*订单件数)
totalPublicExpense: tm.totalPublicExpense || 0,// 官费总额(产品配置的官费*订单件数)
totalDiscounts: tm.totalDiscounts || 0,// 优惠总额((服务费总额+官费总额)-订单总额(产品价格×优惠费率×订单件数)>0则有优惠额度)
totalTaxes: tm.totalTaxes || 0,// 税费总额(订单总额-(订单总额/(1+产品费率)))
totalSum: tm.totalSum || 0,// 订单总额(产品价格×优惠费率×订单件数)
refundSum: 0,// 退款金额
totalProfitSum: tm.totalProfitSum || 0,// 订单毛利润总额(订单总额-官费总额)
pfProfitSum: tm.pfProfitSum || 0,// 订单平台毛利润总额(订单毛利润总额-订单渠道分成毛利润总额)
channelProfitSum: tm.channelProfitSum || 0,// 订单渠道分成毛利润总额((订单总额-官费总额)*渠道利润分成比率)
pfSettleProfit: 0,// 平台结算渠道利润,0否,1是
notes: apply.notes, //备注
createuser_id: user.id,
owner_id: user.id,//
creator: user.nickname || "",
owner: user.nickname || "",//
ownerMoblie: user.userMoblie || "",//
invoiceApplyStatus: "00",// 发票状态:00: 未申请, 10: 已申请,20:已开票
channelUserId: channelUser.channelUserId || "",// 渠道用户id
needNo: ordercode,//需求单号
picUrl: productItem.picUrl,//
productType_id: productItem.productType_id,//产品类型Id
productOneType_id: productItem.productOneType_id,//产品大类Id
serviceItemSnapshot: JSON.stringify(productItem),//产品快照
};
var order = await self.orderDao.create(orderObj, t);
var orderProductObj = {
app_id: user.app_id,//
productType_id: productItem.productType_id,//产品类型Id
productOneType_id: productItem.productOneType_id,//产品大类Id
itemCode: productItem.itemCode,//
itemName: productItem.itemName,//
orderServicePayStatus: "dfk",//支付状态:dfk: 待付款, yfk: 已支付
deliveryStatus: "dsccl",//商标交付状态:dsccl: 待上传材料, dsh: 待审核, ddj: 待递交, ywc: 已完成
appDataOpType: app.appDataOpType,// 应用数据操作类型:00独立,10全委托,20部分委托
sourceOrderNo: ordercode,//来源单号
deliveryOrderNo: await self.getBusUid("jf"),
channelServiceNo: orderObj.channelServiceNo || "",// 渠道服务单号
channelOrderNo: orderObj.channelOrderNo || "",//渠道订单号列表,多个以,隔开
needNo: orderObj.needNo || null,//需求单号
sourceType: tm.sourceType || "00",
channelUserId: channelUser.channelUserId,// 渠道用户id
createuser_id: user.id,//
createuser: user.nickname,//
notes: tm.notes || "", // 备注信息
};
//订单客户档案添加和修改
await self.opCustomerInfo(user, apply, orderProductObj, t);
//创建服务单
var orderTm = await self.dao.create(orderProductObj, t);//创建商标订单
var flowObj = {
app_id: user.app_id,
createuser_id: user.id,
sourceOrderNo: ordercode,
opContent: "订单已创建,待付款"
};
await self.orderflowDao.create(flowObj, t);//创建订单流程
flowObj.sourceOrderNo = orderProductObj.deliveryOrderNo;
flowObj.isShow = 1;
await self.orderflowDao.create(flowObj, t);//创建交付流程
return system.getResultSuccess({
deliveryOrderNo: orderProductObj.deliveryOrderNo,
orderNo: ordercode,
channelParams: params.channelParams,
channelItemCode: productItem.serviceItemCode
});
})
}
async isOrderVerify(user, verifyType, tm, serviceitem, nclones, buyProductCount) { //订单验证 async isOrderVerify(user, verifyType, tm, serviceitem, nclones, buyProductCount) { //订单验证
/* /*
verifyType==1为商标注册验证,2为其他订单验证 verifyType==1为商标注册验证,2为其他订单验证
...@@ -350,54 +458,6 @@ class OrderTmProductService extends ServiceBase { ...@@ -350,54 +458,6 @@ class OrderTmProductService extends ServiceBase {
tm.totalTaxes = sfze;// 税费总额(订单总额-(订单总额/(1+产品费率))) tm.totalTaxes = sfze;// 税费总额(订单总额-(订单总额/(1+产品费率)))
return ""; return "";
// //优惠金额=服务费+官费总额-应付总额(服务费、官费之和小于等于应付总额时,优惠金额为零)
// var yhje = fwfze + gfze - Number(tm.totalSum);
// if (yhje < 0) {
// yhje = 0;
// }
// yhje = yhje.toFixed(2);
// yhje = Number(yhje);
// if (fwfze != Number(tm.totalServiceCharge)) {
// return { code: -201, msg: "服务费总额有误" };
// }
// if (gfze != Number(tm.totalPublicExpense)) {
// return { code: -202, msg: "官费总额有误" };
// }
// if (sfze != Number(tm.totalTaxes)) {
// return { code: -203, msg: "税费总额有误" };
// }
// if (mlze != Number(tm.totalProfitSum)) {
// return { code: -204, msg: "毛利总额有误" };
// }
// if (yhje != Number(tm.totalDiscounts) || yhje > zdyhe) {
// return { code: -205, msg: "优惠总额有误" };
// }
// var channelProfitSum = 0;//订单渠道分成毛利润总额
// var pfProfitSum = 0;//订单平台毛利润总额
// var totalProfitSum = Number(tm.totalProfitSum);//订单毛利润总额
// if (totalProfitSum > 0) {
// var tmpChannelProfitRate = Number(serviceitem.channelProfitRate);
// if (tmpChannelProfitRate > 0) {
// var channelProfitRate = tmpChannelProfitRate / 100;
// channelProfitSum = totalProfitSum * channelProfitRate;
// pfProfitSum = totalProfitSum - channelProfitSum;
// channelProfitSum = channelProfitSum.toFixed(2);
// pfProfitSum = pfProfitSum.toFixed(2);
// if (channelProfitSum < 0 || pfProfitSum < 0) {
// return { code: -206, msg: "利润计算有误" };
// }
// tm["channelProfitSum"] = channelProfitSum;
// tm["pfProfitSum"] = pfProfitSum;
// } else if (tmpChannelProfitRate == 0) {
// pfProfitSum = mlze;//毛利总额
// }
// }//渠道利润分成比率(只分订单中毛利润总额的分成)
// return "";
} }
async opCustomerInfo(user, apply, orderObj, t) {//订单客户档案添加和修改 async opCustomerInfo(user, apply, orderObj, t) {//订单客户档案添加和修改
var customerInfoObj = { var customerInfoObj = {
......
...@@ -319,9 +319,9 @@ System.getAppInfoFail = 1130; ...@@ -319,9 +319,9 @@ System.getAppInfoFail = 1130;
//已经存在信息 //已经存在信息
System.existData = 1400; System.existData = 1400;
//获取访问token失败 //用户信息失败
System.noUserFail = 2070; System.noUserFail = 2070;
//获取访问token失败 //用户信息禁用
System.userDisable = 2080; System.userDisable = 2080;
module.exports = System; module.exports = System;
\ No newline at end of file
...@@ -8,6 +8,7 @@ ...@@ -8,6 +8,7 @@
1. [企业注册信息查询](#getEntregistryByCompanyName) 1. [企业注册信息查询](#getEntregistryByCompanyName)
1. [调整委托书](#adjustWTSSize) 1. [调整委托书](#adjustWTSSize)
1. [接入方提供查询订单接口](#getInfo) 1. [接入方提供查询订单接口](#getInfo)
1. [创建其他订单接口](#subOtherOrder)
1. [商标提报](#subTmOrder) 1. [商标提报](#subTmOrder)
1. [商标交付列表](#getTmOrderList) 1. [商标交付列表](#getTmOrderList)
1. [商标交付信息](#getTmOrderInfo) 1. [商标交付信息](#getTmOrderInfo)
...@@ -406,6 +407,57 @@ ...@@ -406,6 +407,57 @@
``` ```
## **<a name="subOtherOrder"> 创建其他订单接口</a>**
[返回到目录](#menu)
##### URL
[/action/tmOrder/springBoard]
#### 参数格式 `JSON`
#### HTTP请求方式 `POST`
#### 渠道执行的类型 actionType:subTmOrder
``` javascript
{
"actionProcess": "bw",
"actionType": "subOtherOrder",
"sign": "0E4DF9C01DE69BEB8B8959119F2E4CD7",
"isUser": "yes",
"actionBody": {
"itemCode": "dbsbzc",//产品渠道编码
"channelUser": {
"channelUserId": "15010929366" //渠道用户唯一标识
},
"apply": {
"orderType": "zzdd",//默认值
"contacts": "songyi",// Y 姓名
"mobile": "15010929344",// Y 手机号
"email": "qq@qq.com",// N 邮箱
"notes": "d"// N 备注
},
"tm": {
"totalSum": 1399,// Y 金额
"quantity": 1 // Y 数量
}
}
}
```
#### 返回结果
```javascript
{
"status": 0,
"msg": "success",
"data": {
"channelItemCode":"zzsbzc",
"deliveryOrderNo":"JF202001131450vQbUhS",
"orderNo":"TM202001131450WnSmDQ",
"channelParams":{}
},
"requestid": "2016c54abe7249a2a1195d236b333f79"
}
```
## **<a name="subTmOrder"> 商标提报</a>** ## **<a name="subTmOrder"> 商标提报</a>**
[返回到目录](#menu) [返回到目录](#menu)
##### URL ##### URL
...@@ -498,8 +550,9 @@ ...@@ -498,8 +550,9 @@
"status": 0, "status": 0,
"msg": "success", "msg": "success",
"data": { "data": {
" deliveryOrderNo": "346c3091684e4e57a7639bec30eef5f7", "channelItemCode":"zzsbzc",
" channelServiceNo": "346c3091684e4e0eef", "deliveryOrderNo":"JF202001131450vQbUhS",
"orderNo":"TM202001131450WnSmDQ",
"channelParams":{} "channelParams":{}
}, },
"requestid": "2016c54abe7249a2a1195d236b333f79" "requestid": "2016c54abe7249a2a1195d236b333f79"
......
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