mitao
2025-11-22 f85face731c824dab846a152900457662cf75d3a
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