Commit 90a91d84 by Sxy

feat: 财税发送消息

parent c91128c2
...@@ -360,17 +360,12 @@ class System { ...@@ -360,17 +360,12 @@ class System {
} }
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;
} }
} }
......
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