From f85face731c824dab846a152900457662cf75d3a Mon Sep 17 00:00:00 2001
From: mitao <2763622819@qq.com>
Date: 星期六, 22 十一月 2025 18:09:35 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 UserJYXTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java |  251 +++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 246 insertions(+), 5 deletions(-)

diff --git a/UserJYXTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java b/UserJYXTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java
index dfa6bc6..9ecbc2d 100644
--- a/UserJYXTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java
+++ b/UserJYXTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java
@@ -141,6 +141,9 @@
     @Value("${pushMinistryOfTransport}")
     private boolean pushMinistryOfTransport;
 
+    @Value("${huifu.rsa_public_key}")
+    private String rsa_public_key;
+
 
 
 
@@ -1488,7 +1491,7 @@
 
 
     /**
-     * 斗拱回调  取消订单
+     * 斗拱回调  微信取消订单
      * @param request
      */
     @ResponseBody
@@ -1521,6 +1524,59 @@
                             break;
                         case 3:
                             orderCrossCityService.payCancelOrderCrossCity(id, order_id, 1,out_trade_no);
+                            break;
+                    }
+
+                    PrintWriter out = response.getWriter();
+                    out.print("success");
+                    out.flush();
+                    out.close();
+
+                }
+
+//                cloudPay(map.get("total_fee"),map.get("transaction_id"),1);
+            }
+
+
+        }catch (Exception e){
+            e.printStackTrace();
+        }
+    }
+
+    /**
+     * 斗拱回调  取消订单支付宝
+     * @param request
+     */
+    @ResponseBody
+    @PostMapping("/base/DGCancelOrderTaxiZfb")
+    public void DGCancelOrderTaxiZfb(HttpServletRequest request, HttpServletResponse response){
+        try {
+            String sign =request.getParameter("sign");
+            String resp_data = request.getParameter("resp_data");
+            System.out.println(sign);
+            System.out.println(resp_data);
+            resp_data =  resp_data.replaceAll("& #40;", "(").replaceAll("& #41;",")");
+
+
+            boolean verify = RsaUtils.verify(resp_data, "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsWrruP9JBxrUd8uEX5Z8y7pg/UIr5RNHSgDnHqNI1hbi2MfTzB5vZ275wSFFaLDD9BesgDWqsUepPS/opROlDCg9y6WYH8mkN23NmHL9F8kT48OMmH722am+Hp0XVMMwXqA0oNt4f7oW6kDemjZW8/RT4vIE7cyxoxSsVRvjqSpx9wDgFLPWh3o0pHQaoxLyeUsGBATHFrxEDlosBvsuXjMcgjPKXALrcemzKOhBmBkLgyxNVmh61ZK+FNXd+/X4PeZlnWf54NRQAUKe1308E6IIaszo+CjneKuhj1m/X4f7AIvxAqlhuCV5E/DfKRmGopxaWqdtE960Y/H4SmBh2wIDAQAB", sign);
+            if(verify){
+                JSONObject jsonObject = JSONObject.parseObject(resp_data);
+                String order_id = jsonObject.get("out_trans_id").toString();
+                String out_trade_no = jsonObject.get("req_seq_id").toString();
+                String trans_stat = jsonObject.get("trans_stat").toString();
+                if("S".equals(trans_stat)){
+                    String[] split = out_trade_no.split("_");
+                    Integer id = Integer.valueOf(split[0]);
+                    Integer type = Integer.valueOf(split[1]);
+                    switch (type){
+                        case 1:
+                            orderPrivateCarService.payCancelOrderPrivateCar(id, order_id, 2,out_trade_no);
+                            break;
+                        case 2:
+                            orderTaxiService.payCancelOrderTaxi(id, order_id, 2,out_trade_no);
+                            break;
+                        case 3:
+                            orderCrossCityService.payCancelOrderCrossCity(id, order_id, 2,out_trade_no);
                             break;
                     }
 
@@ -1627,7 +1683,7 @@
 
 
     /**
-     * 斗拱回调  支付
+     * 斗拱回调  微信支付
      * @param request
      */
     @ResponseBody
@@ -1667,6 +1723,65 @@
                             break;
                         case 5:
                             orderLogisticsService.payOrderLogisticsCallback(id, order_id, 1,out_trade_no);
+                            break;
+                    }
+
+                    PrintWriter out = response.getWriter();
+                    out.print("success");
+                    out.flush();
+                    out.close();
+
+                }
+
+//                cloudPay(map.get("total_fee"),map.get("transaction_id"),1);
+            }
+
+
+        }catch (Exception e){
+            e.printStackTrace();
+        }
+    }
+    /**
+     * 斗拱回调  支付宝支付
+     * @param request
+     */
+    @ResponseBody
+    @PostMapping("/base/DGCallBackZfb")
+    public void DGCallBackZfb(HttpServletRequest request, HttpServletResponse response){
+        try {
+            String sign =request.getParameter("sign");
+            String resp_data = request.getParameter("resp_data");
+            System.out.println(sign);
+            System.out.println(resp_data);
+            resp_data =  resp_data.replaceAll("& #40;", "(").replaceAll("& #41;",")");
+
+
+            boolean verify = RsaUtils.verify(resp_data, "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsWrruP9JBxrUd8uEX5Z8y7pg/UIr5RNHSgDnHqNI1hbi2MfTzB5vZ275wSFFaLDD9BesgDWqsUepPS/opROlDCg9y6WYH8mkN23NmHL9F8kT48OMmH722am+Hp0XVMMwXqA0oNt4f7oW6kDemjZW8/RT4vIE7cyxoxSsVRvjqSpx9wDgFLPWh3o0pHQaoxLyeUsGBATHFrxEDlosBvsuXjMcgjPKXALrcemzKOhBmBkLgyxNVmh61ZK+FNXd+/X4PeZlnWf54NRQAUKe1308E6IIaszo+CjneKuhj1m/X4f7AIvxAqlhuCV5E/DfKRmGopxaWqdtE960Y/H4SmBh2wIDAQAB", sign);
+            if(verify){
+                JSONObject jsonObject = JSONObject.parseObject(resp_data);
+                String o = jsonObject.get("req_seq_id").toString();
+                String order_id = jsonObject.get("out_trans_id").toString();
+                String out_trade_no = jsonObject.get("req_seq_id").toString();
+                String trans_stat = jsonObject.get("trans_stat").toString();
+                if("S".equals(trans_stat)){
+                    String[] split = out_trade_no.split("_");
+                    Integer id = Integer.valueOf(split[0]);
+                    Integer type = Integer.valueOf(split[1]);
+                    switch (type){
+                        case 1:
+                            orderPrivateCarService.payOrderPrivateCarCallback(id, order_id, 2,out_trade_no);
+                            break;
+                        case 2:
+                            orderTaxiService.payOrderTaxiCallback(id, order_id, 2,0,out_trade_no);
+                            break;
+                        case 3:
+                            orderCrossCityService.payOrderCrossCityCallback(id, order_id, 2,null,out_trade_no);
+                            break;
+                        case 4:
+                            orderLogisticsService.payOrderLogisticsCallback(id, order_id, 2,out_trade_no);
+                            break;
+                        case 5:
+                            orderLogisticsService.payOrderLogisticsCallback(id, order_id, 2,out_trade_no);
                             break;
                     }
 
@@ -1817,7 +1932,7 @@
 
 
     /**
-     * 斗拱回调  支付小件物流差价支付回调
+     * 斗拱回调  微信支付小件物流差价支付回调
      * @param request
      */
     @ResponseBody
@@ -1840,6 +1955,44 @@
                     Integer id = Integer.valueOf(split[0]);
                     Integer type = Integer.valueOf(split[1]);
                     orderLogisticsService.payOrderLogisticsSpreadCallback(id, order_id, 1);
+
+                    PrintWriter out = response.getWriter();
+                    out.print("success");
+                    out.flush();
+                    out.close();
+
+                }
+
+//                cloudPay(map.get("total_fee"),map.get("transaction_id"),1);
+            }
+        }catch (Exception e){
+            e.printStackTrace();
+        }
+    }
+    /**
+     * 斗拱回调  支付宝支付小件物流差价支付回调
+     * @param request
+     */
+    @ResponseBody
+    @PostMapping("/base/DGPayOrderLogisticsSpreadZfb")
+    public void DGPayOrderLogisticsSpreadZfb(HttpServletRequest request, HttpServletResponse response){
+        try {
+            String sign =request.getParameter("sign");
+            String resp_data = request.getParameter("resp_data");
+            resp_data =  resp_data.replaceAll("& #40;", "(").replaceAll("& #41;",")");
+
+            boolean verify = RsaUtils.verify(resp_data, "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsWrruP9JBxrUd8uEX5Z8y7pg/UIr5RNHSgDnHqNI1hbi2MfTzB5vZ275wSFFaLDD9BesgDWqsUepPS/opROlDCg9y6WYH8mkN23NmHL9F8kT48OMmH722am+Hp0XVMMwXqA0oNt4f7oW6kDemjZW8/RT4vIE7cyxoxSsVRvjqSpx9wDgFLPWh3o0pHQaoxLyeUsGBATHFrxEDlosBvsuXjMcgjPKXALrcemzKOhBmBkLgyxNVmh61ZK+FNXd+/X4PeZlnWf54NRQAUKe1308E6IIaszo+CjneKuhj1m/X4f7AIvxAqlhuCV5E/DfKRmGopxaWqdtE960Y/H4SmBh2wIDAQAB", sign);
+            System.out.println("斗拱回调  支付小件物流差价支付回调:");
+            if(verify){
+                JSONObject jsonObject = JSONObject.parseObject(resp_data);
+                String order_id = jsonObject.get("out_trans_id").toString();
+                String out_trade_no = jsonObject.get("req_seq_id").toString();
+                String trans_stat = jsonObject.get("trans_stat").toString();
+                if("S".equals(trans_stat) && ToolUtil.isNotEmpty(out_trade_no)){
+                    String[] split = out_trade_no.split("_");
+                    Integer id = Integer.valueOf(split[0]);
+                    Integer type = Integer.valueOf(split[1]);
+                    orderLogisticsService.payOrderLogisticsSpreadCallback(id, order_id, 2);
 
                     PrintWriter out = response.getWriter();
                     out.print("success");
@@ -1996,12 +2149,48 @@
 
 
     /**
-     * 斗拱回调  购买出行卡支付回调
+     * 斗拱回调  微信购买出行卡支付回调
      * @param request
      */
     @ResponseBody
     @PostMapping("/base/DGPayTaxiCardPaymentSpread")
     public void DGPayTaxiCardPaymentSpread(HttpServletRequest request, HttpServletResponse response){
+        try {
+            String sign =request.getParameter("sign");
+            String resp_data = request.getParameter("resp_data");
+            resp_data =  resp_data.replaceAll("& #40;", "(").replaceAll("& #41;",")");
+
+            boolean verify = RsaUtils.verify(resp_data, "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsWrruP9JBxrUd8uEX5Z8y7pg/UIr5RNHSgDnHqNI1hbi2MfTzB5vZ275wSFFaLDD9BesgDWqsUepPS/opROlDCg9y6WYH8mkN23NmHL9F8kT48OMmH722am+Hp0XVMMwXqA0oNt4f7oW6kDemjZW8/RT4vIE7cyxoxSsVRvjqSpx9wDgFLPWh3o0pHQaoxLyeUsGBATHFrxEDlosBvsuXjMcgjPKXALrcemzKOhBmBkLgyxNVmh61ZK+FNXd+/X4PeZlnWf54NRQAUKe1308E6IIaszo+CjneKuhj1m/X4f7AIvxAqlhuCV5E/DfKRmGopxaWqdtE960Y/H4SmBh2wIDAQAB", sign);
+            System.out.println("斗拱回调  购买出行卡支付回调:");
+            if(verify){
+                JSONObject jsonObject = JSONObject.parseObject(resp_data);
+                String order_id = jsonObject.get("out_trans_id").toString();
+                String out_trade_no = jsonObject.get("req_seq_id").toString();
+                String trans_stat = jsonObject.get("trans_stat").toString();
+                if("S".equals(trans_stat) && ToolUtil.isNotEmpty(out_trade_no)){
+                    out_trade_no = out_trade_no.split("_")[0];
+                    taxiCardService.payTaxiCardPaymentSpread(Integer.valueOf(out_trade_no), order_id);
+
+                    PrintWriter out = response.getWriter();
+                    out.print("success");
+                    out.flush();
+                    out.close();
+
+                }
+
+//                cloudPay(map.get("total_fee"),map.get("transaction_id"),1);
+            }
+        }catch (Exception e){
+            e.printStackTrace();
+        }
+    }
+    /**
+     * 斗拱回调  支付宝购买出行卡支付回调
+     * @param request
+     */
+    @ResponseBody
+    @PostMapping("/base/DGPayTaxiCardPaymentSpreadZfb")
+    public void DGPayTaxiCardPaymentSpreadZfb(HttpServletRequest request, HttpServletResponse response){
         try {
             String sign =request.getParameter("sign");
             String resp_data = request.getParameter("resp_data");
@@ -2137,7 +2326,7 @@
 
 
     /**
-     *  斗拱 感谢费支付回调
+     *  斗拱 微信感谢费支付回调
      * @param request
      * @param response
      */
@@ -2189,6 +2378,58 @@
 
 
     /**
+     *  斗拱 支付宝感谢费支付回调
+     * @param request
+     * @param response
+     */
+    @ResponseBody
+    @PostMapping("/base/DGPayThankYouFeeZfb")
+    public void DGPayThankYouFeeZfb(HttpServletRequest request, HttpServletResponse response){
+        try {
+            String sign =request.getParameter("sign");
+            String resp_data = request.getParameter("resp_data");
+            resp_data =  resp_data.replaceAll("& #40;", "(").replaceAll("& #41;",")");
+            boolean verify = RsaUtils.verify(resp_data, "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsWrruP9JBxrUd8uEX5Z8y7pg/UIr5RNHSgDnHqNI1hbi2MfTzB5vZ275wSFFaLDD9BesgDWqsUepPS/opROlDCg9y6WYH8mkN23NmHL9F8kT48OMmH722am+Hp0XVMMwXqA0oNt4f7oW6kDemjZW8/RT4vIE7cyxoxSsVRvjqSpx9wDgFLPWh3o0pHQaoxLyeUsGBATHFrxEDlosBvsuXjMcgjPKXALrcemzKOhBmBkLgyxNVmh61ZK+FNXd+/X4PeZlnWf54NRQAUKe1308E6IIaszo+CjneKuhj1m/X4f7AIvxAqlhuCV5E/DfKRmGopxaWqdtE960Y/H4SmBh2wIDAQAB", sign);
+            if(verify){
+                JSONObject jsonObject = JSONObject.parseObject(resp_data);
+                String order_id = jsonObject.get("out_trans_id").toString();
+                String out_trade_no = jsonObject.get("req_seq_id").toString();
+                String trans_stat = jsonObject.get("trans_stat").toString();
+                if("S".equals(trans_stat) && ToolUtil.isNotEmpty(out_trade_no) && ToolUtil.isNotEmpty(order_id)){
+
+                    String[] s = out_trade_no.split("_");
+                    switch (Integer.valueOf(s[1])){
+                        case 1:
+                            orderPrivateCarService.payThankYouFeeCallback(Integer.valueOf(s[0]), order_id, 2,out_trade_no);
+                        case 2:
+                            orderTaxiService.payThankYouFeeCallback(Integer.valueOf(s[0]), order_id, 2,out_trade_no);
+                        case 3:
+                            orderCrossCityService.payThankYouFeeCallback(Integer.valueOf(s[0]), order_id, 2,out_trade_no);
+                        case 4:
+                            orderLogisticsService.payThankYouFeeCallback(Integer.valueOf(s[0]), order_id, 2,out_trade_no);
+                        case 5:
+                            orderLogisticsService.payThankYouFeeCallback(Integer.valueOf(s[0]), order_id, 2,out_trade_no);
+                        case 6:
+                            orderCharteredCarService.payThankYouFeeCallback(Integer.valueOf(s[0]), order_id, 2,out_trade_no);
+                        case 7:
+                            orderCallService.payThankYouFeeCallback(Integer.valueOf(s[0]), order_id, 2,out_trade_no);
+                    }
+
+                    PrintWriter out = response.getWriter();
+                    out.print("success");
+                    out.flush();
+                    out.close();
+
+                }
+//                cloudPay(map.get("total_fee"),map.get("transaction_id"),1);
+            }
+        }catch (Exception e){
+            e.printStackTrace();
+        }
+    }
+
+
+    /**
      * 感谢费支付回调
      * @param request
      * @param response

--
Gitblit v1.7.1