Commit f375a382 by 任晓松

update 资质查询

parent 4c35ecc2
......@@ -35,6 +35,40 @@ class IcbcService extends AppServiceBase {
}
//企业证书查询
// async searchCertification(queryobj, req) {
// if (!queryobj.companyName) {
// return system.getResultFail(-1, 'companyName can not be empty');
// }
// var hashValue = await this.restClient.hget(this.searchCertificationData, queryobj.companyName);
// if (hashValue) {
// return system.getResultSuccess(JSON.parse(hashValue));
// }
// let url = this.certificationUrl + "gsb/SearchCertification";
// let data = {
// "company_name": queryobj.companyName,
// "pageSize": 20,
// "pageIndex": 1,
// "isExactlySame": "True"
// }
// let result = await this.opReqResult(url, data, req);
// if (!result) {
// return system.getResultFail(-1, '查询失败!!!');
// }
// if (result.Status != 200) {
// return system.getResultFail(-1, '查询失败');
// }
// //对结果处理
// // "Tag": 1为qichacha,0为gsb
// var setValue = {};
// setValue[queryobj.companyName] = JSON.stringify(result.Result);
// if (result.Tag == 1) {
// this.restClient.hmset(this.disposeCertificationData, setValue);
// }
// this.restClient.hmset(this.searchCertificationData, setValue);
// return system.getResult(result.Result);
// }
//企业证书查询 用友数据源
async searchCertification(queryobj, req) {
if (!queryobj.companyName) {
return system.getResultFail(-1, 'companyName can not be empty');
......@@ -43,32 +77,50 @@ class IcbcService extends AppServiceBase {
if (hashValue) {
return system.getResultSuccess(JSON.parse(hashValue));
}
let url = this.certificationUrl + "gsb/SearchCertification";
//获取token
let url = settings.icNameUrl() + 'openPlatform/platform/getToken';
let params = {
"accessKey":"111",
"accessSecret":"222"
}
let ret = await this.opReqResult(url,params,req);
if(ret.status != 1){
system.getResultFail(-1,'获取开放平台token失败');
}
let token = ret.data;
url = settings.icNameUrl() + "openPlatform/busenterprise/cloudapi";
let data = {
"company_name": queryobj.companyName,
"pageSize": 20,
"pageIndex": 1,
"isExactlySame": "True"
"path":"license",
"name": queryobj.companyName
}
let rtn = await this.execClient.restGetWithHAuthorizationUrl(token,url, data);
if (!rtn || !rtn.stdout) {
return system.getResult(null, "restPostWithHAuthorizationUrl data is empty");
}
let result = await this.opReqResult(url, data, req);
var result = JSON.parse(rtn.stdout);
if (!result) {
return system.getResultFail(-1, '查询失败!!!');
}
if (result.Status != 200) {
if (result.error_code != 0) {
return system.getResultFail(-1, '查询失败');
}
let item = result.result.items;
//对结果处理
// "Tag": 1为qichacha,0为gsb
var setValue = {};
setValue[queryobj.companyName] = JSON.stringify(result.Result);
if (result.Tag == 1) {
this.restClient.hmset(this.disposeCertificationData, setValue);
}
setValue[queryobj.companyName] = JSON.stringify(item);
// if (result.Tag == 1) {
// this.restClient.hmset(this.disposeCertificationData, setValue);
// }
this.restClient.hmset(this.searchCertificationData, setValue);
return system.getResult(result.Result);
return system.getResult(item);
}
async opReqResult(reqUrl, queryobj, req) {
var rtn = await this.execClient.execPushDataPost(queryobj, reqUrl, req.headers["token"], req.headers["request-id"]);
var data = JSON.parse(rtn.stdout);
......
......@@ -3,6 +3,7 @@ const util = require('util');
const exec = util.promisify(require('child_process').exec);
const uuidv4 = require('uuid/v4');
var settings = require("../../config/settings");
const querystring = require('querystring');
const axios = require('axios');
class ExecClient {
constructor() {
......@@ -15,6 +16,8 @@ class ExecClient {
this.cmd360PostPattern = "curl -u gongsibao:qPa4PsVsxbQ847i5pOKSmfPKrzRoNKqx -d '{data}' -X POST {url}"
this.cmdBaiduPostPattern = "curl -k -H 'Content-type: application/json' -H 'Authorization: {Authorization}' -d '{data}' {url}";
this.cmdGetpatternToken = "curl -G -k -H 'authorization:{token}' -d '{data}' {url}";
}
getUUID() {
var uuid = uuidv4();
......@@ -184,6 +187,31 @@ class ExecClient {
const { stdout, stderr } = await exec(cmd, options);
return { stdout, stderr };
}
// 带token的url请求
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)
}
return ret;
}
var data = querystring.stringify(subData);
let cmd = this.FetchrestGetWithHAuthorizationUrl(userToken, url,data);
console.log(cmd, "cmd............");
var result = await this.exec(cmd, {
maxBuffer: 1024 * 1024 * 15
});
return result;
}
FetchrestGetWithHAuthorizationUrl(userToken, url,subData) {
var cmd = this.cmdGetpatternToken.replace(/\{url\}/g, url).replace(/\{token\}/g, userToken).replace(
/\{data\}/g, subData);
return cmd;
}
}
module.exports = ExecClient;
......
......@@ -316,7 +316,7 @@ var settings = {
},
icNameUrl: function () {
if (this.env == "dev") {
return "https://fq.gongsibao.com/"
return "https://fqdev.gongsibao.com/"
} else {
return "https://fq.gongsibao.com/"
}
......
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