feat: 添加 sh6 适配器及其代理调用功能
This commit is contained in:
parent
121a46ce33
commit
7192d9ecd6
@ -3,10 +3,11 @@ CONFIG_ADAPTER_ROLE=gateway
|
|||||||
CONFIG_MONGO_ENABLED=false
|
CONFIG_MONGO_ENABLED=false
|
||||||
|
|
||||||
# 测试环境: 前端按 HIS 选项传固定 corpId,网关按 corpId 路由到医院编码。
|
# 测试环境: 前端按 HIS 选项传固定 corpId,网关按 corpId 路由到医院编码。
|
||||||
CONFIG_HOSPITAL_ADAPTER_CORP_MAP={"wwa54dfba0b5441ef1":"gk","wpLgjyawAAEqxCUmBMjLo8CnXdDuQoeg":"zpfb"}
|
CONFIG_HOSPITAL_ADAPTER_CORP_MAP={"wwa54dfba0b5441ef1":"gk","wpLgjyawAAxKtBH5GVT5DVhLefg246Ag":"sh6","wpLgjyawAAEqxCUmBMjLo8CnXdDuQoeg":"zpfb"}
|
||||||
CONFIG_HOSPITAL_ADAPTER_ROUTE_MODE_MAP={"gk":"local","zpfb":"direct"}
|
CONFIG_HOSPITAL_ADAPTER_ROUTE_MODE_MAP={"gk":"local","sh6":"local","zpfb":"direct"}
|
||||||
CONFIG_HOSPITAL_ADAPTER_DIRECT_URL_MAP={"zpfb":"http://120.224.145.13:8082"}
|
CONFIG_HOSPITAL_ADAPTER_DIRECT_URL_MAP={"zpfb":"http://120.224.145.13:8082"}
|
||||||
|
|
||||||
CONFIG_GK_JHIDS_PROXY_URL=https://crm.gykqyy.com/ykt/getYoucanData/gkJhids
|
CONFIG_GK_JHIDS_PROXY_URL=https://crm.gykqyy.com/ykt/getYoucanData/gkJhids
|
||||||
|
CONFIG_SH6_DSP_PROXY_URL=https://hlwyy.6thhosp.com:4443/getYoucanData/customerHisSync
|
||||||
|
|
||||||
CONFIG_RPC_TIMEOUT_MS=30000
|
CONFIG_RPC_TIMEOUT_MS=30000
|
||||||
|
|||||||
@ -1,7 +1,8 @@
|
|||||||
const zpfb = require("./zpfb");
|
const zpfb = require("./zpfb");
|
||||||
const gk = require("./gk");
|
const gk = require("./gk");
|
||||||
|
const sh6 = require("./sh6");
|
||||||
|
|
||||||
const STATIC_ADAPTERS = [zpfb, gk].reduce((acc, adapter) => {
|
const STATIC_ADAPTERS = [zpfb, gk, sh6].reduce((acc, adapter) => {
|
||||||
acc[adapter.hospitalCode] = adapter;
|
acc[adapter.hospitalCode] = adapter;
|
||||||
return acc;
|
return acc;
|
||||||
}, {});
|
}, {});
|
||||||
|
|||||||
64
src/adapters/sh6/index.js
Normal file
64
src/adapters/sh6/index.js
Normal file
@ -0,0 +1,64 @@
|
|||||||
|
const axios = require("axios");
|
||||||
|
const { parsePositiveInteger } = require("../../core/config");
|
||||||
|
|
||||||
|
const hospitalCode = "sh6";
|
||||||
|
const SH6_CORP_ID = "wpLgjyawAAxKtBH5GVT5DVhLefg246Ag";
|
||||||
|
const DEFAULT_TIMEOUT_MS = 30000;
|
||||||
|
|
||||||
|
async function customerHisSync(event = {}) {
|
||||||
|
const proxyUrl = getProxyUrl();
|
||||||
|
if (!proxyUrl) {
|
||||||
|
return {
|
||||||
|
success: false,
|
||||||
|
message: "未配置六院 HIS 代理地址",
|
||||||
|
list: [],
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
const response = await axios.post(
|
||||||
|
proxyUrl,
|
||||||
|
{
|
||||||
|
...(event || {}),
|
||||||
|
corpId: SH6_CORP_ID,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
timeout: getTimeoutMs(),
|
||||||
|
headers: { "Content-Type": "application/json" },
|
||||||
|
},
|
||||||
|
);
|
||||||
|
return response.data;
|
||||||
|
} catch (err) {
|
||||||
|
return {
|
||||||
|
success: false,
|
||||||
|
message:
|
||||||
|
(err.response && err.response.data && err.response.data.message) ||
|
||||||
|
err.message ||
|
||||||
|
"六院 HIS 代理调用失败",
|
||||||
|
list: [],
|
||||||
|
err: err.code,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function getProxyUrl() {
|
||||||
|
return String(
|
||||||
|
process.env.CONFIG_SH6_DSP_PROXY_URL ||
|
||||||
|
process.env.CONFIG_SH6_CUSTOMER_HIS_SYNC_PROXY_URL ||
|
||||||
|
"",
|
||||||
|
).trim();
|
||||||
|
}
|
||||||
|
|
||||||
|
function getTimeoutMs() {
|
||||||
|
return parsePositiveInteger(
|
||||||
|
process.env.CONFIG_SH6_DSP_PROXY_TIMEOUT_MS ||
|
||||||
|
process.env.CONFIG_SH6_CUSTOMER_HIS_SYNC_PROXY_TIMEOUT_MS,
|
||||||
|
DEFAULT_TIMEOUT_MS,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
module.exports = {
|
||||||
|
hospitalCode,
|
||||||
|
customerHisSync,
|
||||||
|
main: customerHisSync,
|
||||||
|
};
|
||||||
Loading…
x
Reference in New Issue
Block a user