Commit 0d27769c by 宋毅

Merge branch 'center-channel' of gitlab.gongsibao.com:jiangyong/zhichan into center-channel

parents bc3fbd50 fa0130a3
...@@ -9,8 +9,8 @@ class Consultation extends APIBase { ...@@ -9,8 +9,8 @@ class Consultation extends APIBase {
this.gatewaypushlogSve = system.getObject("service.common.gatewaypushlogSve"); this.gatewaypushlogSve = system.getObject("service.common.gatewaypushlogSve");
} }
async submit(pobj,req) { async submit(pobj, req) {
if(!pobj.appInfo || !pobj.appInfo.uapp_key || !pobj.appInfo.uapp_secret){ if (!pobj.appInfo || !pobj.appInfo.uapp_key || !pobj.appInfo.uapp_secret) {
return regCfg.getResultFail("未知应用或应用未启用"); return regCfg.getResultFail("未知应用或应用未启用");
} }
if (!pobj.intentionBizId) { if (!pobj.intentionBizId) {
...@@ -22,7 +22,7 @@ class Consultation extends APIBase { ...@@ -22,7 +22,7 @@ class Consultation extends APIBase {
if (!pobj.consultType) { if (!pobj.consultType) {
return regCfg.getResultFail("consultType不能为空"); return regCfg.getResultFail("consultType不能为空");
} }
pobj.type = pobj.consultType; pobj.type = pobj.consultType;// 这里在channel getProductTypeInfo 用到
// pobj.mobile = pobj.phone;//百度公司注册提交需求根据geteway中regCenterOrderSve文件reqcenterchannel2方法判断隐藏mobile字段 // pobj.mobile = pobj.phone;//百度公司注册提交需求根据geteway中regCenterOrderSve文件reqcenterchannel2方法判断隐藏mobile字段
pobj.action_type = "submitRegNeed"; pobj.action_type = "submitRegNeed";
if (pobj.area) { if (pobj.area) {
......
...@@ -109,7 +109,8 @@ var regCfg = { ...@@ -109,7 +109,8 @@ var regCfg = {
'COLLECTING': 'COLLECTING',//材料收集环节 'COLLECTING': 'COLLECTING',//材料收集环节
'AUDITING': 'AUDITING',//工商审核环节 'AUDITING': 'AUDITING',//工商审核环节
'ENGRAVING': 'ENGRAVING',//刻章环节 'ENGRAVING': 'ENGRAVING',//刻章环节
'SUCCESS': 'SUCCESS' //已完成 'SUCCESS': 'SUCCESS', //已完成
'ACTIVE': 'ACTIVE' //服务中
}, },
//交付状态 //交付状态
deliverStatus:{ deliverStatus:{
...@@ -117,7 +118,8 @@ var regCfg = { ...@@ -117,7 +118,8 @@ var regCfg = {
'COLLECTING': '材料收集环节',// 'COLLECTING': '材料收集环节',//
'AUDITING': '工商审核环节',// 'AUDITING': '工商审核环节',//
'ENGRAVING': '刻章环节',// 'ENGRAVING': '刻章环节',//
'SUCCESS': '已完成' // 'SUCCESS': '已完成', //
'ACTIVE': '服务中' //
}, },
//返回结果配置 //返回结果配置
getUUID() { getUUID() {
......
...@@ -154,7 +154,7 @@ class RegCenterOrderService extends AppServiceBase { ...@@ -154,7 +154,7 @@ class RegCenterOrderService extends AppServiceBase {
var salesmanObj = { var salesmanObj = {
appInfo: pobj.appInfo, appInfo: pobj.appInfo,
actionType: "addRegSalesmanInfo",//添加业务员信息 actionType: "addRegSalesmanInfo",//添加业务员信息
actionBody: {salesmanInfo: salesmanInfo, orderNo: orderrtn.data.orderNo} actionBody: { salesmanInfo: salesmanInfo, orderNo: orderrtn.data.orderNo }
}; };
var url = settings.centerOrderUrl() + "action/regapi/springBoard"; var url = settings.centerOrderUrl() + "action/regapi/springBoard";
var addRes = await this.execClient.execPost(salesmanObj, url); var addRes = await this.execClient.execPost(salesmanObj, url);
...@@ -225,6 +225,12 @@ class RegCenterOrderService extends AppServiceBase { ...@@ -225,6 +225,12 @@ class RegCenterOrderService extends AppServiceBase {
if (pobj.actionBody.channel_type_code) { if (pobj.actionBody.channel_type_code) {
pobj.actionBody.type = regCfg.channelTypeCode[pobj.actionBody.channel_type_code] pobj.actionBody.type = regCfg.channelTypeCode[pobj.actionBody.channel_type_code]
pobj.actionBody.idempotentSource = "baidu_gsreg"; pobj.actionBody.idempotentSource = "baidu_gsreg";
if(pobj.actionBody.channel_type_code=='QYJYTC1'){
pobj.actionBody.idempotentSource = "baidu_qyjytc1";
}
if(pobj.actionBody.channel_type_code=='QYJYTC2'){
pobj.actionBody.idempotentSource = "baidu_qyjytc2";
}
} }
if (pobj.actionBody.description && pobj.actionBody.description.indexOf("备#") < 0) { if (pobj.actionBody.description && pobj.actionBody.description.indexOf("备#") < 0) {
pobj.actionBody.level = "A"; pobj.actionBody.level = "A";
...@@ -384,18 +390,18 @@ class RegCenterOrderService extends AppServiceBase { ...@@ -384,18 +390,18 @@ class RegCenterOrderService extends AppServiceBase {
console.log('reg --- pobj -----', pobj) console.log('reg --- pobj -----', pobj)
var s var s
var subSnLength var subSnLength
var res
if (pobj.actionBody.solutionList) { if (pobj.actionBody.solutionList) {
subSnLength = pobj.actionBody.solutionList.length subSnLength = pobj.actionBody.solutionList.length
for (s = 0; s < subSnLength; s++) { for (s = 0; s < subSnLength; s++) {
if (!pobj.actionBody.solutionList[s].solutionContent.solution.channelSolutionNo) { if (!pobj.actionBody.solutionList[s].solutionContent.solution.channelSolutionNo) {
var res = await this.reqCenterOrderApi(pobj, "action/regapi/springBoard"); res = await this.reqCenterOrderApi(pobj, "action/regapi/springBoard");
} else { } else {
pobj.actionType = "updateSolution" pobj.actionType = "updateSolution"
var res = await this.reqCenterOrderApi(pobj, "action/regapi/springBoard"); res = await this.reqCenterOrderApi(pobj, "action/regapi/springBoard");
} }
} }
} }
if (res && res.status == 0 && res.data && res.data.needinfo && res.data.needsolutions) { if (res && res.status == 0 && res.data && res.data.needinfo && res.data.needsolutions) {
console.log('reg --- res -----', res) console.log('reg --- res -----', res)
var needinfo = res.data.needinfo;//需求信息 var needinfo = res.data.needinfo;//需求信息
...@@ -424,13 +430,13 @@ class RegCenterOrderService extends AppServiceBase { ...@@ -424,13 +430,13 @@ class RegCenterOrderService extends AppServiceBase {
var list = { var list = {
bizId: channelSolutionNo, bizId: channelSolutionNo,
gsbBizId: needsolutions[i].solutionNo, gsbBizId: needsolutions[i].solutionNo,
bizType: bizTypes.bizType, bizType: bizTypes.solution.regType,
solutionContent: bizTypes.solution solutionContent: bizTypes.solution
} }
} else { } else {
var list = { var list = {
gsbBizId: needsolutions[i].solutionNo, gsbBizId: needsolutions[i].solutionNo,
bizType: bizTypes.bizType, bizType: bizTypes.solution.regType,
solutionContent: bizTypes.solution solutionContent: bizTypes.solution
} }
} }
...@@ -527,7 +533,7 @@ class RegCenterOrderService extends AppServiceBase { ...@@ -527,7 +533,7 @@ class RegCenterOrderService extends AppServiceBase {
note: pobj.actionBody.note note: pobj.actionBody.note
} }
// 推送baidu // 推送baidu
var tmpResult = await this.baiduRegClient.baiduReqbyget({path: "/v1/provider/demand?close=", reqbody: pushObj}); var tmpResult = await this.baiduRegClient.baiduReqbyget({ path: "/v1/provider/demand?close=", reqbody: pushObj });
//查看日志 //查看日志
this.logCtl.info({ this.logCtl.info({
appid: pobj.appInfo ? pobj.appInfo.uapp_id || "" : "", appid: pobj.appInfo ? pobj.appInfo.uapp_id || "" : "",
...@@ -538,9 +544,9 @@ class RegCenterOrderService extends AppServiceBase { ...@@ -538,9 +544,9 @@ class RegCenterOrderService extends AppServiceBase {
resultInfo: JSON.stringify(tmpResult), resultInfo: JSON.stringify(tmpResult),
optitle: "推送baidu-reg关闭需求返回结果->closeNeed", optitle: "推送baidu-reg关闭需求返回结果->closeNeed",
}); });
if(result.data && result.data.uapp_id == 44){ if (result.data && result.data.uapp_id == 44) {
pobj.appInfo.uapp_id = 44 pobj.appInfo.uapp_id = 44
if(pobj && pobj.actionBody && pobj.actionBody.note){ if (pobj && pobj.actionBody && pobj.actionBody.note) {
pobj.actionBody['description'] = pobj.actionBody.note pobj.actionBody['description'] = pobj.actionBody.note
} }
} }
...@@ -556,9 +562,9 @@ class RegCenterOrderService extends AppServiceBase { ...@@ -556,9 +562,9 @@ class RegCenterOrderService extends AppServiceBase {
var res = await this.reqCenterOrderApi(pobj, "action/regapi/springBoard"); var res = await this.reqCenterOrderApi(pobj, "action/regapi/springBoard");
console.log('推送交付信息/修改订单状态res+++++', res) console.log('推送交付信息/修改订单状态res+++++', res)
console.log('推送交付信息/修改订单状态++pobj+++', pobj) console.log('推送交付信息/修改订单状态++pobj+++', pobj)
var deliverContent = {}
var pushObj = {}
if (res && res.status == 0 && res.data) { if (res && res.status == 0 && res.data) {
var deliverContent
if (pobj.actionBody.deliverContent) { if (pobj.actionBody.deliverContent) {
if (pobj.actionBody.deliverContent.companyInfo && pobj.actionBody.deliverContent.companyInfo.serviceArea) { if (pobj.actionBody.deliverContent.companyInfo && pobj.actionBody.deliverContent.companyInfo.serviceArea) {
pobj.actionBody.deliverContent.companyInfo.serviceArea = regCfg.baiduAreaCode[pobj.actionBody.deliverContent.companyInfo.serviceArea] pobj.actionBody.deliverContent.companyInfo.serviceArea = regCfg.baiduAreaCode[pobj.actionBody.deliverContent.companyInfo.serviceArea]
...@@ -571,15 +577,52 @@ class RegCenterOrderService extends AppServiceBase { ...@@ -571,15 +577,52 @@ class RegCenterOrderService extends AppServiceBase {
} }
} }
if (res.data.uapp_id == regCfg.uappId.baidu) { if (res.data.uapp_id == regCfg.uappId.baidu) {
//推送数据至百度 //2021-5-18新增套餐公司注册与正常公司注册区分
var pushObj = { if (pobj.actionBody.consultType && pobj.actionBody.consultType == "GSREG") {
//推送正常公司注册数据至百度
pushObj = {
orderNo: res.data.bizId, orderNo: res.data.bizId,
status: res.data.deliveryContent.status, status: res.data.deliveryContent.status,
deliverContent: deliverContent deliverContent: deliverContent
}; };
}
if (pobj.actionBody.consultType && pobj.actionBody.consultType == "QYJYTC1") {
//推送套餐1公司注册数据至百度
pushObj = {
orderNo: res.data.bizId,
status: res.data.deliveryContent.status,
deliverContent: deliverContent,
consultType: pobj.actionBody.consultType, //需求类型: GSREG:正常原始公司注册; QYJYTC1:企业经营套餐1; QYJYTC2:企业经营套餐2;
productType: pobj.actionBody.productType //套餐包含业的务类型: 不传为原始公司注册
};
}
if (pobj.actionBody.consultType && pobj.actionBody.consultType == "QYJYTC2") {
//推送套餐2公司注册数据至百度
//代理记账和地址服务需要单独的开始和结束时间
//地址服务:时间截止到天, 代理记账:时间截止到月, 时间字段都是秒
if (pobj.actionBody.productType == "DLJZ" || pobj.actionBody.productType == "DZFW") {
pushObj = {
orderNo: res.data.bizId,
status: res.data.deliveryContent.status,
deliverContent: deliverContent,
consultType: pobj.actionBody.consultType, //需求类型: GSREG:正常原始公司注册; QYJYTC1:企业经营套餐1; QYJYTC2:企业经营套餐2;
productType: pobj.actionBody.productType, //套餐包含业的务类型: 不传为原始公司注册
startTime: pobj.actionBody.startTime, //开始时间
endTime: pobj.actionBody.endTime //结束时间
};
} else {
pushObj = {
orderNo: res.data.bizId,
status: res.data.deliveryContent.status,
deliverContent: deliverContent,
consultType: pobj.actionBody.consultType, //需求类型: GSREG:正常原始公司注册; QYJYTC1:企业经营套餐1; QYJYTC2:企业经营套餐2;
productType: pobj.actionBody.productType //套餐包含业的务类型: 不传为原始公司注册
};
}
}
var self = this; var self = this;
//推送交付信息/修改订单状态 //推送交付信息/修改订单状态
var baidu = await self.baiduRegClient.baiduReqbyget({path: "/v1/provider/comreg", reqbody: pushObj}); var baidu = await self.baiduRegClient.baiduReqbyget({ path: "/v1/provider/comreg", reqbody: pushObj });
console.log('推送交付信息/修改订单状态baidu+++', baidu) console.log('推送交付信息/修改订单状态baidu+++', baidu)
console.log('推送交付信息/修改订单状态pushObj+++', pushObj) console.log('推送交付信息/修改订单状态pushObj+++', pushObj)
return baidu.data return baidu.data
...@@ -666,7 +709,7 @@ class RegCenterOrderService extends AppServiceBase { ...@@ -666,7 +709,7 @@ class RegCenterOrderService extends AppServiceBase {
} }
//-----------接入百度reg------end---------------------------------- //-----------接入百度reg------end----------------------------------
} }
......
...@@ -1757,7 +1757,7 @@ class UtilsOrderService extends AppServiceBase { ...@@ -1757,7 +1757,7 @@ class UtilsOrderService extends AppServiceBase {
var reqUrl = this.centerOrderUrl + "action/order/springBoard"; var reqUrl = this.centerOrderUrl + "action/order/springBoard";
var result = await this.restPostUrl(pobj, reqUrl); var result = await this.restPostUrl(pobj, reqUrl);
if(result && result.status==0){ if(result && result.status==0){
if(pobj.appInfo && pobj.appInfo.uapp_id==31 && !pobj.actionBody.serviceOrderNo){//京东云自助商标注册 if(pobj.appInfo && pobj.appInfo.uapp_id!=18 && !pobj.actionBody.serviceOrderNo){//京东云自助商标注册
await this.pushChannelOrder2fq(pobj); await this.pushChannelOrder2fq(pobj);
} }
} }
......
...@@ -34,7 +34,7 @@ class ExecClient { ...@@ -34,7 +34,7 @@ class ExecClient {
var options = { var options = {
maxBuffer: 1024 * 1024 * 20 maxBuffer: 1024 * 1024 * 20
}; };
const { stdout, stderr } = await exec(cmd,options); const { stdout, stderr } = await exec(cmd, options);
return { stdout, stderr }; return { stdout, stderr };
} }
...@@ -81,13 +81,14 @@ class ExecClient { ...@@ -81,13 +81,14 @@ class ExecClient {
return cmd; return cmd;
} }
async execPost(subData, url) { async execPost(subData, url) {
if(settings.env == 'dev'){ //本机windows curl json格式
const rs = await axios.post(url,subData); // if (settings.env == 'dev') {
const ret ={ // const rs = await axios.post(url, subData);
stdout:JSON.stringify(rs.data) // const ret = {
} // stdout: JSON.stringify(rs.data)
return ret; // }
} // return ret;
// }
let cmd = this.FetchPostCmd(subData, url); let cmd = this.FetchPostCmd(subData, url);
var result = await this.exec(cmd); var result = await this.exec(cmd);
return result; return result;
...@@ -108,12 +109,12 @@ class ExecClient { ...@@ -108,12 +109,12 @@ class ExecClient {
return result; return result;
} }
async execPushDataPost(subData, url, token, requestId) { async execPushDataPost(subData, url, token, requestId) {
if(settings.env == 'dev'){ if (settings.env == 'dev') {
axios.defaults.headers['token'] = token; axios.defaults.headers['token'] = token;
// axios.defaults.headers['request-id'] = requestId; // axios.defaults.headers['request-id'] = requestId;
const rs = await axios.post(url,subData); const rs = await axios.post(url, subData);
const ret ={ const ret = {
stdout:JSON.stringify(rs.data) stdout: JSON.stringify(rs.data)
} }
return ret; return ret;
} }
...@@ -157,32 +158,32 @@ class ExecClient { ...@@ -157,32 +158,32 @@ class ExecClient {
return result; return result;
} }
Fetch360PostCmd(subData,url){ Fetch360PostCmd(subData, url) {
var cmd = this.cmd360PostPattern.replace( var cmd = this.cmd360PostPattern.replace(
/\{data\}/g, subData).replace(/\{url\}/g, url); /\{data\}/g, subData).replace(/\{url\}/g, url);
console.log(cmd); console.log(cmd);
return cmd; return cmd;
} }
async exec360GetToken(url){ async exec360GetToken(url) {
const qs = require('qs') const qs = require('qs')
let obj = {"scope":"smart_business","grant_type":"client_credentials"} let obj = { "scope": "smart_business", "grant_type": "client_credentials" }
if(settings.env == 'dev'){ if (settings.env == 'dev') {
const rs = await axios({ const rs = await axios({
method: 'post', method: 'post',
url: url, url: url,
data:qs.stringify(obj), data: qs.stringify(obj),
auth: { auth: {
username:"gongsibao", username: "gongsibao",
password:"qPa4PsVsxbQ847i5pOKSmfPKrzRoNKqx" password: "qPa4PsVsxbQ847i5pOKSmfPKrzRoNKqx"
} }
}) })
const ret ={ const ret = {
stdout:JSON.stringify(rs.data) stdout: JSON.stringify(rs.data)
} }
return ret; return ret;
} }
let cmd = this.Fetch360PostCmd(qs.stringify(obj),url); let cmd = this.Fetch360PostCmd(qs.stringify(obj), url);
console.log(cmd); console.log(cmd);
var result = await this.exec(cmd); var result = await this.exec(cmd);
return result; return result;
...@@ -206,17 +207,17 @@ class ExecClient { ...@@ -206,17 +207,17 @@ class ExecClient {
} }
// 带token的url请求 // 带token的url请求
async restGetWithHAuthorizationUrl(userToken, url,subData) { async restGetWithHAuthorizationUrl(userToken, url, subData) {
if(settings.env == 'dev'){ if (settings.env == 'dev') {
axios.defaults.headers['authorization'] = userToken; axios.defaults.headers['authorization'] = userToken;
const rs = await axios.get(url,{params:subData}); const rs = await axios.get(url, { params: subData });
const ret ={ const ret = {
stdout:JSON.stringify(rs.data) stdout: JSON.stringify(rs.data)
} }
return ret; return ret;
} }
var data = querystring.stringify(subData); var data = querystring.stringify(subData);
let cmd = this.FetchrestGetWithHAuthorizationUrl(userToken, url,data); let cmd = this.FetchrestGetWithHAuthorizationUrl(userToken, url, data);
console.log(cmd, "cmd............"); console.log(cmd, "cmd............");
var result = await this.exec(cmd, { var result = await this.exec(cmd, {
maxBuffer: 1024 * 1024 * 15 maxBuffer: 1024 * 1024 * 15
...@@ -224,7 +225,7 @@ class ExecClient { ...@@ -224,7 +225,7 @@ class ExecClient {
return result; return result;
} }
FetchrestGetWithHAuthorizationUrl(userToken, url,subData) { FetchrestGetWithHAuthorizationUrl(userToken, url, subData) {
var cmd = this.cmdGetpatternToken.replace(/\{url\}/g, url).replace(/\{token\}/g, userToken).replace( var cmd = this.cmdGetpatternToken.replace(/\{url\}/g, url).replace(/\{token\}/g, userToken).replace(
/\{data\}/g, subData); /\{data\}/g, subData);
return cmd; return cmd;
......
...@@ -4,6 +4,7 @@ const exec = util.promisify(require('child_process').exec); ...@@ -4,6 +4,7 @@ const exec = util.promisify(require('child_process').exec);
const querystring = require('querystring'); const querystring = require('querystring');
var settings = require("../../config/settings"); var settings = require("../../config/settings");
const uuidv4 = require('uuid/v4'); const uuidv4 = require('uuid/v4');
const axios = require("axios");
class RestClient { class RestClient {
constructor() { constructor() {
this.cmdGetPattern = "curl {-G} -k -d '{data}' {url}"; this.cmdGetPattern = "curl {-G} -k -d '{data}' {url}";
...@@ -100,6 +101,19 @@ class RestClient { ...@@ -100,6 +101,19 @@ class RestClient {
return result; return result;
} }
async execPost(subData, url) { async execPost(subData, url) {
//本机windows curl json格式
// if (settings.env == 'dev') {
// const rs = await axios.post(url, subData, {
// auth: {
// username: "admines",
// password: "adminGSBes"
// }
// });
// const ret = {
// stdout: JSON.stringify(rs.data)
// }
// return ret;
// }
let cmd = this.FetchPostCmd(subData, url); let cmd = this.FetchPostCmd(subData, url);
console.log(cmd, "cmd............"); console.log(cmd, "cmd............");
var result = await this.exec(cmd, { var result = await this.exec(cmd, {
...@@ -171,8 +185,8 @@ class RestClient { ...@@ -171,8 +185,8 @@ class RestClient {
var result = await this.exec(cmd); var result = await this.exec(cmd);
return result; return result;
} }
async execDeliveryPost(subdata,url){ async execDeliveryPost(subdata, url) {
let cmd = this.FetchPostCmd(subdata,url) let cmd = this.FetchPostCmd(subdata, url)
cmd += " -H 'XAPPKEY:647a68c9-da01-40d3-9763-1ffa0f64cf3f'" cmd += " -H 'XAPPKEY:647a68c9-da01-40d3-9763-1ffa0f64cf3f'"
var result = await this.exec(cmd); var result = await this.exec(cmd);
return result; return result;
......
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