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 {
this.gatewaypushlogSve = system.getObject("service.common.gatewaypushlogSve");
}
async submit(pobj,req) {
if(!pobj.appInfo || !pobj.appInfo.uapp_key || !pobj.appInfo.uapp_secret){
async submit(pobj, req) {
if (!pobj.appInfo || !pobj.appInfo.uapp_key || !pobj.appInfo.uapp_secret) {
return regCfg.getResultFail("未知应用或应用未启用");
}
if (!pobj.intentionBizId) {
......@@ -22,7 +22,7 @@ class Consultation extends APIBase {
if (!pobj.consultType) {
return regCfg.getResultFail("consultType不能为空");
}
pobj.type = pobj.consultType;
pobj.type = pobj.consultType;// 这里在channel getProductTypeInfo 用到
// pobj.mobile = pobj.phone;//百度公司注册提交需求根据geteway中regCenterOrderSve文件reqcenterchannel2方法判断隐藏mobile字段
pobj.action_type = "submitRegNeed";
if (pobj.area) {
......
......@@ -109,7 +109,8 @@ var regCfg = {
'COLLECTING': 'COLLECTING',//材料收集环节
'AUDITING': 'AUDITING',//工商审核环节
'ENGRAVING': 'ENGRAVING',//刻章环节
'SUCCESS': 'SUCCESS' //已完成
'SUCCESS': 'SUCCESS', //已完成
'ACTIVE': 'ACTIVE' //服务中
},
//交付状态
deliverStatus:{
......@@ -117,7 +118,8 @@ var regCfg = {
'COLLECTING': '材料收集环节',//
'AUDITING': '工商审核环节',//
'ENGRAVING': '刻章环节',//
'SUCCESS': '已完成' //
'SUCCESS': '已完成', //
'ACTIVE': '服务中' //
},
//返回结果配置
getUUID() {
......
......@@ -154,7 +154,7 @@ class RegCenterOrderService extends AppServiceBase {
var salesmanObj = {
appInfo: pobj.appInfo,
actionType: "addRegSalesmanInfo",//添加业务员信息
actionBody: {salesmanInfo: salesmanInfo, orderNo: orderrtn.data.orderNo}
actionBody: { salesmanInfo: salesmanInfo, orderNo: orderrtn.data.orderNo }
};
var url = settings.centerOrderUrl() + "action/regapi/springBoard";
var addRes = await this.execClient.execPost(salesmanObj, url);
......@@ -225,6 +225,12 @@ class RegCenterOrderService extends AppServiceBase {
if (pobj.actionBody.channel_type_code) {
pobj.actionBody.type = regCfg.channelTypeCode[pobj.actionBody.channel_type_code]
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) {
pobj.actionBody.level = "A";
......@@ -384,18 +390,18 @@ class RegCenterOrderService extends AppServiceBase {
console.log('reg --- pobj -----', pobj)
var s
var subSnLength
var res
if (pobj.actionBody.solutionList) {
subSnLength = pobj.actionBody.solutionList.length
for (s = 0; s < subSnLength; s++) {
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 {
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) {
console.log('reg --- res -----', res)
var needinfo = res.data.needinfo;//需求信息
......@@ -424,13 +430,13 @@ class RegCenterOrderService extends AppServiceBase {
var list = {
bizId: channelSolutionNo,
gsbBizId: needsolutions[i].solutionNo,
bizType: bizTypes.bizType,
bizType: bizTypes.solution.regType,
solutionContent: bizTypes.solution
}
} else {
var list = {
gsbBizId: needsolutions[i].solutionNo,
bizType: bizTypes.bizType,
bizType: bizTypes.solution.regType,
solutionContent: bizTypes.solution
}
}
......@@ -527,7 +533,7 @@ class RegCenterOrderService extends AppServiceBase {
note: pobj.actionBody.note
}
// 推送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({
appid: pobj.appInfo ? pobj.appInfo.uapp_id || "" : "",
......@@ -538,9 +544,9 @@ class RegCenterOrderService extends AppServiceBase {
resultInfo: JSON.stringify(tmpResult),
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
if(pobj && pobj.actionBody && pobj.actionBody.note){
if (pobj && pobj.actionBody && pobj.actionBody.note) {
pobj.actionBody['description'] = pobj.actionBody.note
}
}
......@@ -556,9 +562,9 @@ class RegCenterOrderService extends AppServiceBase {
var res = await this.reqCenterOrderApi(pobj, "action/regapi/springBoard");
console.log('推送交付信息/修改订单状态res+++++', res)
console.log('推送交付信息/修改订单状态++pobj+++', pobj)
var deliverContent = {}
var pushObj = {}
if (res && res.status == 0 && res.data) {
var deliverContent
if (pobj.actionBody.deliverContent) {
if (pobj.actionBody.deliverContent.companyInfo && 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 {
}
}
if (res.data.uapp_id == regCfg.uappId.baidu) {
//推送数据至百度
var pushObj = {
orderNo: res.data.bizId,
status: res.data.deliveryContent.status,
deliverContent: deliverContent
};
//2021-5-18新增套餐公司注册与正常公司注册区分
if (pobj.actionBody.consultType && pobj.actionBody.consultType == "GSREG") {
//推送正常公司注册数据至百度
pushObj = {
orderNo: res.data.bizId,
status: res.data.deliveryContent.status,
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 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('推送交付信息/修改订单状态pushObj+++', pushObj)
return baidu.data
......@@ -666,7 +709,7 @@ class RegCenterOrderService extends AppServiceBase {
}
//-----------接入百度reg------end----------------------------------
//-----------接入百度reg------end----------------------------------
}
......
......@@ -1757,7 +1757,7 @@ class UtilsOrderService extends AppServiceBase {
var reqUrl = this.centerOrderUrl + "action/order/springBoard";
var result = await this.restPostUrl(pobj, reqUrl);
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);
}
}
......
......@@ -21,7 +21,7 @@ class ExecClient {
//易名
this.cmdEnamePostPattern = "curl -k -H 'Content-type: application/json' -d '{data}' {url}";
}
getUUID() {
var uuid = uuidv4();
......@@ -34,7 +34,7 @@ class ExecClient {
var options = {
maxBuffer: 1024 * 1024 * 20
};
const { stdout, stderr } = await exec(cmd,options);
const { stdout, stderr } = await exec(cmd, options);
return { stdout, stderr };
}
......@@ -71,7 +71,7 @@ class ExecClient {
console.log(cmd);
return cmd;
}
FetchPushDataPostCmd(subData, url, token, requestId) {
var requestId = requestId || this.getUUID();
var data = JSON.stringify(subData);
......@@ -81,13 +81,14 @@ class ExecClient {
return cmd;
}
async execPost(subData, url) {
if(settings.env == 'dev'){
const rs = await axios.post(url,subData);
const ret ={
stdout:JSON.stringify(rs.data)
}
return ret;
}
//本机windows curl json格式
// if (settings.env == 'dev') {
// const rs = await axios.post(url, subData);
// const ret = {
// stdout: JSON.stringify(rs.data)
// }
// return ret;
// }
let cmd = this.FetchPostCmd(subData, url);
var result = await this.exec(cmd);
return result;
......@@ -108,12 +109,12 @@ class ExecClient {
return result;
}
async execPushDataPost(subData, url, token, requestId) {
if(settings.env == 'dev'){
if (settings.env == 'dev') {
axios.defaults.headers['token'] = token;
// axios.defaults.headers['request-id'] = requestId;
const rs = await axios.post(url,subData);
const ret ={
stdout:JSON.stringify(rs.data)
const rs = await axios.post(url, subData);
const ret = {
stdout: JSON.stringify(rs.data)
}
return ret;
}
......@@ -157,32 +158,32 @@ class ExecClient {
return result;
}
Fetch360PostCmd(subData,url){
Fetch360PostCmd(subData, url) {
var cmd = this.cmd360PostPattern.replace(
/\{data\}/g, subData).replace(/\{url\}/g, url);
console.log(cmd);
return cmd;
}
async exec360GetToken(url){
async exec360GetToken(url) {
const qs = require('qs')
let obj = {"scope":"smart_business","grant_type":"client_credentials"}
if(settings.env == 'dev'){
let obj = { "scope": "smart_business", "grant_type": "client_credentials" }
if (settings.env == 'dev') {
const rs = await axios({
method: 'post',
url: url,
data:qs.stringify(obj),
data: qs.stringify(obj),
auth: {
username:"gongsibao",
password:"qPa4PsVsxbQ847i5pOKSmfPKrzRoNKqx"
username: "gongsibao",
password: "qPa4PsVsxbQ847i5pOKSmfPKrzRoNKqx"
}
})
const ret ={
stdout:JSON.stringify(rs.data)
const ret = {
stdout: JSON.stringify(rs.data)
}
return ret;
}
let cmd = this.Fetch360PostCmd(qs.stringify(obj),url);
let cmd = this.Fetch360PostCmd(qs.stringify(obj), url);
console.log(cmd);
var result = await this.exec(cmd);
return result;
......@@ -206,17 +207,17 @@ class ExecClient {
}
// 带token的url请求
async restGetWithHAuthorizationUrl(userToken, url,subData) {
if(settings.env == 'dev'){
async restGetWithHAuthorizationUrl(userToken, url, subData) {
if (settings.env == 'dev') {
axios.defaults.headers['authorization'] = userToken;
const rs = await axios.get(url,{params:subData});
const ret ={
stdout:JSON.stringify(rs.data)
const rs = await axios.get(url, { params: subData });
const ret = {
stdout: JSON.stringify(rs.data)
}
return ret;
}
var data = querystring.stringify(subData);
let cmd = this.FetchrestGetWithHAuthorizationUrl(userToken, url,data);
let cmd = this.FetchrestGetWithHAuthorizationUrl(userToken, url, data);
console.log(cmd, "cmd............");
var result = await this.exec(cmd, {
maxBuffer: 1024 * 1024 * 15
......@@ -224,7 +225,7 @@ class ExecClient {
return result;
}
FetchrestGetWithHAuthorizationUrl(userToken, url,subData) {
FetchrestGetWithHAuthorizationUrl(userToken, url, subData) {
var cmd = this.cmdGetpatternToken.replace(/\{url\}/g, url).replace(/\{token\}/g, userToken).replace(
/\{data\}/g, subData);
return cmd;
......
......@@ -4,6 +4,7 @@ const exec = util.promisify(require('child_process').exec);
const querystring = require('querystring');
var settings = require("../../config/settings");
const uuidv4 = require('uuid/v4');
const axios = require("axios");
class RestClient {
constructor() {
this.cmdGetPattern = "curl {-G} -k -d '{data}' {url}";
......@@ -100,6 +101,19 @@ class RestClient {
return result;
}
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);
console.log(cmd, "cmd............");
var result = await this.exec(cmd, {
......@@ -171,8 +185,8 @@ class RestClient {
var result = await this.exec(cmd);
return result;
}
async execDeliveryPost(subdata,url){
let cmd = this.FetchPostCmd(subdata,url)
async execDeliveryPost(subdata, url) {
let cmd = this.FetchPostCmd(subdata, url)
cmd += " -H 'XAPPKEY:647a68c9-da01-40d3-9763-1ffa0f64cf3f'"
var result = await this.exec(cmd);
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