Преглед на файлове

fix: 消息发送兼容

Walker преди 2 години
родител
ревизия
c4b24688e5

+ 6 - 0
onemini-hospital-empty/src/main/java/com/ywt/alipaympapi/core/utils/BizUtil.java

@@ -296,6 +296,9 @@ public final class BizUtil {
         cfg.setMerchantPrivateKey(Constants.MERCHANT_PRIVATE_KEY_NFYYBYFY);
         cfg.setPublicKey(Constants.ALIPAY_PUBLIC_KEY_NFYYBYFY);
         cfg.setHospitalId(Constants.HOSPITAL_ID_NFYYBYFY);
+        cfg.setHospRegId(Constants.ALIPAYMP_HOSP_REG_ID_NFYYBYFY);
+        cfg.setHospitalPid(Constants.ALIPAYMP_HOSPITAL_PID_NFYYBYFY);
+        cfg.setTenantAppId(Constants.ALIPAYMP_TENANT_APP_ID_NFYYBYFY);
         cfg.setTerminal(TerminalEnum.NFYYBYFY_ALIPAY_MP.getValue());
         return cfg;
     }
@@ -309,6 +312,9 @@ public final class BizUtil {
         cfg.setMerchantPrivateKey(Constants.MERCHANT_PRIVATE_KEY_NFTH);
         cfg.setPublicKey(Constants.ALIPAY_PUBLIC_KEY_NFTH);
         cfg.setHospitalId(Constants.TAIHE_HOSPITAL_ID);
+        cfg.setHospRegId(Constants.ALIPAYMP_HOSP_REG_ID_NFTH);
+        cfg.setHospitalPid(Constants.ALIPAYMP_HOSPITAL_PID_NFTH);
+        cfg.setTenantAppId(Constants.ALIPAYMP_TENANT_APP_ID_NFTH);
         cfg.setTerminal(TerminalEnum.TH_ALIPAY_MP.getValue());
         return cfg;
     }

+ 6 - 0
onemini-hospital-empty/src/main/java/com/ywt/alipaympapi/models/Constants.java

@@ -18,6 +18,9 @@ public class Constants {
     public static final String MERCHANT_PRIVATE_KEY_NFYYBYFY = "MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDTrydAgG5HUwvoYE6L4WFlgIhX2fKPEFvlpDyCremBPk5Zp3OMpoj3cfcd36Im/0MndQII90hErcRqfUEPJhw+F2CSBpxkLTb/7J1iRyUiKjv5G+24qG4FQIo/yc0o7xQsNLJR7McbS3ROuuPg1jN5qL8XKCPxCHEL5QzzJCVp+Jz+GKeGYPPmPdALC1nxgOKjYjpJrwOGtaU+7WuaB9SVz98xU3FocLFDTqE0MCQySOxxB0CZgBEPahp2l2B6FcMBoRok2p1ODIlN1ihfEEIrAU9rmso7swxEo65oaCuZu/bkH1FvmcayjMJ0xBir8pBh96tKt8loU++LY9y1rq6tAgMBAAECggEAAqvUJ/k26wl+PflxJEy8yOYdUlZ6vBltv3EaHmAJcUsS/Aij6aN0WQMEJklbJ3jTJR1R4EEWlV9H+jwIZSOK+bGb01vn/0+ewQ4AUmwpaMv1o8gZcNoXQVO2KuXmA904ePJVSbleLdb+6btsArtRPPjHKIimI3WCz66dQjgzjKnDloaaDIrx6bi3J0GOxzRGfMTMTuqhr6cm1OWCgSIFK+jTj61o7eIx1ZYY3OorApS9Q5CF3OHAXn6ignBxdvuyzDfA9VNMihrnuDcWy674mMOciu6TYx4Y0nwpFedKU29uR5Scgr0DGQFeLBSZmyd5kblDTu/CF5sFK5kr7H2pYQKBgQD3guHqAeObnItkmLdJfOkdfcoSmS5UZeyyyaJitjCbUGydJPUA8RipYKCM4rhRQYZvyIWwo52BahhzwGrp+3gdQWOQ6SRVXZXQVwsvWfkWaVkgRxeM0GASsFAnSjoHEEfRNifWRPcCSzSrvr0W+X7Wjc9XSiafOaKPuJeyTrVHiQKBgQDa8ba3l1/L2q6+al6UFsgn4WeIDHVaiDnIp1W+tT7UYPBEraedke1SjjGACfOrFfvNW35Vo6nV1olekB0D1AB2alLXN0x0swjit2TRKHOj8eH5uzplcktBNygDicnG09JW5RnQL21D7xf01L5b2lv52DvR7anrikkf3TdrNAbBBQKBgESm9wazU3CcMUXL3jrx/K8DbwNNnb4nL0pAB1yd8EmEOzwzPgnu1cpVVPL/B+Tx6dojooFmQI/e371rh7wy1hQ3SOiu4jcTaDSLkDyoFiETQ3digLO8MIm+gd0EB6hh6amr/cy/AEyQk6F3nHc86OOWHga2OJQ9pkt7BgidMEcRAoGBAKE9MVqzWBFA0z/YBh75SB5WmXBP/HzXpfZnhXYU9Fhjq45odPBN74DExx+MNK7iWbY6kyduiDy66h+B8lxHXK/YTXnBd8TZtMmCVfTS3Zb3I3xOrgrXySQWApnYd4i9pkHoJsJyqv1Er1fW9PmgLewpmqRXarPT+1ZEC/QfNHohAoGBAOpKX5QeQfk3x9ae6Wtvuw5hdF0aPaWpimPAFion5jqINoJc13gMo1YhU2eUMwvw8kkB/edvAp12EFRb7Esza4ZXc7uDWnYMPh8Wx8iHBEKxpUneNADmxpo2LXO+AXE4ZgIojeUSYPAGSHb16uG15lxamLqlLIJ44FR+1F86jk4L";
     public static final String ALIPAY_PUBLIC_KEY_NFYYBYFY = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtUtjYn+V60um6GVF0ezsI4NCI8QAiM8BT7SQda3RDzIssPbU5U3GJo/5bbu+k+pOpCOUlGVve2VoO+AXMWizCA8U/RleN7fNE09yw7RdLfLssNp6J4zGfBHQBWMiTrJvGZ4LzZHiwJgf28CGwcovjAK6M8bjF30k5ChQ8YIi+YYuer8yae7XfORLiSTByakglURlVUZF7QgbLph9i/OBk83HribZh+B/n97vavrAUyTjbDE3TMsINsAfMSY1omweXuvqjndYI+XmiBM4nBPHlPsXEeaF9TE8LuIqWm5mnRKWa/0I31RkE+W19tFUx5mF3oHw6SvyVuUQVx0HWGIPKQIDAQAB";
     public static final String ALIPAYMP_SAAS_SEC_KEY_NFYYBYFY = "LdYnclVYOKdN5NRDbTDVyXbQiBQiysOQ";
+    public static final String ALIPAYMP_HOSP_REG_ID_NFYYBYFY = "352790440111410131";
+    public static final String ALIPAYMP_HOSPITAL_PID_NFYYBYFY = "2088441565011410";
+    public static final String ALIPAYMP_TENANT_APP_ID_NFYYBYFY = "20220815114100017389";
 
     // 支付宝小程序配置常量(太和)
     public static final String ALIPAYMP_APPID_NFTH = "2021003161601045";
@@ -25,6 +28,9 @@ public class Constants {
     public static final String MERCHANT_PRIVATE_KEY_NFTH = "MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDO42axAKPPJpNIQcaOi59EyR9VvvLDmKD+wnhhElOZL/6Zj46tBA1BgF+RipE/4YLQS4LtEejbJtUET+0jdB/bL7oem9eWVipzPmUJTJTC+FlEVowlYl9Ra0cWIE0A71MUgPZSKwgeRcKgkX1dV4809kisDSLbbtILzs59dzMPA5B1KQaf44EyT5Rk9Je7EL/3rdcbel7WzVTPLWP3wKc1g57IlU42xdY+XWSWsSt6od6Lf6chZtYv/I0TsqOq+Qfac/VpIJbhTOt6T0UuH21/ZasHfyoEumyA+/43+sxuYacxvklxhAfZUfR3nOLIo1c8f0j0PnUbWWnmDf0wXLPFAgMBAAECggEAfwO3KRX2e5f4NhVDvIHVnxpG5ZKcYh8TQDTOSPJCZrrDeS1cb7YcGUmh4q2KrQhbElw5nigvqFP31XToZqrFYAC2KFKPEdoGp8f3qbTdY7GqxDzKP61cTZUqCFh+TgOgIudl0l5e1o8HhSKtL6Aw6FgHl7Fc5BDuXZdyyC5lJ2Jx+ec/khoARCnZ9hDBG02cXFcfE99LAHhpBduMhu6wfISnRs9zB3i4x25g8Xl8EcKFvIfpq5MIXBRzsICtUustFsy9GXnuOgIzsT91EdgPK53lTux6BhO65O7S97G0Yb7WB63XbcQWW5jyHN7fLZjwig30tCSJ1eyvpFSViVxeBQKBgQD81VHEfvR1XMrfSF4Pn5mxKm3RKEuvgg00HudG9VUk0pISP+UyQ5bScvMpqkpnln0/Z0xUn2CUgWN8HPObXUfXgtr8iYzo/ah6I8XoP65eTE2Jac3bCVWsa4yxo6x/3vsYfdfRIV5Aw8FKKZnTAZOXgZziBKpiBq5pi+OAMBsjHwKBgQDResOyVMq2nLFt9YK3pf5rF4ST60pUziJJe+ZG76E4St90eVLt/KPc3FnrnuVITVa+Qrlk5i4p0KvC2Amy6dCewLwMx9Z2lFEdB8xXHTMgI5GtShORGUynv7Tk5Am1pG8d2H4VitIDU9jLM12LTGo32ZZVB+NxJiyxg0yCkzOQmwKBgFpkziopla8MMQApeG+viRx9Zevcs0qZfaz/y4JkHj/fBRh/Pat93MN7E5L27kkg1cDAZtrubHJL3Ey4cSQ/8nqLr02QxA9c+UpJ1e0WL3pJX4Ncj5vbN4VAonm0Ye0JxM5Z17pOastO8aFZRETbkHAfh/6K2nvXla3otLrU+C7TAoGAe0ox28ej946JrxoMcWI1N3qEATs+aGNaMr3FboKi9Kq8kaTGdmN3Xgoisla2w7MhFqHW09fV266BKRBVxQNwUb9F7o+/XdM1Wky4q5z39jZ5CvDKS2AEicZ/BShhvpKlA3/j1XH64RJ8SjxVFiNHcM+Td0BJUNMTAvcwFLnmY3kCgYEArrxNfcf69LLNFHmKGWCCfT7ONY9iR3cm+F5iuZ652GL35VJ+oQ4gd/lFHygZazYFM7I+olQEeSNjdd3ELGoudI7n0XlL7A0ssYZTJ2YM4z8i7At2+3GtEGTAsnHBufhQsL6sPE4QELBJMvAyY0vjkXDdbmCvbgfX8t5eKGaVh7A=";
     public static final String ALIPAY_PUBLIC_KEY_NFTH = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAhmMqq+uNaxIALbQy8v1JNZcV1aav8w8R2jX1l5cOtRPM4qncEv6Sb934wWcLAAk3l4zwsRcczObEV8AcQ+ecnR+3wRX6+UtgGamU9ahIPe/SQ5/a3cmx5LJsKoe/gGeciVenmeCXDBgRZbIl1JUk8Iaf39YURTAAyMcMJlEBQwRM7FMApogpdMQ6DNw35d1BnV/0Yz7lrCGs/NBRsgbFXLKpuMzioouwVe6Yt7ItLMs8f4a+rlUvMVCmtNqLsbI/UnPvikAS/Gj7grfVSQy4X5uOd9AYEqc+Tt9WSlb5+4ur0YjLT951zinB6Hd2B/2dP+ARe1ZKP0Lk6aAGHxcAuQIDAQAB";
     public static final String ALIPAYMP_SAAS_SEC_KEY_NFTH = "OG5s0fhXVFEdbQitZLvNUJ9Wz2SNxkON";
+    public static final String ALIPAYMP_HOSP_REG_ID_NFTH = "44011145538500711A1001";
+    public static final String ALIPAYMP_HOSPITAL_PID_NFTH = "2088541186374195";
+    public static final String ALIPAYMP_TENANT_APP_ID_NFTH = "20221110741900035554";
 
     public static final String DOCTOR_AVATAR_URL = "http://ywt-image.oss-cn-shenzhen.aliyuncs.com/doctor/avatar/default.png?x-oss-process=image/resize,h_180,w_180";
 

+ 3 - 0
onemini-hospital-empty/src/main/java/com/ywt/alipaympapi/models/auth/AlipayMpCfg.java

@@ -15,4 +15,7 @@ public class AlipayMpCfg {
     private String publicKey;
     private int hospitalId;
     private int terminal;
+    private String hospRegId;
+    private String hospitalPid;
+    private String tenantAppId;
 }

+ 6 - 8
onemini-hospital-empty/src/main/java/com/ywt/alipaympapi/service/MessageService.java

@@ -61,17 +61,17 @@ public class MessageService {
      * @param alipayUid 支付宝用户 id
      * @param jsonBody 业务参数,具体根据业务类型按照文档拼接
      */
-    public void sendIntelliMsg(String appId, String alipayUid, JSONObject jsonBody) {
+    public void sendIntelliMsg(String appId, String alipayUid, JSONObject jsonBody, String hospitalPid, String tenantAppId) {
         try {
             String rk = String.format(Constants.RK_ACCESS_TOKEN, appId, alipayUid);
             String accessToken = jedisCommands.get(rk);
             CheckUtil.ensureNotEmpty(accessToken, rk + " 无法获取 accessToken");
             AlipayCommerceAppAuthUploadRequest request = new AlipayCommerceAppAuthUploadRequest();
             request.setServiceName("alipay.commerce.app.data");//应用服务名称 固定值 String(256) 不可空
-            request.setTargetId("2088441565011410"); //目标用户 String(64) 签约商家 PID 不可空
+            request.setTargetId(hospitalPid); //目标用户 String(64) 签约商家 PID 不可空
 
             CommerceAppUploadRequestContent content = new CommerceAppUploadRequestContent(); //服务数据参数
-            content.setTenantAppId("20220815114100017389"); //租户应 用ID String(64) 支付宝分配 不可空
+            content.setTenantAppId(tenantAppId); //租户应 用ID String(64) 支付宝分配 不可空
             content.setActivityId("upload_hospital_order"); //业务流程ID String(64) 不可空 此处固定为“upload_hospital_order”
 
             content.setBody(JSONObject.toJSONString(jsonBody));
@@ -93,10 +93,8 @@ public class MessageService {
     public void sendRegMsg(int orderId, String orderNo, String alipayUid, String orderCreateTime, String orderAmountStr,
                            String tradeNo, String hospitalName, String deptName, String doctorName, String doctorId,
                            String patientName, String regDate, String deptLoc, String appId, String merchantOrderStatus,
-                           String isvPid) throws AppMessageException {
+                           String isvPid, String hospitalPid, String tenantAppId, String hospitalRegId) throws AppMessageException {
         CheckUtil.ensureNotEmpty(deptLoc, "科室位置不能为空");
-        // 医院登记号
-        String hospRegId = "352790440111410131";
         // 小程序跳转路径
         String pathParam = "";
         try {
@@ -139,7 +137,7 @@ public class MessageService {
 
         JSONObject extInfo = new JSONObject();
         extInfo.put("hospital", hospitalName);//医院名称
-        extInfo.put("hospital_register_id", hospRegId);//医院登记号
+        extInfo.put("hospital_register_id", hospitalRegId);//医院登记号
         extInfo.put("department", deptName);//就诊科室
         extInfo.put("dept_num", "");//诊室编号
         extInfo.put("dept_loc", deptLoc);//科室位置
@@ -158,6 +156,6 @@ public class MessageService {
         extInfo.put("merchant_order_link_page", mpPath);//订单链接
         jsonBody.put("ext_info", extInfo);
 
-        sendIntelliMsg(appId, alipayUid, jsonBody);
+        sendIntelliMsg(appId, alipayUid, jsonBody, hospitalPid, tenantAppId);
     }
 }

+ 4 - 1
onemini-hospital-empty/src/main/java/com/ywt/alipaympapi/web/controller/MsgController.java

@@ -49,8 +49,11 @@ public class MsgController {
             String appId = cfg.getAppId();
             // ISV的PID,支付宝id(2088 开头)。同一家ISV 请保持一致!
             String isvPid = cfg.getIsvPid();
+            String hospRegId = cfg.getHospRegId();
+            String hospitalPid = cfg.getHospitalPid();
+            String tenantAppId = cfg.getTenantAppId();
             messageService.sendRegMsg(orderId, orderNo, alipayUid, orderCreateTime, orderAmountStr, tradeNo, hospitalName, deptName,
-                    doctorName, doctorId, patientName, regDate, deptLoc, appId, merchantOrderStatus, isvPid);
+                    doctorName, doctorId, patientName, regDate, deptLoc, appId, merchantOrderStatus, isvPid, hospitalPid, tenantAppId, hospRegId);
             return baseResponse.succeed();
         } catch (AppMessageException appMessageException) {
             return baseResponse.error(appMessageException.getMessage());