lighter il y a 1 an
Parent
commit
0cd8fc6e05

+ 10 - 0
src/main/java/thyyxxk/wxservice_server/entity/wxapi/RfndPrm.java

@@ -1,6 +1,7 @@
 package thyyxxk.wxservice_server.entity.wxapi;
 
 import lombok.Data;
+import thyyxxk.wxservice_server.utils.StringUtil;
 
 import javax.validation.constraints.NotBlank;
 
@@ -17,4 +18,13 @@ public class RfndPrm {
 
     @NotBlank(message = "退款原因不能为空。")
     private String refundReason;
+
+    private String staffId;
+
+    // YM=医美
+    private String refundType;
+
+    public String getRefundType() {
+        return null == refundType ? "ZZJ" : refundType;
+    }
 }

+ 8 - 3
src/main/java/thyyxxk/wxservice_server/service/WxRefundService.java

@@ -46,16 +46,21 @@ public class WxRefundService {
     }
 
     public String selfServiceMachineRefund(RfndPrm params) {
-        log.info("自助机退款:{}", params);
         WxPayOrder order = dao.selectOrderByTradeNo(params.getTradeNo());
         TradeVectorUtil.addBeingRefund(params.getTradeNo());
         if (null == order) {
-            log.info("退款失败,未找到订单号为【{}】的订单。", params.getTradeNo());
             TradeVectorUtil.removeBeingRefund(params.getTradeNo());
             return "ERROR:退款失败,没有找到符合订单号的订单。";
         }
+        boolean isYm = params.getRefundType().equals("YM");
+        String loggerhead = isYm ? "医美" : "自助机";
+        log.info("{}退款:{}", loggerhead, params);
+        String staff = isYm ? params.getStaffId() : "slf_srvc_mchn";
+        if (StrUtil.isBlank(staff)) {
+            return "ERROR:退款失败,操作员不能为空!";
+        }
         order.setRefundOpDatetime(new Date());
-        order.setRefundOpCode("slf_srvc_mchn");
+        order.setRefundOpCode(staff);
         order.setRefundReason(params.getRefundReason());
         return executeRefund(order);
     }