Ver Fonte

fix: 消息跳转问题

Walker há 2 anos atrás
pai
commit
4984c2d5ec

+ 9 - 1
onemini-hospital-empty/src/main/java/com/ywt/alipaympapi/service/MessageService.java

@@ -20,6 +20,8 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import redis.clients.jedis.JedisCommands;
 
+import java.io.UnsupportedEncodingException;
+import java.net.URLEncoder;
 import java.util.Date;
 
 /**
@@ -97,7 +99,13 @@ public class MessageService {
         // 医院登记号
         String hospRegId = "352790440111410131";
         // 小程序跳转路径
-        String mpPath = String.format("alipays://platformapi/startapp?appId=%s&page=antbuilder/industry/hospitalV2/pages/page-no-pull/index?header=show&orderId=%d&pageType=appointment-result&title=挂号详情", appId, orderId);
+        String pathParam = "";
+        try {
+            pathParam = URLEncoder.encode(String.format("?header=show&orderId=%d&pageType=appointment-result&title=挂号详情", orderId), "utf-8");
+        } catch (UnsupportedEncodingException e) {
+            log.error("MessageService#sendRegMsg UnsupportedEncodingException: {}", e.getMessage(), e);
+        }
+        String mpPath = String.format("alipays://platformapi/startapp?appId=%s&page=antbuilder/industry/hospitalV2/pages/page-no-pull/index%s", appId, pathParam);
         JSONObject jsonBody = new JSONObject(); //业务流程参数 String(6000) 业务流程请求参数说明
         jsonBody.put("out_biz_no", orderNo);//医院预约单订单号 唯一不重复(同一 家 ISV 接入的所有 医院的挂号单、检 查号、医药单都不 可重复) String(128)
         jsonBody.put("partner_id", isvPid); //ISV的PID,支付宝id(2088 开头)。同一家ISV 请保持一致!