lighter 10 tháng trước cách đây
mục cha
commit
38fa5055f9

+ 5 - 0
src/main/java/thyyxxk/wxservice_server/entity/wxapi/WxPyQrcdPrm.java

@@ -46,4 +46,9 @@ public class WxPyQrcdPrm {
      * HIS单号,orderType=8时必传
      * */
     private String hisOrdNum;
+
+    /**
+     * 患者姓名,orderType=8时必传
+     * */
+    private String patName;
 }

+ 12 - 5
src/main/java/thyyxxk/wxservice_server/service/WxApiService.java

@@ -246,12 +246,16 @@ public class WxApiService {
     }
 
     public ResultVo<Map<String, String>> getWxPayQrcode(WxPyQrcdPrm param) {
-        String patName = dao.selectPatientName(param.getPatientId());
-        if (null == patName) {
-            return ResultVoUtil.fail(ExceptionEnum.NULL_POINTER, "没有找到患者信息,请检查patientId是否正确!");
-        }
+
         WxPayOrder order = new WxPayOrder();
         OrderType orderType = OrderType.get(param.getOrderType());
+        if (orderType != OrderType.AESTHETIC_MEDICINE) {
+            String patName = dao.selectPatientName(param.getPatientId());
+            if (null == patName) {
+                return ResultVoUtil.fail(ExceptionEnum.NULL_POINTER, "没有找到患者信息,请检查patientId是否正确!");
+            }
+            order.setPatientName(patName);
+        }
         switch (orderType) {
             case INPATIENT_PRE_PAY:
                 if (StringUtil.isBlank(param.getInpatientNo())) {
@@ -274,7 +278,11 @@ public class WxApiService {
                 if (StringUtil.isBlank(param.getHisOrdNum())) {
                     return ResultVoUtil.fail(ExceptionEnum.NULL_POINTER, "HIS单号不能为空!");
                 }
+                if (StringUtil.isBlank(param.getPatName())) {
+                    return ResultVoUtil.fail(ExceptionEnum.NULL_POINTER, "患者姓名不能为空!");
+                }
                 order.setHisOrdNum(param.getHisOrdNum());
+                order.setPatientName(param.getPatName());
                 break;
         }
         WechatPayGlobalRequest request = new WechatPayGlobalRequest.Builder()
@@ -288,7 +296,6 @@ public class WxApiService {
         order.setOpenid("");
         order.setTotalFee(DecimalTool.moneyFenToYuan(param.getTotalAmt()));
         order.setPatientId(param.getPatientId().trim());
-        order.setPatientName(patName);
         order.setMchId(PropertiesUtil.getLocalProperty("mchId"));
         order.setTimeStamp(String.valueOf(timesStamp));
         order.setTradeNo(response.getTradeNo());