From 9cf6d184a1b8a3a2a951a6842a586906747d46cd Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期二, 05 八月 2025 20:56:43 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev' into dev

---
 UserZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java |   48 ++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 48 insertions(+), 0 deletions(-)

diff --git a/UserZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java b/UserZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java
index 2af95df..e3f45e6 100644
--- a/UserZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java
+++ b/UserZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java
@@ -1401,4 +1401,52 @@
             e.printStackTrace();
         }
     }
+
+    /**
+     * 专车微信退款成功回调
+     * @param request
+     * @param response
+     */
+    @ResponseBody
+    @PostMapping("/base/transferWXNotify")
+    public void transferWXNotify(HttpServletRequest request, HttpServletResponse response){
+        try {
+            Map<String, String> map = payMoneyUtil.wxRefundCallback(request);
+            if(null != map){
+                String order_id = map.get("refund_id");
+                String out_refund_no = map.get("out_refund_no");
+                String refund_fee = map.get("refund_fee");
+                String result = map.get("result");
+                if(ToolUtil.isNotEmpty(out_refund_no) && ToolUtil.isNotEmpty(order_id)){
+                    PrintWriter out = response.getWriter();
+                    out.write(result);
+                    out.flush();
+                    out.close();
+
+                    String[] split = out_refund_no.split(",");
+                    try{
+                        Integer.valueOf(split[0]);
+                    }catch (Exception e){
+                        split = split[0].split("_");
+                    }
+                    Integer id = Integer.valueOf(split[0]);
+                    Integer type = Integer.valueOf(split[1]);
+                    switch (type){
+                        case 1:
+                            OrderPrivateCar orderPrivateCar = orderPrivateCarService.selectById(id);
+                            if(orderPrivateCar.getState() == 10 || orderPrivateCar.getState() == 12){
+                                //添加交易明细
+                                transactionDetailsService.saveData(orderPrivateCar.getUserId(), "专车取消退款", Double.valueOf(refund_fee), 2, 1, 1, 1, id);
+                            }else {
+                                transactionDetailsService.saveData(orderPrivateCar.getUserId(), "专车差价退款", Double.valueOf(refund_fee), 2, 1, 1, 1, id);
+                            }
+                            break;
+                    }
+                }
+            }
+        }catch (Exception e){
+            e.printStackTrace();
+        }
+    }
+
 }

--
Gitblit v1.7.1