From c91d30ae503c1a37c60a2fc83f610e032d56a26c Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期二, 25 七月 2023 09:49:58 +0800
Subject: [PATCH] 更新短信模板

---
 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java |  302 +++++++++++++++++++++++++++++++-------------------
 1 files changed, 186 insertions(+), 116 deletions(-)

diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java
index d953ef3..9f9817e 100644
--- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java
+++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java
@@ -12,6 +12,7 @@
 import com.stylefeng.guns.modular.specialTrain.model.OrderPrivateCar;
 import com.stylefeng.guns.modular.specialTrain.server.IOrderPrivateCarService;
 import com.stylefeng.guns.modular.system.model.Driver;
+import com.stylefeng.guns.modular.system.model.OrderCancel;
 import com.stylefeng.guns.modular.system.model.OrderPosition;
 import com.stylefeng.guns.modular.system.model.UserInfo;
 import com.stylefeng.guns.modular.system.service.*;
@@ -19,8 +20,10 @@
 import com.stylefeng.guns.modular.system.util.Tingg.model.*;
 import com.stylefeng.guns.modular.system.warpper.*;
 import com.stylefeng.guns.modular.taxi.model.OrderTaxi;
+import com.stylefeng.guns.modular.taxi.model.PaymentRecord;
 import com.stylefeng.guns.modular.taxi.model.TransactionDetails;
 import com.stylefeng.guns.modular.taxi.service.IOrderTaxiService;
+import com.stylefeng.guns.modular.taxi.service.IPaymentRecordService;
 import com.stylefeng.guns.modular.taxi.service.ITransactionDetailsService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiImplicitParam;
@@ -89,6 +92,9 @@
 
     @Autowired
     private ITransactionDetailsService transactionDetailsService;
+
+    @Autowired
+    private IPaymentRecordService paymentRecordService;
 
     @Autowired
     private IOrderCancelService orderCancelService;
@@ -178,7 +184,7 @@
             @ApiImplicitParam(value = "页条数", name = "size", required = true, dataType = "int"),
             @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
     })
-    public ResultUtil<List<OrderWarpper>> queryMyOrderList(Integer type, Integer pageNum, Integer size, HttpServletRequest request){
+    public ResultUtil<List<OrderWarpper>> queryMyOrderList(Integer type, Integer pageNum, Integer size, Integer language, HttpServletRequest request){
         try {
             Integer uid = userInfoService.getUserIdFormRedis(request);
             if(null == uid){
@@ -196,7 +202,7 @@
                     list = orderCrossCityService.queryMyOrderList(uid, pageNum, size);
                     break;
                 case 4:
-                    list = orderLogisticsService.queryMyOrderList(uid, pageNum, size);
+                    list = orderLogisticsService.queryMyOrderList(uid, pageNum, size, language);
                     break;
                 case 5:
                     list = orderCharteredCarService.queryMyOrderList(uid, pageNum, size);
@@ -871,6 +877,47 @@
     }
 
 
+    /**
+     * 取消订单退款回调
+     * @param request
+     * @return
+     */
+    @ResponseBody
+    @PostMapping("/base/orderCancelRefundCallback")
+    public PayoutCallbackResponse orderCancelRefundCallback(@RequestBody PayoutCallbackRequest request){
+        try {
+            System.err.println("转账回调>>>>" + JSON.toJSONString(request));
+            PayoutCallbackResponse payoutCallbackResponse = new PayoutCallbackResponse();
+            AuthStatus authStatus = new AuthStatus();
+            authStatus.setAuthStatusCode(131);
+            authStatus.setAuthStatusDescription("Authentication was successful");
+            payoutCallbackResponse.setAuthStatus(authStatus);
+            Results results = new Results();
+            PayoutPacket packet = request.getPayload().getPacket();
+            String statusCode = packet.getStatusCode();
+            String beepTransactionID = packet.getBeepTransactionID();
+            String payerTransactionID = packet.getPayerTransactionID();
+
+            String id = payerTransactionID.substring(17);
+            OrderCancel orderCancel = orderCancelService.selectById(id);
+            OrderLogistics orderLogistics = orderLogisticsService.selectById(orderCancel.getOrderId());
+            PaymentRecord query = paymentRecordService.query(1, orderLogistics.getUserId(), 1, orderLogistics.getId(), orderLogistics.getType(), 1, 2);
+            transactionDetailsService.saveData(orderLogistics.getUserId(), "小件物流取消退款", query.getAmount(), 1, 1, 1, 4, orderLogistics.getId());
+
+            results.setBeepTransactionID(beepTransactionID);
+            results.setPayerTransactionID(payerTransactionID);
+            results.setStatusCode("188");
+            results.setStatusDescription("Response was received");
+            payoutCallbackResponse.setResults(results);
+            return payoutCallbackResponse;
+        }catch (Exception e){
+            e.printStackTrace();
+            return null;
+        }
+    }
+
+
+
 
     /**
      * 取消操作支付
@@ -880,16 +927,17 @@
      */
     @ResponseBody
     @PostMapping("/api/taxi/cancleOrderTaxi")
-    @ApiOperation(value = "取消操作支付", tags = {"用户端-出租车", "用户端-专车", "用户端-跨城"}, notes = "")
+    @ApiOperation(value = "取消操作支付【1.1】", tags = {"用户端-出租车", "用户端-专车", "用户端-跨城"}, notes = "")
     @ApiImplicitParams({
             @ApiImplicitParam(value = "订单id", name = "id", required = true, dataType = "int"),
             @ApiImplicitParam(value = "订单类型(1=专车,2=出租车,3=跨城)", name = "orderType", required = true, dataType = "int"),
-            @ApiImplicitParam(value = "支付方式(1=线上支付,3=余额)", name = "payType", required = true, dataType = "int"),
+            @ApiImplicitParam(value = "支付方式(1=手机支付,2=银行卡支付,3=余额)", name = "payType", required = true, dataType = "int"),
+            @ApiImplicitParam(value = "银行卡id", name = "bankCardId", required = false, dataType = "int"),
             @ApiImplicitParam(value = "取消单id(取消操作返回)", name = "cancleId", required = false, dataType = "int"),
             @ApiImplicitParam(value = "支付端(1=用户APP端,2=司机APP端,3=用户小程序端)", name = "type", required = true, dataType = "int"),
             @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
     })
-    public ResultUtil cancleOrderTaxi(Integer id, Integer orderType, Integer payType, Integer cancleId, Integer type, Integer language, HttpServletRequest request){
+    public ResultUtil cancleOrderTaxi(Integer id, Integer orderType, Integer payType, Integer bankCardId, Integer cancleId, Integer type, Integer language, HttpServletRequest request){
         try {
             Integer uid = userInfoService.getUserIdFormRedis(request);
             if(null == uid){
@@ -897,7 +945,7 @@
             }
             switch (orderType){
                 case 1:
-                    return orderPrivateCarService.cancleOrderPrivateCar(id, payType, "user_" + uid, cancleId, type, language);
+                    return orderPrivateCarService.cancleOrderPrivateCar(id, payType, bankCardId, cancleId, type, language);
 //                case 2:
 //                    return orderTaxiService.cancleOrderTaxi(id, payType, cancleId, type);
 //                case 3:
@@ -971,18 +1019,18 @@
                 case 1:
                     map = orderPrivateCarService.queryBalance(orderId, uid);
                     break;
-                case 2:
-                    map = orderTaxiService.queryBalance(orderId, uid);
-                    break;
-                case 3:
-                    map = orderCrossCityService.queryBalance(orderId, uid);
-                    break;
+//                case 2:
+//                    map = orderTaxiService.queryBalance(orderId, uid);
+//                    break;
+//                case 3:
+//                    map = orderCrossCityService.queryBalance(orderId, uid);
+//                    break;
                 case 4:
                     map = orderLogisticsService.queryBalance(orderId, uid);
                     break;
-                case 5:
-                    map = orderLogisticsService.queryBalance(orderId, uid);
-                    break;
+//                case 5:
+//                    map = orderLogisticsService.queryBalance(orderId, uid);
+//                    break;
             }
             return ResultUtil.success(map);
         }catch (Exception e){
@@ -1022,12 +1070,12 @@
                 case 1:
                     list = orderPrivateCarService.queryCoupon(orderId, uid, pageNum, size);
                     break;
-                case 2:
-                    list = orderTaxiService.queryCoupon(orderId, uid, pageNum, size);
-                    break;
-                case 3:
-                    list = orderCrossCityService.queryCoupon(orderId, uid, pageNum, size);
-                    break;
+//                case 2:
+//                    list = orderTaxiService.queryCoupon(orderId, uid, pageNum, size);
+//                    break;
+//                case 3:
+//                    list = orderCrossCityService.queryCoupon(orderId, uid, pageNum, size);
+//                    break;
 //                case 4:
 //                    list = orderLogisticsService.queryCoupon(orderId, uid, pageNum, size);
 //                    break;
@@ -1057,13 +1105,14 @@
     @ApiOperation(value = "订单完成支付订单操作【1.1】", tags = {"用户端-出租车", "用户端-专车", "用户端-跨城", "用户端-小件物流"}, notes = "")
     @ApiImplicitParams({
             @ApiImplicitParam(value = "支付方式(1=手机支付,2=银行卡支付,3=余额,4=线下支付)", name = "payType", required = true, dataType = "int"),
+            @ApiImplicitParam(value = "银行卡id", name = "bankCardId", required = false, dataType = "int"),
             @ApiImplicitParam(value = "订单id", name = "orderId", required = true, dataType = "int"),
             @ApiImplicitParam(value = "订单类型(1=专车,2=出租车,3=跨城,4=同城小件物流,5=跨城小件物流)", name = "orderType", required = true, dataType = "int"),
             @ApiImplicitParam(value = "优惠券id", name = "couponId", required = false, dataType = "int"),
             @ApiImplicitParam(value = "支付端(1=用户APP端,2=司机APP端,3=用户小程序端)", name = "type", required = true, dataType = "int"),
             @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
     })
-    public ResultUtil payTaxiOrder(Integer payType, Integer orderId, Integer orderType, Integer couponId, Integer type, Integer language, HttpServletRequest request){
+    public ResultUtil payTaxiOrder(Integer payType, Integer bankCardId, Integer orderId, Integer orderType, Integer couponId, Integer type, Integer language, HttpServletRequest request){
         try {
             Integer uid = userInfoService.getUserIdFormRedis(request);
             if(null == uid){
@@ -1071,13 +1120,13 @@
             }
             switch (orderType){
                 case 1:
-                    return orderPrivateCarService.payPrivateCarOrder(payType, "user_" + uid, orderId, couponId, type, language);
+                    return orderPrivateCarService.payPrivateCarOrder(payType, bankCardId, orderId, couponId, type, language);
 //                case 2:
 //                    return orderTaxiService.payTaxiOrder(payType, orderId, couponId, type);
 //                case 3:
 //                    return orderCrossCityService.payCrossCityOrder(payType, orderId, couponId, type);
                 case 4:
-                    return orderLogisticsService.payLogisticsOrder(payType, "user_" + uid, orderId, type, language);
+                    return orderLogisticsService.payLogisticsOrder(payType, bankCardId, orderId, type, language);
 //                case 5:
 //                    return orderLogisticsService.payLogisticsOrder(payType, orderId, type, language);
             }
@@ -1230,17 +1279,18 @@
                 String order_id = payments.getPayer_transaction_id();
                 if(ToolUtil.isNotEmpty(out_trade_no)){
                     Integer type = Integer.valueOf(out_trade_no.substring(17, 18));
-                    Integer id = Integer.valueOf(out_trade_no.substring(18));
+                    Integer language = Integer.valueOf(out_trade_no.substring(18, 19));
+                    Integer id = Integer.valueOf(out_trade_no.substring(19));
                     switch (type){
                         case 1:
-                            orderPrivateCarService.payCancelOrderPrivateCar(id, order_id, 1);
+                            orderPrivateCarService.payCancelOrderPrivateCar(id, order_id, language);
                             break;
-                        case 2:
-                            orderTaxiService.payCancelOrderTaxi(id, order_id, 1);
-                            break;
-                        case 3:
-                            orderCrossCityService.payCancelOrderCrossCity(id, order_id, 1);
-                            break;
+//                        case 2:
+//                            orderTaxiService.payCancelOrderTaxi(id, order_id, 1);
+//                            break;
+//                        case 3:
+//                            orderCrossCityService.payCancelOrderCrossCity(id, order_id, 1);
+//                            break;
                     }
                     callbackResponse.setCheckout_request_id(order_id);
                     callbackResponse.setMerchant_transaction_id(out_trade_no);
@@ -1270,35 +1320,36 @@
     @PostMapping("/base/aliCancelOrderTaxi")
     public void aliCancelOrderTaxi(HttpServletRequest request, HttpServletResponse response){
         try {
-            Map<String, String> map = payMoneyUtil.alipayCallback(request);//icbcPayUtil.payCallback(request);
-            if(null != map){
-                String out_trade_no = map.get("out_trade_no");
-                String order_id = map.get("trade_no");
-                if(ToolUtil.isNotEmpty(out_trade_no)){
-                    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);
-                            break;
-                        case 2:
-                            orderTaxiService.payCancelOrderTaxi(id, order_id, 2);
-                            break;
-                        case 3:
-                            orderCrossCityService.payCancelOrderCrossCity(id, order_id, 2);
-                            break;
-                    }
-                }
-                response.setContentType("text/html;charset=UTF-8");
-                PrintWriter out;
-                out = response.getWriter();
-                out.println("success"); // 请不要修改或删除
-            }
+//            Map<String, String> map = payMoneyUtil.alipayCallback(request);//icbcPayUtil.payCallback(request);
+//            if(null != map){
+//                String out_trade_no = map.get("out_trade_no");
+//                String order_id = map.get("trade_no");
+//                if(ToolUtil.isNotEmpty(out_trade_no)){
+//                    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);
+//                            break;
+//                        case 2:
+//                            orderTaxiService.payCancelOrderTaxi(id, order_id, 2);
+//                            break;
+//                        case 3:
+//                            orderCrossCityService.payCancelOrderCrossCity(id, order_id, 2);
+//                            break;
+//                    }
+//                }
+//                response.setContentType("text/html;charset=UTF-8");
+//                PrintWriter out;
+//                out = response.getWriter();
+//                out.println("success"); // 请不要修改或删除
+//            }
         }catch (Exception e){
             e.printStackTrace();
         }
     }
+
 
 
     /**
@@ -1326,25 +1377,25 @@
                 Payments payments = callbackRequest.getPayments().get(0);
                 String order_id = payments.getPayer_transaction_id();
                 if(ToolUtil.isNotEmpty(out_trade_no)){
-                    Integer type = Integer.valueOf(out_trade_no.substring(17, 18));
+                    Integer orderType = Integer.valueOf(out_trade_no.substring(17, 18));
                     Integer language = Integer.valueOf(out_trade_no.substring(18, 19));
                     Integer id = Integer.valueOf(out_trade_no.substring(19));
-                    switch (type){
+                    switch (orderType){
                         case 1:
-                            orderPrivateCarService.payOrderPrivateCarCallback(id, order_id, 1, language);
+                            orderPrivateCarService.payOrderPrivateCarCallback(id, order_id, language);
                             break;
-                        case 2:
-                            orderTaxiService.payOrderTaxiCallback(id, order_id, 1);
-                            break;
-                        case 3:
-                            orderCrossCityService.payOrderCrossCityCallback(id, order_id, 1);
-                            break;
+//                        case 2:
+//                            orderTaxiService.payOrderTaxiCallback(id, order_id, 1);
+//                            break;
+//                        case 3:
+//                            orderCrossCityService.payOrderCrossCityCallback(id, order_id, 1);
+//                            break;
                         case 4:
-                            orderLogisticsService.payOrderLogisticsCallback(id, order_id, 1, language);
+                            orderLogisticsService.payOrderLogisticsCallback(id, order_id, language);
                             break;
-                        case 5:
-                            orderLogisticsService.payOrderLogisticsCallback(id, order_id, 1, language);
-                            break;
+//                        case 5:
+//                            orderLogisticsService.payOrderLogisticsCallback(id, order_id, 1, language);
+//                            break;
                     }
                     callbackResponse.setCheckout_request_id(order_id);
                     callbackResponse.setMerchant_transaction_id(out_trade_no);
@@ -1384,21 +1435,21 @@
                     Integer type = Integer.valueOf(split[1]);
                     Integer language = Integer.valueOf(split[2]);
                     switch (type){
-                        case 1:
-                            orderPrivateCarService.payOrderPrivateCarCallback(id, order_id, 2, language);
-                            break;
-                        case 2:
-                            orderTaxiService.payOrderTaxiCallback(id, order_id, 2);
-                            break;
-                        case 3:
-                            orderCrossCityService.payOrderCrossCityCallback(id, order_id, 2);
-                            break;
-                        case 4:
-                            orderLogisticsService.payOrderLogisticsCallback(id, order_id, 2, language);
-                            break;
-                        case 5:
-                            orderLogisticsService.payOrderLogisticsCallback(id, order_id, 2, language);
-                            break;
+//                        case 1:
+//                            orderPrivateCarService.payOrderPrivateCarCallback(id, order_id, 2, language);
+//                            break;
+//                        case 2:
+//                            orderTaxiService.payOrderTaxiCallback(id, order_id, 2);
+//                            break;
+//                        case 3:
+//                            orderCrossCityService.payOrderCrossCityCallback(id, order_id, 2);
+//                            break;
+//                        case 4:
+//                            orderLogisticsService.payOrderLogisticsCallback(id, order_id, 2, language);
+//                            break;
+//                        case 5:
+//                            orderLogisticsService.payOrderLogisticsCallback(id, order_id, 2, language);
+//                            break;
                     }
                     response.setContentType("text/html;charset=UTF-8");
                     PrintWriter out;
@@ -1417,30 +1468,49 @@
 
     /**
      * 小件物流差价微信支付回调
-     * @param request
      */
     @ResponseBody
     @PostMapping("/base/wxPayOrderLogisticsSpread")
-    public void wxPayOrderLogisticsSpread(HttpServletRequest request, HttpServletResponse response){
+    public CallbackResponse wxPayOrderLogisticsSpread(@RequestBody CallbackRequest callbackRequest){
+        CallbackResponse callbackResponse = new CallbackResponse();
         try {
-            Map<String, String> map = payMoneyUtil.weixinpayCallback(request);//icbcPayUtil.payCallback(request);
-            if(null != map){
-                String out_trade_no = map.get("out_trade_no");
-                String order_id = map.get("transaction_id");
-                String s = null;//icbcPayUtil.queryTransaction("", order_id);
-                if(!s.equals("") && !s.equals("2")){
-                    //icbcPayUtil.answer(response);//回调应答
+            /**
+             * 指示服务是否成功或付费的总体请求代码。。
+             * 177-部分付费请求
+             * 178-表明请求已全额支付
+             * 179-表示请求已部分支付但已过期。
+             * 129-请求已过期,未付款。
+             * 180.商户拒绝请求
+             * 183-商户接受请求,我们可以结算资金
+             * 188-商户收到请求。
+             */
+            String request_status_code = callbackRequest.getRequest_status_code();
+            String out_trade_no = callbackRequest.getMerchant_transaction_id();
+            if("177".equals(request_status_code) || "178".equals(request_status_code)){
+                Payments payments = callbackRequest.getPayments().get(0);
+                String order_id = payments.getPayer_transaction_id();
+                if(ToolUtil.isNotEmpty(out_trade_no)){
+                    Integer orderType = Integer.valueOf(out_trade_no.substring(17, 18));
+                    Integer language = Integer.valueOf(out_trade_no.substring(18, 19));
+                    Integer id = Integer.valueOf(out_trade_no.substring(19));
+                    orderLogisticsService.payOrderLogisticsSpreadCallback(id, order_id, language);
+                    callbackResponse.setCheckout_request_id(order_id);
+                    callbackResponse.setMerchant_transaction_id(out_trade_no);
+                    callbackResponse.setStatus_code("183");
+                    callbackResponse.setStatus_description("Payment processed successfully");
+                    callbackResponse.setReceipt_number(UUIDUtil.getRandomCode(16));
                 }
-                if(ToolUtil.isNotEmpty(out_trade_no) && ToolUtil.isNotEmpty(order_id) && s.equals("0")){
-                    String[] split = out_trade_no.split(",");
-                    Integer id = Integer.valueOf(split[0]);
-                    Integer type = Integer.valueOf(split[1]);
-                    orderLogisticsService.payOrderLogisticsSpreadCallback(id, order_id, 1);
-                }
+            }else{
+                callbackResponse.setCheckout_request_id(UUIDUtil.getRandomCode(16));
+                callbackResponse.setMerchant_transaction_id(out_trade_no);
+                callbackResponse.setStatus_code("180");
+                callbackResponse.setStatus_description("means payment rejected.");
+                callbackResponse.setReceipt_number(UUIDUtil.getRandomCode(16));
             }
         }catch (Exception e){
             e.printStackTrace();
         }
+        return callbackResponse;
     }
 
 
@@ -1452,22 +1522,22 @@
     @PostMapping("/base/aliPayOrderLogisticsSpread")
     public void aliPayOrderLogisticsSpread(HttpServletRequest request, HttpServletResponse response){
         try {
-            Map<String, String> map = payMoneyUtil.alipayCallback(request);//icbcPayUtil.payCallback(request);
-            if(null != map){
-                String out_trade_no = map.get("out_trade_no");
-                String order_id = map.get("trade_no");
-                String s = null;//icbcPayUtil.queryTransaction("", order_id);
-                if(!s.equals("") && !s.equals("2")){
-                    //icbcPayUtil.answer(response);//回调应答
-                }
-                if(ToolUtil.isNotEmpty(out_trade_no) && ToolUtil.isNotEmpty(order_id) && s.equals("0")){
-                    String[] split = out_trade_no.split(",");
-                    Integer id = Integer.valueOf(split[0]);
-                    Integer type = Integer.valueOf(split[1]);
-                    orderLogisticsService.payOrderLogisticsSpreadCallback(id, order_id, 2);
-                }
-
-            }
+//            Map<String, String> map = payMoneyUtil.alipayCallback(request);//icbcPayUtil.payCallback(request);
+//            if(null != map){
+//                String out_trade_no = map.get("out_trade_no");
+//                String order_id = map.get("trade_no");
+//                String s = null;//icbcPayUtil.queryTransaction("", order_id);
+//                if(!s.equals("") && !s.equals("2")){
+//                    //icbcPayUtil.answer(response);//回调应答
+//                }
+//                if(ToolUtil.isNotEmpty(out_trade_no) && ToolUtil.isNotEmpty(order_id) && s.equals("0")){
+//                    String[] split = out_trade_no.split(",");
+//                    Integer id = Integer.valueOf(split[0]);
+//                    Integer type = Integer.valueOf(split[1]);
+//                    orderLogisticsService.payOrderLogisticsSpreadCallback(id, order_id, 2);
+//                }
+//
+//            }
         }catch (Exception e){
             e.printStackTrace();
         }

--
Gitblit v1.7.1