Commit 4f338a1c by Sxy

feat: 工商推送启服通

parent 93fd114c
...@@ -20,33 +20,28 @@ class CompanycaseService extends ServiceBase { ...@@ -20,33 +20,28 @@ class CompanycaseService extends ServiceBase {
const deliverData = await this.deliveryDao.findOne({ const deliverData = await this.deliveryDao.findOne({
id: pobj.deliver_id id: pobj.deliver_id
}); });
if (!deliverData) { if (!deliverData) {
throw new Error("查不到此交付单"); throw new Error("查不到此交付单");
} }
// await TOQFT.getClientByType(deliverData.product_code).submitMaterials(pobj.username, deliverData, pobj.cache_info);
return this.db.transaction(async (t) => { return this.db.transaction(async (t) => {
await this.cacheinfoDao.createOrUpdate(pobj, t); await this.cacheinfoDao.createOrUpdate(pobj, t);
await this.newmaterialDao.createOrUpdate(pobj, t); await this.newmaterialDao.createOrUpdate(pobj, t);
// if ([system.SERVERSESTATUS.COLLECTING, system.SERVERSESTATUS.USERCONFIRMATIONREJECT].includes(deliverData.delivery_status)) { if ([system.SERVERSESTATUS.COLLECTING].includes(deliverData.delivery_status)) {
// let status; let status = System.SERVERSESTATUS.AUDITING;
// if (deliverData.source_number === "aliCloud") { await this.deliveryDao.updateByWhere({
// status = system.SERVERSESTATUS.USERCONFIRMATIONWAIT delivery_status: status
// } else { }, {
// status = system.SERVERSESTATUS.COLLECTSUCCESS; id: pobj.deliver_id
// } }, t);
// await this.deliveryDao.updateByWhere({ this.statuslogDao.create({
// delivery_status: status flow_type: system.FLOWCODE.DELIVERY,
// }, { flow_id: pobj.deliver_id,
// id: pobj.deliver_id status_code: status,
// }, t); salesman_id: pobj.userid,
// this.statuslogDao.create({ salesman_name: pobj.username
// flow_type: system.FLOWCODE.DELIVERY, });
// flow_id: pobj.deliver_id, }
// status_code: status,
// salesman_id: pobj.userid,
// salesman_name: pobj.username
// });
// }
return "SUCCESS" return "SUCCESS"
}); });
} }
...@@ -60,24 +55,38 @@ class CompanycaseService extends ServiceBase { ...@@ -60,24 +55,38 @@ class CompanycaseService extends ServiceBase {
} }
let status; let status;
switch (deliverData.delivery_status) { switch (deliverData.delivery_status) {
// case system.SERVERSESTATUS.THROUGH: case system.SERVERSESTATUS.RECEIVED:
// status = system.SERVERSESTATUS.SUCCESS; if (deliverData.product_code === System.SERVICECODE.COMPANYCASE) {
// break status = system.SERVERSESTATUS.COLLECTING;
// default: } else {
// throw new Error("此状态手动不能更改"); status = system.SERVERSESTATUS.SERVICEING;
} }
// await this.deliveryDao.updateByWhere({ break
// delivery_status: status case system.SERVERSESTATUS.AUDITING: // 工商审核环节
// }, { status = system.SERVERSESTATUS.ENGRAVING;
// id: pobj.id break
// }) case system.SERVERSESTATUS.ENGRAVING: // 刻章环节
// this.statuslogDao.create({ status = system.SERVERSESTATUS.SUCCESS;
// flow_type: system.FLOWCODE.DELIVERY, break
// flow_id: pobj.id, case system.SERVERSESTATUS.SERVICEING: // 服务中
// status_code: status, status = system.SERVERSESTATUS.SUCCESS;
// salesman_id: pobj.userid, break
// salesman_name: pobj.username default:
// }); throw new Error("此状态手动不能更改");
}
// await TOQFT.getClientByType(deliverData.product_code).changeStatus(pobj.username, deliverData);
await this.deliveryDao.updateByWhere({
delivery_status: status
}, {
id: pobj.id
})
this.statuslogDao.create({
flow_type: system.FLOWCODE.DELIVERY,
flow_id: pobj.id,
status_code: status,
salesman_id: pobj.userid,
salesman_name: pobj.username
});
return "SUCCESS" return "SUCCESS"
} }
} }
......
const BaseClient = require("./baseClient")
const settings = require("../../../config/settings");
const system = require("../../system");
const { appKey, secret } = settings;
/**
* 工商 产品
*/
class GongshangClient extends BaseClient {
constructor() {
super(appKey, secret, "/web/action/regapi/springBoard");
this.instance = null;
this.CIRCUITSTATUS = {
RECEIVED: 701,//已接单
COLLECTING: 702,//材料收集环节
AUDITING: 703,//工商审核环节
ENGRAVING: 704,//刻章环节
SUCCESS: 705,//已完成
}
}
static getInstance() {
if (!this.instance) {
this.instance = new GongshangClient();
}
return this.instance;
}
async submitMaterials(username, deliverData, materials) {
const { companyInfo, materialFile, } = materials;
// TODO: 封装材料
let status;
switch (deliverData.delivery_status) {
case system.SERVERSESTATUS.COLLECTING: // 工商审核环节
status = this.CIRCUITSTATUS.COLLECTING;
break
case system.SERVERSESTATUS.AUDITING: // 工商审核环节
status = this.CIRCUITSTATUS.AUDITING;
break
case system.SERVERSESTATUS.ENGRAVING: // 刻章环节
status = this.CIRCUITSTATUS.ENGRAVING;
break
case system.SERVERSESTATUS.SUCCESS: // 服务中
status = system.SERVERSESTATUS.SUCCESS;
break
default:
throw new Error("此状态手动不能更改");
}
await this.pushQiFuTong(username, {
actionType: "regUpdateOrderStatus",
actionBody: {
orderNo: deliverData.delivery_code,
status,
}
});
}
async changeStatus(username, deliverData, materials = {}) {
let status;
switch (deliverData.delivery_status) {
case system.SERVERSESTATUS.RECEIVED:
if (deliverData.product_code === System.SERVICECODE.COMPANYCASE) {
status = this.CIRCUITSTATUS.COLLECTING;
} else {
status = "TODO:";
}
break
case system.SERVERSESTATUS.AUDITING: // 工商审核环节
status = this.CIRCUITSTATUS.ENGRAVING;
break
case system.SERVERSESTATUS.ENGRAVING: // 刻章环节
status = this.CIRCUITSTATUS.SUCCESS;
break
case system.SERVERSESTATUS.SERVICEING: // 服务中
status = system.SERVERSESTATUS.SUCCESS;
break
default:
throw new Error("此状态手动不能更改");
}
await this.pushQiFuTong(username, {
actionType: "regUpdateOrderStatus",
actionBody: {
orderNo: deliverData.delivery_code,
status,
}
});
}
}
module.exports = GongshangClient
\ No newline at end of file
...@@ -5,7 +5,7 @@ const { appKey, secret } = settings; ...@@ -5,7 +5,7 @@ const { appKey, secret } = settings;
/** /**
* 广播电视 产品 * 广播电视 产品
*/ */
class WangwenClient extends BaseClient { class GuangboClient extends BaseClient {
constructor() { constructor() {
super(appKey, secret, "/web/action/qcapi/springBoard"); super(appKey, secret, "/web/action/qcapi/springBoard");
this.instance = null; this.instance = null;
...@@ -21,7 +21,7 @@ class WangwenClient extends BaseClient { ...@@ -21,7 +21,7 @@ class WangwenClient extends BaseClient {
static getInstance() { static getInstance() {
if (!this.instance) { if (!this.instance) {
this.instance = new WangwenClient(); this.instance = new GuangboClient();
} }
return this.instance; return this.instance;
} }
...@@ -104,4 +104,4 @@ class WangwenClient extends BaseClient { ...@@ -104,4 +104,4 @@ class WangwenClient extends BaseClient {
} }
} }
module.exports = WangwenClient module.exports = GuangboClient
\ No newline at end of file \ No newline at end of file
...@@ -2,6 +2,8 @@ const vatClient = require("./vatClient") ...@@ -2,6 +2,8 @@ const vatClient = require("./vatClient")
const wangwenClient = require("./wangwenClient") const wangwenClient = require("./wangwenClient")
const pannongClient = require("./pannongClient") const pannongClient = require("./pannongClient")
const guangboClient = require("./guangboClient") const guangboClient = require("./guangboClient")
const gongshangClient = require("./gongshangClient")
const system = require("../../system"); const system = require("../../system");
...@@ -21,13 +23,14 @@ function getClientByType(type) { ...@@ -21,13 +23,14 @@ function getClientByType(type) {
return pannongClient.getInstance(); return pannongClient.getInstance();
case system.SERVICECODE.GUANGBO: case system.SERVICECODE.GUANGBO:
return guangboClient.getInstance(); return guangboClient.getInstance();
case system.SERVICECODE.COMPANYCASE:
case system.SERVICECODE.SEALSEVCASE:
return gongshangClient.getInstance();
default: default:
throw new Error("无此产品类型"); throw new Error("无此产品类型");
} }
} }
module.exports = { module.exports = {
vatClient: new vatClient(),
wangwenClient: new wangwenClient(),
getClientByType getClientByType
} }
\ 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