报告解读签名生成调整

德宏州中医院智能导诊配置文件升级
debug
王绍全 1 week ago
parent 3eeae9cdd9
commit 3ee8fe50e1
  1. 38
      src/main/java/com/ynxbd/common/TestA.java
  2. 34
      src/main/java/com/ynxbd/common/action/healthcard/HCReportAction.java
  3. 17
      src/main/java/com/ynxbd/common/config/healthcard/HCSignHelper.java
  4. 2
      src/main/java/com/ynxbd/common/helper/common/XmlConfigHelper.java
  5. 30
      src/main/resources/copy/ai-guidance/德宏州中医院-hc-config.xml

@ -2,44 +2,6 @@ package com.ynxbd.common;
public class TestA { public class TestA {
// public static void main(String[] args) throws Exception {
// // System.out.println(AesWxHelper.decode(""));
// }
// public static void main(String[] args) {
// String KEY = "3431de05cbf9d0ffdbc064a352835981";
// String PARTNER_ID = "100000637";
//
// String timestamp = System.currentTimeMillis() + "";
// String str = PARTNER_ID + timestamp;
// String cacheSign = HMACHelper.sha256(str, KEY);
// System.out.println(timestamp);
// System.out.println(cacheSign);
// }
// public static void main(String[] args) {
// String KEY = "3431de05cbf9d0ffdbc064a352835981";
// String PARTNER_ID = "100000637";
//
// String timestamp = System.currentTimeMillis() + "";
// String str = PARTNER_ID + timestamp;
// String cacheSign = HMACHelper.sha256(str, KEY);
// System.out.println(timestamp);
// System.out.println(cacheSign);
// }
public static void getSignInfo(javax.servlet.http.HttpServletRequest request) {
System.out.println("222222222");
}
// 测试
public static void main(String[] args) {
System.out.println("1111111111");
}
// public static void main(String[] args) { // public static void main(String[] args) {
// String respXML = "<Response>\n" + // String respXML = "<Response>\n" +
// "\t<TransactionCode>1002</TransactionCode>\n" + // "\t<TransactionCode>1002</TransactionCode>\n" +

@ -38,23 +38,23 @@ public class HCReportAction extends BaseAction {
// Map<String, Object> reportInfo = new HashMap<>(); // Map<String, Object> reportInfo = new HashMap<>();
// partnerId:合作方ID 腾讯健康提供 // partnerId:合作方ID 腾讯健康提供
// JSONObject jsonObject = OkHttpHelper.postJson(url + "合作方ID 腾讯健康提供", params -> { JSONObject jsonObject = OkHttpHelper.postJson(url + "合作方ID 腾讯健康提供", params -> {
// params.put("reqHead", reqHead); params.put("reqHead", reqHead);
// params.put("hospitalId", HealthCardConfig.H_HOSPITAL_ID); params.put("hospitalId", HealthCardConfig.H_HOSPITAL_ID);
// params.put("outerId", reportId); params.put("outerId", reportId);
// params.put("healthCardId", healthCardId); params.put("healthCardId", healthCardId);
// params.put("patientId", patientId); params.put("patientId", patientId);
// params.put("msgId", msgId); params.put("msgId", msgId);
// params.put("reportFileType", 2); // [ 1:pdf;2:图片;3:文本] params.put("reportFileType", 2); // [ 1:pdf;2:图片;3:文本]
// params.put("reportContent", reportContent); // 报告内容:报告文件base64编码、体积需要在30MB以内 当reportFileType 取值为 1, 2时,将报告文件base64编码放在该字段 params.put("reportContent", reportContent); // 报告内容:报告文件base64编码、体积需要在30MB以内 当reportFileType 取值为 1, 2时,将报告文件base64编码放在该字段
// params.put("textReportInfo", ""); // 当reportFileType 取值为 3 时,将文本报告内容放下该字段。 params.put("textReportInfo", ""); // 当reportFileType 取值为 3 时,将文本报告内容放下该字段。
// }, headers -> { }, headers -> {
// headers.add("Content-Type", "application/json"); headers.add("Content-Type", "application/json");
// headers.add("god-portal-signature", config.getSign()); headers.add("god-portal-signature", config.getSignature());
// headers.add("god-portal-timestamp", config.getTimestamp()); headers.add("god-portal-timestamp", config.getTimestamp());
// headers.add("god-portal-request-id", requestId); headers.add("god-portal-request-id", requestId);
// }); });
// log.info("[报告解读] resp={}", jsonObject); log.info("[报告解读] resp={}", jsonObject);
return Result.success(); return Result.success();
} }
} }

@ -1,6 +1,7 @@
package com.ynxbd.common.config.healthcard; package com.ynxbd.common.config.healthcard;
import cn.hutool.crypto.digest.DigestUtil; import cn.hutool.crypto.digest.DigestUtil;
import com.ynxbd.common.helper.common.HMACHelper;
import lombok.Getter; import lombok.Getter;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
@ -9,7 +10,7 @@ import java.util.UUID;
@Slf4j @Slf4j
@Getter @Getter
public class HCSignHelper { public class HCSignHelper {
private String sign; private String signature;
private String timestamp; private String timestamp;
private String requestId; private String requestId;
@ -20,8 +21,20 @@ public class HCSignHelper {
// 2. 拼接 signStr = partnerId + timestamp + token // 2. 拼接 signStr = partnerId + timestamp + token
String signStr = partnerId + this.timestamp + token; String signStr = partnerId + this.timestamp + token;
// 3. MD5 32位小写 // 3. MD5 32位小写
this.sign = DigestUtil.md5Hex(signStr); this.signature = DigestUtil.md5Hex(signStr);
this.requestId = String.valueOf(UUID.randomUUID()); this.requestId = String.valueOf(UUID.randomUUID());
return this; return this;
} }
public static void main(String[] args) {
String TOKEN = "795b207e12572839976d9310bdde32be";
String PARTNER_ID = "100000317";
String timestamp = System.currentTimeMillis() + "";
String str = PARTNER_ID + timestamp;
String cacheSign = HMACHelper.sha256(str, TOKEN);
System.out.println(timestamp);
System.out.println(cacheSign);
}
} }

@ -132,7 +132,7 @@ public class XmlConfigHelper {
// //
// //
// public static void main(String[] args) { // public static void main(String[] args) {
// Element report = readXmlConfig("hc-config.xml", "report"); // Element report = readXmlConfig("德宏州中医院-hc-config.xml", "report");
// String s = report.elementText("is_dev"); // String s = report.elementText("is_dev");
// System.out.println(s); // System.out.println(s);
// } // }

@ -0,0 +1,30 @@
<?xml version="1.0" encoding="UTF-8"?>
<config>
<!-- 报告解读 -->
<report>
<is_dev></is_dev>
<partner_id></partner_id>
<token></token>
</report>
<!-- 智能导诊 -->
<ai_guidance>
<!-- 是否开启 -->
<is_enable>true</is_enable>
<!-- 是否为分时段挂号(默认true) -->
<is_split_time_reg>true</is_split_time_reg>
<!-- 合作方ID -->
<partner_id>100000317</partner_id>
<!-- 密钥token -->
<token>795b207e12572839976d9310bdde32be</token>
<!-- 测试密钥token -->
<dev_token>795b207e12572839976d9310bdde32be</dev_token>
<hosp_id name="医院ID">20002953</hosp_id>
<hosp_name name="医院名称">德宏州中医医院</hosp_name>
<hosp_intro name="医院介绍">暂无介绍</hosp_intro>
<hosp_level name="医院等级">三级乙等</hosp_level>
<hosp_address name="医院地址">暂无地址</hosp_address>
<hosp_tel name="联系方式">0692-2121450</hosp_tel>
</ai_guidance>
</config>
Loading…
Cancel
Save