Commit 9168ce65 by 庄冰

orderdelivery

parent 303c8f07
...@@ -57,6 +57,9 @@ class OrderAPI extends APIBase { ...@@ -57,6 +57,9 @@ class OrderAPI extends APIBase {
opResult = await this.orderinfoSve.putReceiptVoucherInfo(pobj, pobj.actionBody); opResult = await this.orderinfoSve.putReceiptVoucherInfo(pobj, pobj.actionBody);
break; break;
//--------------------------------支付相关接口------------结束 //--------------------------------支付相关接口------------结束
case "tmConfirm"://商标方案确认
opResult = await this.orderinfoSve.tmConfirm(pobj);
break;
default: default:
opResult = system.getResult(null, "action_type参数错误"); opResult = system.getResult(null, "action_type参数错误");
break; break;
......
...@@ -4,7 +4,7 @@ const uiconfig = system.getUiConfig2(settings.appKey); ...@@ -4,7 +4,7 @@ const uiconfig = system.getUiConfig2(settings.appKey);
module.exports = (db, DataTypes) => { module.exports = (db, DataTypes) => {
return db.define("orderinfo", { return db.define("orderinfo", {
uapp_id :DataTypes.INTEGER,// uapp_id :DataTypes.INTEGER,//
solutionId :DataTypes.STRING(128),// 方案ID // solutionId :DataTypes.STRING(128),// 方案ID
orderNo :DataTypes.STRING(128),// 订单号 orderNo :DataTypes.STRING(128),// 订单号
channelServiceNo :DataTypes.STRING(128),// 渠道服务单号 channelServiceNo :DataTypes.STRING(128),// 渠道服务单号
channelOrderNo :DataTypes.STRING(128),// 渠道订单号(页面中列表中显示该单号) channelOrderNo :DataTypes.STRING(128),// 渠道订单号(页面中列表中显示该单号)
...@@ -36,6 +36,7 @@ module.exports = (db, DataTypes) => { ...@@ -36,6 +36,7 @@ module.exports = (db, DataTypes) => {
invoiceApplyStatus :DataTypes.STRING(10),// 发票状态:00: 未申请, 10: 已申请,20:已开票 invoiceApplyStatus :DataTypes.STRING(10),// 发票状态:00: 未申请, 10: 已申请,20:已开票
opNotes :DataTypes.STRING,// 备注 opNotes :DataTypes.STRING,// 备注
notes :DataTypes.STRING,// 备注 notes :DataTypes.STRING,// 备注
isSolution :DataTypes.INTEGER,// 是否有方案,0无,1有
}, { }, {
paranoid: true,//假的删除 paranoid: true,//假的删除
underscored: true, underscored: true,
......
...@@ -4,12 +4,35 @@ const uuidv4 = require('uuid/v4'); ...@@ -4,12 +4,35 @@ const uuidv4 = require('uuid/v4');
class InternalCallsNotifyService { class InternalCallsNotifyService {
constructor() { constructor() {
this.orderinfoDao = system.getObject("db.dbcorder.orderinfoDao"); this.orderinfoDao = system.getObject("db.dbcorder.orderinfoDao");
this.delivery_status={
"dqrfa": "待确认方案",
"fabtg": "方案不通过",
"dfwsfw": "待服务",
"dsccl": "待上传材料",
"dsh": "待审核",
"ddj": "待递交",
"ydj": "已递交",
"ywc": "已完成"
};
this.statusContrast={
"WAITCONFIRM":{name:"待确认方案",value:"dqrfa"},
"CONFIRMFAIL":{name:"方案不通过",value:"fabtg"},
"READY":{name:"待上传材料",value:"dsccl"},
"WAITCOMMIT":{name:"待递交",value:"ddj"},
"WAITARTIFICIALEXAMINE":{name:"待审核",value:"dsh"},
"DOCFINISH": {name:"待审核",value:"dsh"},
"AWAITCHECK": {name:"待审核",value:"dsh"},
"COMMITED": {name:"已递交",value:"ydj"},
"ROBOT": {name:"已递交",value:"ydj"},
"ROBOTPAY": {name:"已递交",value:"ydj"},
"RECVCOMMIT": {name:"已递交",value:"ydj"},
};
} }
//接收辅助、担保商标注册信息 //接收辅助、担保商标注册信息
async receiveAssistTmData(pobj){ async receiveAssistTmData(pobj){
var checkRes = await this.checkParams(pobj); var checkRes = await this.checkParams(pobj);
if(checkRes.status==0){ if(checkRes.status==0){
var deliveryData = await this.packagingTmDeliveryData(pobj); var deliveryData = await this.packagingTmDeliveryData(pobj,null);
//获取交付信息 //获取交付信息
var orderdeliveryRes = await this.getOrderDelivery(pobj.sourceOrderNo,pobj.serviceNo); var orderdeliveryRes = await this.getOrderDelivery(pobj.sourceOrderNo,pobj.serviceNo);
if(orderdeliveryRes && orderdeliveryRes.length>0){ if(orderdeliveryRes && orderdeliveryRes.length>0){
...@@ -30,7 +53,8 @@ class InternalCallsNotifyService { ...@@ -30,7 +53,8 @@ class InternalCallsNotifyService {
if(!orderdeliveryRes || orderdeliveryRes.length<1){ if(!orderdeliveryRes || orderdeliveryRes.length<1){
return system.getResult(null,"未知交付信息,10150"); return system.getResult(null,"未知交付信息,10150");
} }
var deliveryData = await this.packagingTmDeliveryData(pobj); var orderdelivery = orderdeliveryRes[0];
var deliveryData = await this.packagingTmDeliveryData(pobj,orderdelivery.deliveryContent);
this.putOrderDelivery(deliveryData,deliveryData.sourceOrderNo,deliveryData.serviceNo); this.putOrderDelivery(deliveryData,deliveryData.sourceOrderNo,deliveryData.serviceNo);
return system.getResultSuccess(); return system.getResultSuccess();
}else{ }else{
...@@ -98,37 +122,32 @@ class InternalCallsNotifyService { ...@@ -98,37 +122,32 @@ class InternalCallsNotifyService {
} }
return system.getResultSuccess(pobj); return system.getResultSuccess(pobj);
} }
async packagingTmDeliveryData(pobj) {//重新组装商标交付信息 async packagingTmDeliveryData(pobj,deliveryData) {//重新组装商标交付信息
var deliveryStatus = "dsccl"; var deliveryStatusList = [];
var deliveryStatusName = "待上传材料"; if(deliveryData && deliveryData.deliveryStatusList){
var deliveryStatusList = [{ deliveryStatusList = deliveryData.deliveryStatusList;
deliveryStatus: "dsccl", }
deliveryStatusName: "待上传材料", var nclOne = pobj.nclones[0];
deliveryUpdated: new Date() if(nclOne.tmStatus){
}]; var deliveryStatusObj = this.statusContrast[nclOne.tmStatus];
if (pobj.apply.customerType == "ent") { if(deliveryStatusObj && deliveryStatusObj.value){
if (pobj.apply.businessLicensePdf && pobj.apply.gzwtsUrl) { var deliveryStatus = deliveryStatusObj.value;
deliveryStatus = "dsh"; var deliveryStatusName = deliveryStatusObj.name;
deliveryStatusName = "待审核";
deliveryStatusList.push({ deliveryStatusList.push({
deliveryStatus: deliveryStatus, deliveryStatus: deliveryStatus,
deliveryStatusName: deliveryStatusName, deliveryStatusName: deliveryStatusName,
deliveryUpdated: new Date() deliveryUpdated: new Date()
}); });
} pobj.deliveryStatus = deliveryStatus;
} else { pobj.deliveryStatusName = deliveryStatusName;
if (pobj.apply.businessLicensePdf && pobj.apply.gzwtsUrl && pobj.apply.identityCardPdf) { }else{
deliveryStatus = "dsh";
deliveryStatusName = "待审核";
deliveryStatusList.push({ deliveryStatusList.push({
deliveryStatus: deliveryStatus, deliveryStatus: nclOne.tmStatus,
deliveryStatusName: deliveryStatusName, deliveryStatusName: nclOne.tmStatus,
deliveryUpdated: new Date() deliveryUpdated: new Date()
}); });
} }
} }
pobj.deliveryStatus = deliveryStatus;
pobj.deliveryStatusName = deliveryStatusName;
pobj.deliveryStatusList = deliveryStatusList; pobj.deliveryStatusList = deliveryStatusList;
pobj.opNotes = ""; //操作备注 pobj.opNotes = ""; //操作备注
return pobj; return pobj;
...@@ -148,5 +167,6 @@ class InternalCallsNotifyService { ...@@ -148,5 +167,6 @@ class InternalCallsNotifyService {
sql = sql + " and deliveryContent->'$.serviceNo' = '"+channelOrderNo+"'"; sql = sql + " and deliveryContent->'$.serviceNo' = '"+channelOrderNo+"'";
return await this.orderinfoDao.customQuery(sql); return await this.orderinfoDao.customQuery(sql);
} }
//----------------------------------------------------------------------------------------------------------
} }
module.exports = InternalCallsNotifyService; module.exports = InternalCallsNotifyService;
\ No newline at end of file
...@@ -731,6 +731,10 @@ class OrderInfoService extends ServiceBase { ...@@ -731,6 +731,10 @@ class OrderInfoService extends ServiceBase {
orderNo + "','" + JSON.stringify(data) + "')"; orderNo + "','" + JSON.stringify(data) + "')";
this.customQuery(sql); this.customQuery(sql);
} }
async getOrderDelivery(orderNo) {//查询交付信息
var sql = "select * from `c_order_delivery` where sourceOrderNo='" + orderNo + "'";
return await this.customQuery(sql);
}
async delOrder(pobj, actionBody) {//删除订单 async delOrder(pobj, actionBody) {//删除订单
await this.dao.delOrderByOrderNo(actionBody.orderNo, pobj.appInfo.uapp_id, pobj.userInfo.channel_userid); await this.dao.delOrderByOrderNo(actionBody.orderNo, pobj.appInfo.uapp_id, pobj.userInfo.channel_userid);
return system.getResultSuccess(); return system.getResultSuccess();
...@@ -1175,6 +1179,98 @@ class OrderInfoService extends ServiceBase { ...@@ -1175,6 +1179,98 @@ class OrderInfoService extends ServiceBase {
} }
//-------------------------------服务商通知订单流程-------------end---------------- //-------------------------------服务商通知订单流程-------------end----------------
//商标方案确认
async tmConfirm(pobj) {
var ab = pobj.actionBody;
var self = this;
var user = pobj.userInfo;
var app = pobj.appInfo;
if (!user || !user.id) {
return system.getResultFail(-100, "未知用户");
}
if (!app || !app.id) {
return system.getResultFail(-100, "未知渠道");
}
var channelUserId = user.channel_userid;
var orderNo = ab.orderNo;
var isConfirm = ab.isConfirm;
if (!channelUserId) {
return system.getResultFail(-101, "渠道用户id不能为空");
}
if (!orderNo) {
return system.getResultFail(-102, "订单号不能为空");
}
if (!isConfirm) {
return system.getResultFail(-103, "确认码不能为空");
}
//获取订单信息
var orderinfo = await this.dao.model.findOne({
where:{orderNo:orderNo,uapp_id:app.uapp_id},raw:true
});
if (!orderinfo || !orderinfo.id) {
return system.getResultFail(-110, "未知订单信息");
}
if (orderinfo.isSolution != 1) {
return system.getResultFail(-111, "该订单无方案,不能执行此操作");
}
//获取交付单信息
var orderdeliveryRes = await this.getOrderDelivery(orderNo);
if (!orderdeliveryRes || !orderdeliveryRes.length<1) {
return system.getResultFail(-104, "未知订单交付信息");
}
var orderdelivery = orderdelivery[0];
var deliveryContent = orderdelivery.deliveryContent;
if (!deliveryContent || !deliveryContent.deliveryStatus || deliveryContent.deliveryStatus != "dqrfa") {
return system.getResultFail(-105, "方案确认失败,该方案交付状态为" + ordertmproduct.deliveryStatusName);
}
if(!deliveryContent.deliveryStatusList){
deliveryContent.deliveryStatusList = [];
}
return await self.db.transaction(async function (t) {
var orderLog = {
uapp_id: app.uapp_id,
sourceOrderNo: orderNo,
opContent: "商标方案确认",
isShow: 1
};
var orderInfoObj = {
id:orderinfo.id
};
if (isConfirm == "0") {
if (!ab.notes) {
return system.getResultFail(-106, "方案确认失败,不通过原因不能为空");
}
deliveryContent["deliveryStatus"] = "fabtg";
deliveryContent["deliveryStatusName"] = "方案不通过";
deliveryContent["opNotes"] = ab.notes;
orderLog["opContent"] = "商标方案不通过";
deliveryContent.deliveryStatusList.push({
deliveryStatus:"fabtg",
deliveryStatusName: "方案不通过",
deliveryUpdated: new Date()
});
orderInfoObj["isSolution"]=0;
}
if (isConfirm == "1") {
deliveryContent["deliveryStatus"] = "dsh";
deliveryContent["deliveryStatusName"] = "待审核";
deliveryContent["opNotes"] = obj.notes || "";
orderLog["opContent"] = "商标方案确认通过";
deliveryContent.deliveryStatusList.push({
deliveryStatus:"dsh",
deliveryStatusName: "待审核",
deliveryUpdated: new Date()
});
orderInfoObj["isSolution"]=0;
}
self.putOrderDelivery(deliveryContent,orderNo);//修改订单交付信息
await self.dao.update(orderInfoObj, t);//修改订单信息
await self.flowlogDao.create(orderLog, t);//添加流程信息
return system.getResultSuccess();
})
}
} }
module.exports = OrderInfoService; module.exports = OrderInfoService;
\ No newline at end of file
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