Commit 3fb27d0c by 宋毅

新接口

parents 846ee4e8 5b56539f
...@@ -80,6 +80,21 @@ class RegAPI extends APIBase { ...@@ -80,6 +80,21 @@ class RegAPI extends APIBase {
case "againPushYf"://单独重新推送数据到云服 case "againPushYf"://单独重新推送数据到云服
opResult = await this.utilsPushSve.business2Channel(pobj, pobj.opType); opResult = await this.utilsPushSve.business2Channel(pobj, pobj.opType);
break; break;
case "submitGongshangLicense"://百度工商注册新流程接口:公司注册完成后,供应商将营业执照回传百度云
opResult = await this.regCenterOrderSve.submitGongshangLicense(pobj);
break;
case "submitGongshangEngraving"://百度工商注册新流程接口:刻章环节,供应商使用此接口同步刻章信息
opResult = await this.regCenterOrderSve.submitGongshangEngraving(pobj);
break;
case "updateGongshangRegStatus"://百度工商注册新流程接口:将工商注册流程状态更新给百度
opResult = await this.regCenterOrderSve.updateGongshangRegStatus(pobj);
break;
case "submitGongshangMaterial"://百度工商注册新流程接口:供应商变更用户申请材料
opResult = await this.regCenterOrderSve.submitGongshangMaterial(pobj);
break;
case "getGongshangMaterial"://百度工商注册新流程接口:供应商获取工商注册信息详情
opResult = await this.regCenterOrderSve.getGongshangMaterial(pobj);
break;
//-----------接入百度reg------end---------------------------- //-----------接入百度reg------end----------------------------
default: default:
opResult = system.getResult(null, "action_type参数错误"); opResult = system.getResult(null, "action_type参数错误");
......
...@@ -7,8 +7,32 @@ class Order extends APIBase { ...@@ -7,8 +7,32 @@ class Order extends APIBase {
constructor() { constructor() {
super(); super();
this.gatewaypushlogSve = system.getObject("service.common.gatewaypushlogSve"); this.gatewaypushlogSve = system.getObject("service.common.gatewaypushlogSve");
this.utilsPushSve = system.getObject("service.utilsSve.utilsPushSve");
} }
// 20220423 baidu 工商注册新流程 提交公司注册申请材料 baidu->公司宝
async submitMaterial(pobj,req){
const params = JSON.stringify(pobj)
console.log(">>> 提交工商注册申请材料 start...",params)
this.execClientNew.execLogs(`>>> 提交工商注册申请材料 start...`, params, "center-channel-order-submitMaterial", null, null);
if(!pobj){
return regCfg.getResultFail("orderNo不能为空");
}
// 将数据推送到资质宝
var deliveryObj = {
actionBody: {
...pobj,
servicer: {
code: 'gsb',
name: '公司宝'
}
},
appInfo: pobj.appInfo
};
console.log(`>>> 提交工商注册申请材料 参数...${JSON.stringify(deliveryObj)}`);
await this.utilsPushSve.business2Channel(deliveryObj, "pushOrderDeliveryMaterial");
return regCfg.getResultSuccess(pobj.requestId);
}
//状态变更 //状态变更
async notify(pobj, req) { async notify(pobj, req) {
......
...@@ -62,6 +62,108 @@ class baiduRegClient { ...@@ -62,6 +62,108 @@ class baiduRegClient {
return result; return result;
} }
async baiduGet( path) {
// console.log('actionBody++',actionBody)
let domain = this.baiduRegClientParams.domain;
let url = domain+path;
let version ="bce-auth-v1";
let accessKey = this.baiduRegClientParams.accessKey;
let secretKey = this.baiduRegClientParams.secretKey;
let timestamp = new Date().toISOString()
let site = timestamp.lastIndexOf(".");
timestamp = timestamp.substring(0,site)+"Z"
let signedHeaders = "host";
let extime = 1800;
let canonicalHeaders = "host:"+this.baiduRegClientParams.host;
//中间结果1:规范化请求和前缀字符串
var canonicalRequest = null
var pathParams = path.split("?");
if(pathParams && pathParams.length > 1){
canonicalRequest = "GET" + "\n" + pathParams[0] + "\n" + pathParams[1] + "\n" + canonicalHeaders;
}else{
canonicalRequest = "GET" + "\n" + path + "\n" + "\n" + canonicalHeaders;
}
// let canonicalRequest = "POST" + "\n" + path + "\n" + "\n" + canonicalHeaders;
// console.log('canonicalRequest+++++++',canonicalRequest)
//authStringPrefix(前缀字符串,由除sk字段外的签名信息生成)
let authStringPrefix = version+"/"+accessKey+"/"+timestamp+"/"+extime;
//中间结果2:派生签名密钥 signingKey
let signingKey = crypto.createHmac('sha256', secretKey)
.update(authStringPrefix)
.digest('hex');
//中间结果3:签名摘要 signature
let signature = crypto.createHmac('sha256', signingKey)
.update(canonicalRequest)
.digest('hex');
//最终结果:认证字符串 authorization
let authorization = authStringPrefix+"/"+signedHeaders+"/"+signature;
var baiduObj={
authorization:authorization
}
var rtn = await this.execClient.execBaiduGet(baiduObj, url);
this.execClientNew.execLogs("api-center-channel-baiduGet:"+url, baiduObj, "center-channel-baiduGet", rtn, null);
// console.log("baiduObj+++++",baiduObj)
// console.log("url+++++",url)
// console.log("rtn+++++",rtn)
if (!rtn || !rtn.stdout) {
return system.getResult(null, "execGet data is empty");
}
var result = JSON.parse(rtn.stdout);
return result;
}
//2022 chensc put调用百度网关
async baiduPut( path, actionBody) {
// console.log('actionBody++',actionBody)
let domain = this.baiduRegClientParams.domain;
let url = domain+path;
let version ="bce-auth-v1";
let accessKey = this.baiduRegClientParams.accessKey;
let secretKey = this.baiduRegClientParams.secretKey;
let timestamp = new Date().toISOString()
let site = timestamp.lastIndexOf(".");
timestamp = timestamp.substring(0,site)+"Z"
let signedHeaders = "host";
let extime = 1800;
let canonicalHeaders = "host:"+this.baiduRegClientParams.host;
//中间结果1:规范化请求和前缀字符串
var canonicalRequest = null
var pathParams = path.split("?");
if(pathParams && pathParams.length > 1){
canonicalRequest = "PUT" + "\n" + pathParams[0] + "\n" + pathParams[1] + "\n" + canonicalHeaders;
}else{
canonicalRequest = "PUT" + "\n" + path + "\n" + "\n" + canonicalHeaders;
}
// let canonicalRequest = "POST" + "\n" + path + "\n" + "\n" + canonicalHeaders;
// console.log('canonicalRequest+++++++',canonicalRequest)
//authStringPrefix(前缀字符串,由除sk字段外的签名信息生成)
let authStringPrefix = version+"/"+accessKey+"/"+timestamp+"/"+extime;
//中间结果2:派生签名密钥 signingKey
let signingKey = crypto.createHmac('sha256', secretKey)
.update(authStringPrefix)
.digest('hex');
//中间结果3:签名摘要 signature
let signature = crypto.createHmac('sha256', signingKey)
.update(canonicalRequest)
.digest('hex');
//最终结果:认证字符串 authorization
let authorization = authStringPrefix+"/"+signedHeaders+"/"+signature;
var baiduObj={
authorization:authorization,
data:actionBody
}
var rtn = await this.execClient.execBaiduPut(baiduObj, url);
this.execClientNew.execLogs("api-center-channel-baiduPut:"+url, baiduObj, "center-channel-baiduPut", rtn, null);
// console.log("baiduObj+++++",baiduObj)
// console.log("url+++++",url)
// console.log("rtn+++++",rtn)
if (!rtn || !rtn.stdout) {
return system.getResult(null, "execPut data is empty");
}
var result = JSON.parse(rtn.stdout);
return result;
}
//百度接口 2020-10-27 laolan //百度接口 2020-10-27 laolan
async baiduReqbyget(obj, cbk) { async baiduReqbyget(obj, cbk) {
var path = obj.path; var path = obj.path;
...@@ -101,6 +203,77 @@ class baiduRegClient { ...@@ -101,6 +203,77 @@ class baiduRegClient {
return system.getResultFail(-200, "出现异常,error:" + e.stack); return system.getResultFail(-200, "出现异常,error:" + e.stack);
} }
} }
//百度接口 2020-10-27 laolan
async baiduReqbyGet1(obj, cbk) {
var path = obj.path;
try {
var res = await this.baiduGet(path);
console.log('baidu++++res+++',res)
this.pushlogSve.createDb({
op: "new-baiduRegReqbyGet1",
content: JSON.stringify(obj),//推送的参数信息
resultInfo: JSON.stringify(res),
returnType: '1',
logLevel: '1',
opTitle: "new-baiduReqbyGet1推送百度信息返回成功"
});
return system.getResultSuccess(res);
} catch (e) {
this.pushlogSve.createFailLogDb({
appid: obj.appInfo ? obj.appInfo.uapp_id || "" : "",
appkey: obj.appInfo ? obj.appInfo.uapp_key || "" : "",
requestId: obj.requestId || "",
content: JSON.stringify(obj),//推送的参数信息
resultInfo: "error:" + JSON.stringify(e),
clientIp: obj.clientIp || "",
failType: 1,
opTitle: "new-baiduRegReqbyGet1推送百度信息返回异常",
pushNumber: obj.pushNumber || 1
});
return system.getResultFail(-200, "出现异常,error:" + e.stack);
}
}
//百度接口 2022-04-23
async baiduReqbyput(obj, cbk) {
var path = obj.path;
var reqbody = obj.reqbody;
try {
var res = await this.baiduPut( path, reqbody, {
timeout: 10000, // default 3000 ms 修改3000为10000,原因ConfirmIcpIntention BizIds 超过5条会超时
formatAction: true, // default true, format the action to Action
formatParams: true, // default true, format the parameter name to first letter upper case
method: 'PUT', // set the http method, default is GET
headers: {
host:this.baiduRegClientParams.host
}, // set the http request headers
});
console.log('baiduReqbyput++++res+++',res)
this.pushlogSve.createDb({
op: "new-baiduRegReqbyput",
content: JSON.stringify(obj),//推送的参数信息
resultInfo: JSON.stringify(res),
returnType: '1',
logLevel: '1',
opTitle: "new-baiduReqbyput推送百度信息返回成功"
});
return system.getResultSuccess(res);
} catch (e) {
this.pushlogSve.createFailLogDb({
appid: obj.appInfo ? obj.appInfo.uapp_id || "" : "",
appkey: obj.appInfo ? obj.appInfo.uapp_key || "" : "",
requestId: obj.requestId || "",
content: JSON.stringify(obj),//推送的参数信息
resultInfo: "error:" + JSON.stringify(e),
clientIp: obj.clientIp || "",
failType: 1,
opTitle: "new-baiduRegReqbyput推送百度信息返回异常",
pushNumber: obj.pushNumber || 1
});
return system.getResultFail(-200, "出现异常,error:" + e.stack);
}
}
} }
module.exports = baiduRegClient; module.exports = baiduRegClient;
// var task = new baiduRegClient(); // var task = new baiduRegClient();
......
...@@ -15,8 +15,13 @@ class ExecClient { ...@@ -15,8 +15,13 @@ class ExecClient {
//360 //360
this.cmd360PostPattern = "curl -u gongsibao:qPa4PsVsxbQ847i5pOKSmfPKrzRoNKqx -d '{data}' -X POST {url}" this.cmd360PostPattern = "curl -u gongsibao:qPa4PsVsxbQ847i5pOKSmfPKrzRoNKqx -d '{data}' -X POST {url}"
this.cmdBaiduGetPattern = "curl -k -X GET -H 'Authorization: {Authorization}' {url}";
this.cmdBaiduPostPattern = "curl -k -H 'Content-type: application/json' -H 'Authorization: {Authorization}' -d '{data}' {url}"; this.cmdBaiduPostPattern = "curl -k -H 'Content-type: application/json' -H 'Authorization: {Authorization}' -d '{data}' {url}";
this.cmdBaiduPutPattern = "curl -X PUT -k -H 'Content-type: application/json' -H 'Authorization: {Authorization}' -d '{data}' {url}";
this.cmdGetpatternToken = "curl -G -k -H 'authorization:{token}' -d '{data}' {url}"; this.cmdGetpatternToken = "curl -G -k -H 'authorization:{token}' -d '{data}' {url}";
//易名 //易名
...@@ -57,6 +62,13 @@ class ExecClient { ...@@ -57,6 +62,13 @@ class ExecClient {
console.log(cmd); console.log(cmd);
return cmd; return cmd;
} }
FetchBaiduGetCmd(subData, url) {
var cmd = this.cmdBaiduGetPattern.replace(/\{url\}/g, url).replace(/\{Authorization\}/g, subData.authorization);
console.log(cmd);
return cmd;
}
FetchBaiduPostCmd(subData, url) { FetchBaiduPostCmd(subData, url) {
var data = JSON.stringify(subData.data); var data = JSON.stringify(subData.data);
var cmd = this.cmdBaiduPostPattern.replace(/\{data\}/g, var cmd = this.cmdBaiduPostPattern.replace(/\{data\}/g,
...@@ -64,6 +76,15 @@ class ExecClient { ...@@ -64,6 +76,15 @@ class ExecClient {
console.log(cmd); console.log(cmd);
return cmd; return cmd;
} }
FetchBaiduPutCmd(subData, url) {
var data = JSON.stringify(subData.data);
var cmd = this.cmdBaiduPutPattern.replace(/\{data\}/g,
data).replace(/\{url\}/g, url).replace(/\{Authorization\}/g, subData.authorization);
console.log(cmd);
return cmd;
}
FetchEnamePostCmd(subData, url) { FetchEnamePostCmd(subData, url) {
var data = JSON.stringify(subData); var data = JSON.stringify(subData);
var cmd = this.cmdEnamePostPattern.replace(/\{data\}/g, var cmd = this.cmdEnamePostPattern.replace(/\{data\}/g,
...@@ -98,11 +119,25 @@ class ExecClient { ...@@ -98,11 +119,25 @@ class ExecClient {
var result = await this.exec(cmd); var result = await this.exec(cmd);
return result; return result;
} }
async execBaiduPut(subData, url) {
let cmd = this.FetchBaiduPutCmd(subData, url);
var result = await this.exec(cmd);
return result;
}
async execBaiduPost(subData, url) { async execBaiduPost(subData, url) {
let cmd = this.FetchBaiduPostCmd(subData, url); let cmd = this.FetchBaiduPostCmd(subData, url);
var result = await this.exec(cmd); var result = await this.exec(cmd);
return result; return result;
} }
async execBaiduGet(subData, url) {
let cmd = this.FetchBaiduGetCmd(subData, url);
var result = await this.exec(cmd);
return result;
}
async execEnamePost(subData, url) { async execEnamePost(subData, url) {
let cmd = this.FetchEnamePostCmd(subData, url); let cmd = this.FetchEnamePostCmd(subData, url);
var result = await this.exec(cmd); var result = await this.exec(cmd);
......
...@@ -22,7 +22,7 @@ module.exports = { ...@@ -22,7 +22,7 @@ module.exports = {
//百度工商注册 //百度工商注册
"regGetInfoByChannelNeedNo", "submitRegNeed", "regFeedbackSubmit", "regOrderStatus", "regOrderClose", "regGetInfoByChannelNeedNo", "submitRegNeed", "regFeedbackSubmit", "regOrderStatus", "regOrderClose",
"getSolutionByChannelOrderNo", "regSubmitSolution", "regNeedClose", "getSolutionByChannelOrderNo", "regSubmitSolution", "regNeedClose",
"regWriteCommunicationLog", "regQueryExpertCommunicationLogs", "regUpdateOrderStatus", "regPaySuccess", "regWriteCommunicationLog", "regQueryExpertCommunicationLogs", "regUpdateOrderStatus", "regPaySuccess","submitGongshangLicense","submitGongshangEngraving","updateGongshangRegStatus","submitGongshangMaterial",
//yiming/ename //yiming/ename
"eNameCloseOrder", "eNameCloseOrder",
], ],
...@@ -36,7 +36,7 @@ module.exports = { ...@@ -36,7 +36,7 @@ module.exports = {
"regGetInfoByChannelNeedNo", "submitRegNeed", "regFeedbackSubmit", "regOrderStatus", "regOrderClose", "regGetInfoByChannelNeedNo", "submitRegNeed", "regFeedbackSubmit", "regOrderStatus", "regOrderClose",
// "getSolutionByChannelOrderNo", // "getSolutionByChannelOrderNo",
"regSubmitSolution", "regNeedClose", "regSubmitSolution", "regNeedClose",
"regWriteCommunicationLog", "regQueryExpertCommunicationLogs", "regUpdateOrderStatus", "regPaySuccess", "regWriteCommunicationLog", "regQueryExpertCommunicationLogs", "regUpdateOrderStatus", "regPaySuccess","submitGongshangLicense","submitGongshangEngraving","updateGongshangRegStatus",,"submitGongshangMaterial",
//yiming/ename //yiming/ename
"eNameCloseOrder", "eNameCloseOrder",
], ],
...@@ -52,6 +52,7 @@ module.exports = { ...@@ -52,6 +52,7 @@ module.exports = {
"/api/ic/consultation/submit", "/api/ic/consultation/submit",
"/api/ic/feedback/submit", "/api/ic/feedback/submit",
"/api/ic/order/notify", "/api/ic/order/notify",
"/api/ic/order/submitMaterial",
"/api/ic/order/close", "/api/ic/order/close",
"/api/ic/tool/icname", "/api/ic/tool/icname",
"/api/tm/consultation/submit", "/api/tm/consultation/submit",
......
var path = require('path'); let path = require('path');
var AlipaySdk = require('alipay-sdk').default; let AlipaySdk = require('alipay-sdk').default;
var WXPay = require('wx-pay'); let WXPay = require('wx-pay');
// const tenpay = require('tenpay'); // const tenpay = require('tenpay');
var ENVINPUT = { let ENVINPUT = {
DB_HOST: process.env.DB_HOST, DB_HOST: process.env.DB_HOST,
DB_PORT: process.env.DB_PORT, DB_PORT: process.env.DB_PORT,
DB_USER: process.env.DB_USER, DB_USER: process.env.DB_USER,
...@@ -14,7 +14,7 @@ var ENVINPUT = { ...@@ -14,7 +14,7 @@ var ENVINPUT = {
REDIS_DB: process.env.CENTER_CHANNEL_REDIS_DB, REDIS_DB: process.env.CENTER_CHANNEL_REDIS_DB,
APP_ENV: process.env.APP_ENV ? process.env.APP_ENV : "dev" APP_ENV: process.env.APP_ENV ? process.env.APP_ENV : "dev"
}; };
var settings = { let settings = {
env: ENVINPUT.APP_ENV, env: ENVINPUT.APP_ENV,
appKey: "201911061250", appKey: "201911061250",
secret: "f99d413b767f09b5dff0b3610366cc46", secret: "f99d413b767f09b5dff0b3610366cc46",
...@@ -463,6 +463,13 @@ var settings = { ...@@ -463,6 +463,13 @@ var settings = {
return "http://139.196.159.202:8980/" return "http://139.196.159.202:8980/"
} }
}, },
icpUrl: function () {
if (this.env == "dev") {
return "http://127.0.0.1:8002" || "http://icp.com:8000";
} else {
return "http://icpdeliver-service";
}
},
areaConfig: { areaConfig: {
"1": "北京", "1": "北京",
"2": "上海", "2": "上海",
...@@ -539,5 +546,5 @@ var settings = { ...@@ -539,5 +546,5 @@ var settings = {
"QUANWAIZI": "全外资", "QUANWAIZI": "全外资",
"XIANGGANG": "香港" "XIANGGANG": "香港"
} }
}; }
module.exports = settings; module.exports = settings;
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