Commit 7a487e21 by 王勇飞

Merge branch 'tx-fi-tax' of gitlab.gongsibao.com:jiangyong/zhichan into tx-fi-tax

parents ae30f77d 004c016a
...@@ -123,7 +123,7 @@ class BizOptCtl extends CtlBase { ...@@ -123,7 +123,7 @@ class BizOptCtl extends CtlBase {
//根据需求编号去更新该条需求的状态为已关闭 //根据需求编号去更新该条需求的状态为已关闭
try { try {
let res = await this.service.updateStatusByDemandCode(pobj); let res = await this.service.updateStatusByDemandCode(pobj);
//TODO 同步该需求关闭信息到其他系统 //TODO 同步该需求关闭信息到其他系统(走队列,直接扔到队列里面)
//添加到记录表 //添加到记录表
pobj.operator = { pobj.operator = {
......
...@@ -18,6 +18,7 @@ class FitaxschemeDao extends Dao { ...@@ -18,6 +18,7 @@ class FitaxschemeDao extends Dao {
/** /**
* 插入方案信息 * 插入方案信息
* TODO 同步方案信息,获取方案编号(走队列,再写一个接收队列方案编号的方法,将方案编号更新到数据库)
* @param {*} qobj * @param {*} qobj
* @param {*} t * @param {*} t
*/ */
......
...@@ -354,23 +354,18 @@ class System { ...@@ -354,23 +354,18 @@ class System {
for (var i in arr) { for (var i in arr) {
if (arr[i] != "sign" && arr[i] != "ip" && if (arr[i] != "sign" && arr[i] != "ip" &&
(!(Object.prototype.toString.call(obj[arr[i]]) == '[object Object]' || Object.prototype.toString.call(obj[arr[i]]) == '[object Array]') (!(Object.prototype.toString.call(obj[arr[i]]) == '[object Object]' || Object.prototype.toString.call(obj[arr[i]]) == '[object Array]')
&& (obj[arr[i]] && obj[arr[i]] != 'undefined'))) { && ((obj[arr[i]] || obj[arr[i]] === 0 || obj[arr[i]] === false) && obj[arr[i]] != 'undefined'))) {
str += arr[i] + "=" + obj[arr[i]] + "&"; str += arr[i] + "=" + obj[arr[i]] + "&";
} }
} }
var toSignStr = str.substr(0, str.length - 1); var toSignStr = str.substr(0, str.length - 1);
var sb = toSignStr + secret; var sb = toSignStr + secret;
console.log("cmd=ApiSignUtils:toSign msg=original Sign:" + sb.toString() + " req param:" + obj); console.log("cmd=ApiSignUtils:toSign msg=original Sign:" + sb.toString());
// 对sb进行md5加密后得到svrSign // 对sb进行md5加密后得到svrSign
svrSign = md5(sb); svrSign = md5(sb);
console.log("svrSign===>" + svrSign); console.log("svrSign===>" + svrSign);
} }
if (svrSign.toLowerCase() == obj["sign"].toLowerCase()) { return svrSign;
console.log("cmd=ApiSignUtils:SignValid msg=original Sign:" + svrSign)
return true;
}
console.error("cmd=ApiSignUtils:SignValid msg=Sign validtate fail! svrSign:" + svrSign + " reqSign:" + obj["sign"]);
return false;
} }
static queueOper(obj) { static queueOper(obj) {
......
const axios = require("axios");
const settings = require("../../config/settings");
const system = require("../system");
const ftConfig = settings.ftConfig();
let ftTenantInfo; // 财税中心 缓存
/**
* 发送 post 请求
* @param {*} url
* @param {*} data
* @param {*} headers
*/
const postRequest = async (url, data, headers = {}) => {
try {
console.log(`${url} : 推送财税中心数据 ------- `);
console.log(JSON.stringify(data))
let result = await axios.post(url, data, {
headers: {
'Content-Type': 'application/json',
...headers
},
timeout: 5000,
});
result = result.data;
console.log("推送财税中心返回数据 ------- ");
console.log(JSON.stringify(result));
if (result.code == 1) {
return result.data
} else {
throw new Error(result.errMsg);
}
} catch (err) {
console.log("------ 财税中心err -----");
console.log(err)
throw (err)
}
}
/**
* 向财税 项目 发送消息 (不带签名)
* @param {*} url
* @param {*} data
* @param {*} headers
*/
const postToFt = (url, data, headers = {}) => {
return postRequest(`${ftConfig.url}${url}`, data, headers = {})
}
/**
* 租户 向财税 项目 发送消息 带签名
* @param {*} url
* @param {*} data
* @param {*} headers
*/
const postToFtBySign = async (url, data, headers = {}) => {
let tenantInfo = await getChannelCompany();
data.companyId = tenantInfo.id;
let sign = system.signValid(data, tenantInfo.signSecret);
return postRequest(`${ftConfig.url}${url}`, { ...data, sign }, headers = {})
}
/**
* 财税 获取 租户信息
*/
const getChannelCompany = async () => {
// 内存 缓存
if (ftTenantInfo) {
return ftTenantInfo
}
let reqData = {
channelCode: ftConfig.channelCode,
}
let sign = system.signValid(reqData, ftConfig.secret);
const companyData = await postToFt("/company/getChannelCompany", {
...reqData,
sign
});
if (companyData.datas && companyData.datas.length > 0) {
ftTenantInfo = companyData.datas[0]
return ftTenantInfo;
} else {
throw ("渠道码信息获取错误");
}
}
/**
* 建账
*/
const addCusAccApplyInfo = async () => {
let reqData = {
accountStandard: 1,
applyDate: "2020-09-10",
contact: "JAMES7",
creditCode: "911101053516460817K",
customerName: "北京融易算",
phoneNumber: "18510669367",
valueAddedTax: 1,
serviceTime: "5",
initPeriod: 202009,
}
const data = await postToFtBySign('/cusAccApplyInfo/addCusAccApplyInfo', reqData);
console.log(data);
}
module.exports = {
postToFtBySign,
addCusAccApplyInfo
}
...@@ -59,6 +59,21 @@ var settings = { ...@@ -59,6 +59,21 @@ var settings = {
return "http://logs-sytxpublic-msgq-service/api/queueAction/producer/springBoard"; return "http://logs-sytxpublic-msgq-service/api/queueAction/producer/springBoard";
} }
}, },
ftConfig: function () {
if (this.env == "localhost") {
return {
channelCode: "e0kj8ehs",
secret: "92a15b9b4c5a9ea708bb5583408e1441",
url: "https://nt-api.gongsibao.com/nga-api"
};
} else {
return {
channelCode: "e0kj8ehs",
secret: "92a15b9b4c5a9ea708bb5583408e1441",
url: "https://nt-api.gongsibao.com/nga-api"
};
}
},
pmappid: 1, pmappid: 1,
pmcompanyid: 1, pmcompanyid: 1,
pmroleid: { "ta": 1, "pr": 2 }, pmroleid: { "ta": 1, "pr": 2 },
......
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