From 021640e69b32dbd9b88a538402671c47f280df9e Mon Sep 17 00:00:00 2001
From: luo <2855143437@qq.com>
Date: 星期三, 31 一月 2024 15:50:00 +0800
Subject: [PATCH] Merge branch 'master' of http://120.76.84.145:10101/gitblit/r/java/IgoTravel into dev

---
 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java |  575 +++++++++++++++++++++++++++++++++++++-------------------
 1 files changed, 377 insertions(+), 198 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 de10aa0..b664323 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
@@ -1,5 +1,6 @@
 package com.stylefeng.guns.modular.api;
 
+import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.stylefeng.guns.core.util.ToolUtil;
@@ -11,14 +12,18 @@
 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.*;
 import com.stylefeng.guns.modular.system.util.*;
+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;
@@ -86,19 +91,16 @@
     private IOrderCharteredCarService orderCharteredCarService;
 
     @Autowired
-    private PushMinistryOfTransportUtil pushMinistryOfTransportUtil;
+    private ITransactionDetailsService transactionDetailsService;
 
     @Autowired
-    private ITransactionDetailsService transactionDetailsService;
+    private IPaymentRecordService paymentRecordService;
 
     @Autowired
     private IOrderCancelService orderCancelService;
 
     @Autowired
     private PayMoneyUtil payMoneyUtil;
-
-    @Value("${pushMinistryOfTransport}")
-    private boolean pushMinistryOfTransport;
 
 
     @Value("${filePath}")
@@ -115,12 +117,15 @@
     @ApiImplicitParams({
             @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
     })
-    public ResultUtil<List<OrderStatusWarpper>> queryServingOrder(HttpServletRequest request){
+    public ResultUtil<List<OrderStatusWarpper>> queryServingOrder(Integer language, HttpServletRequest request){
         try {
             Integer uid = userInfoService.getUserIdFormRedis(request);
             if(null == uid){
                 return ResultUtil.tokenErr();
             }
+            UserInfo userInfo = userInfoService.selectById(uid);
+            userInfo.setLanguage(language);
+            userInfoService.updateById(userInfo);
             List<OrderStatusWarpper> data = new ArrayList<>();
             List<OrderPrivateCar> orderPrivateCars = orderPrivateCarService.queryOrder(uid, 1, 2, 3, 4, 5, 6, 7, 11, 12);
             for(OrderPrivateCar orderPrivateCar : orderPrivateCars){
@@ -182,7 +187,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){
@@ -191,19 +196,19 @@
             List<Map<String, Object>> list = null;
             switch (type){
                 case 1:
-                    list = orderPrivateCarService.queryMyOrderList(uid, pageNum, size);
+                    list = orderPrivateCarService.queryMyOrderList(language, uid, pageNum, size);
                     break;
                 case 2:
-                    list = orderTaxiService.queryMyOrderList(uid, pageNum, size);
+                    list = orderTaxiService.queryMyOrderList(language, uid, pageNum, size);
                     break;
                 case 3:
-                    list = orderCrossCityService.queryMyOrderList(uid, pageNum, size);
+                    list = orderCrossCityService.queryMyOrderList(language, 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);
+                    list = orderCharteredCarService.queryMyOrderList(language, uid, pageNum, size);
                     break;
             }
             return ResultUtil.success(OrderWarpper.getOrderWarpper(list));
@@ -228,18 +233,33 @@
             @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<TravelRecordWarpper>> queryMyTravelRecord(Integer pageNum, Integer size, HttpServletRequest request){
+    public ResultUtil<List<TravelRecordWarpper>> queryMyTravelRecord(Integer pageNum, Integer size, Integer language, HttpServletRequest request){
         try {
             Integer uid = userInfoService.getUserIdFormRedis(request);
             if(null == uid){
                 return ResultUtil.tokenErr();
             }
+            String name = language == 1 ? "打车" : language == 2 ? "Ride" : "Course";
             pageNum = (pageNum - 1) * size;
-            List<Map<String, Object>> maps = orderCancelService.queryCancel(uid, 2);
-            List<Map<String, Object>> list = orderPrivateCarService.queryMyTravelRecord(uid);//专车
-//            List<Map<String, Object>> list1 = orderTaxiService.queryMyTravelRecord(uid);//出租车
-//            List<Map<String, Object>> list2 = orderCrossCityService.queryMyTravelRecord(uid);//跨城车
-            List<Map<String, Object>> list3 = orderLogisticsService.queryMyTravelRecord(uid);//小件物流
+            List<Map<String, Object>> maps = orderCancelService.queryCancel(language, uid, 2);
+            for (Map<String, Object> map : maps) {
+                Integer orderType = Integer.valueOf(map.get("orderType").toString());
+                if(1 == orderType){
+                    map.put("name", language == 1 ? "打车订单取消" : language == 2 ? "Ride order cancelled" : "Commande de trajet annulée");
+                }
+                if(4 == orderType){
+                    map.put("name", language == 1 ? "包裹订单取消" : language == 2 ? "Parcel order cancellation" : "Annulation de commande de livraison");
+                }
+            }
+            List<Map<String, Object>> list = orderPrivateCarService.queryMyTravelRecord(language, uid);//专车
+            for (Map<String, Object> map : list) {
+                map.put("name", name);
+            }
+            name = language == 1 ? "包裹" : language == 2 ? "Delivery" : "Livraison";
+            List<Map<String, Object>> list3 = orderLogisticsService.queryMyTravelRecord(language, uid);//小件物流
+            for (Map<String, Object> map : list3) {
+                map.put("name", name);
+            }
             List<TransactionDetails> transactionDetails = transactionDetailsService.selectList(new EntityWrapper<TransactionDetails>().eq("state", 1)
                     .eq("type", 1).eq("userType", 1).eq("userId", uid).eq("orderType", 3).like("remark", "%跨城订单取消退款%"));
             List<Map<String, Object>> list4 = new ArrayList<>();
@@ -247,7 +267,7 @@
             for(TransactionDetails transactionDetails1 : transactionDetails){
                 Map<String, Object> map = new HashMap<>();
                 map.put("money", transactionDetails1.getMoney());
-                map.put("time", sdf.format(transactionDetails1.getInsertTime()));
+                map.put("time", DateUtil.conversionFormat(language, sdf.format(transactionDetails1.getInsertTime())));
                 map.put("name", "跨城订单取消退款");
                 map.put("insertTime", Double.valueOf(transactionDetails1.getInsertTime().getTime() / 1000).intValue());
                 list4.add(map);
@@ -303,7 +323,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>> queryInvoiceOrder(Integer type, Integer orderType, Date startTime,
+    public ResultUtil<List<OrderWarpper>> queryInvoiceOrder(Integer language, Integer type, Integer orderType, Date startTime,
                                                             Date endTime, Double startMoney, Double endMoney,
                                                             Integer pageNum, Integer size, HttpServletRequest request){
         pageNum = (pageNum - 1) * size;
@@ -316,7 +336,7 @@
             if(null != orderType){
                 switch (orderType){
                     case 1://专车
-                        list = orderPrivateCarService.queryInvoiceOrder(type, startTime, endTime, startMoney, endMoney, uid);
+                        list = orderPrivateCarService.queryInvoiceOrder(language, type, startTime, endTime, startMoney, endMoney, uid);
                         break;
 //                    case 2://出租车
 //                        list = orderTaxiService.queryInvoiceOrder(type, startTime, endTime, startMoney, endMoney, uid);
@@ -325,7 +345,7 @@
 //                        list = orderCrossCityService.queryInvoiceOrder(type, startTime, endTime, startMoney, endMoney, uid);
 //                        break;
                     case 4://同城小件物流
-                        list = orderLogisticsService.queryInvoiceOrder(type, startTime, endTime, startMoney, endMoney, uid, orderType);
+                        list = orderLogisticsService.queryInvoiceOrder(language, type, startTime, endTime, startMoney, endMoney, uid, orderType);
                         break;
 //                    case 5://跨城小件物流
 //                        list = orderLogisticsService.queryInvoiceOrder(type, startTime, endTime, startMoney, endMoney, uid, orderType);
@@ -333,7 +353,7 @@
                 }
             }else{
                 //专车
-                List<Map<String, Object>> maps = orderPrivateCarService.queryInvoiceOrder(type, startTime, endTime, startMoney, endMoney, uid);
+                List<Map<String, Object>> maps = orderPrivateCarService.queryInvoiceOrder(language, type, startTime, endTime, startMoney, endMoney, uid);
                 list.addAll(maps);
 //                //出租车
 //                List<Map<String, Object>> list1 = orderTaxiService.queryInvoiceOrder(type, startTime, endTime, startMoney, endMoney, uid);
@@ -342,7 +362,7 @@
 //                List<Map<String, Object>> list2 = orderCrossCityService.queryInvoiceOrder(type, startTime, endTime, startMoney, endMoney, uid);
 //                list.addAll(list2);
                 //同城小件物流
-                List<Map<String, Object>> list3 = orderLogisticsService.queryInvoiceOrder(type, startTime, endTime, startMoney, endMoney, uid, orderType);
+                List<Map<String, Object>> list3 = orderLogisticsService.queryInvoiceOrder(language, type, startTime, endTime, startMoney, endMoney, uid, orderType);
                 list.addAll(list3);
 //                //跨城小件物流
 //                List<Map<String, Object>> list4 = orderLogisticsService.queryInvoiceOrder(type, startTime, endTime, startMoney, endMoney, uid, orderType);
@@ -417,30 +437,39 @@
             @ApiImplicitParam(value = "订单类型(1=专车,2=出租车,3=城际,4=同城小件,5=跨城小件)", name = "orderType", required = true, dataType = "int"),
             @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
     })
-    public ResultUtil<OrderInfoWarpper> queryOrderInfo(Integer orderId, Integer orderType){
+    public ResultUtil<OrderInfoWarpper> queryOrderInfo(Integer orderId, Integer orderType, Integer language){
         try {
             Map<String, Object> map = null;
             switch (orderType){
                 case 1://专车
-                    map = orderPrivateCarService.queryOrderInfo(orderId);
+                    map = orderPrivateCarService.queryOrderInfo(language, orderId);
                     break;
                 case 2://出租车
-                    map = orderTaxiService.queryOrderInfo(orderId);
+                    map = orderTaxiService.queryOrderInfo(language, orderId);
                     break;
                 case 3://跨城
-                    map = orderCrossCityService.queryOrderInfo(orderId);
+                    map = orderCrossCityService.queryOrderInfo(language, orderId);
                     break;
                 case 4://同城小件
-                    map = orderLogisticsService.queryOrderInfo(orderId);
+                    map = orderLogisticsService.queryOrderInfo(language, orderId);
                     break;
                 case 5://跨城小件
-                    map = orderLogisticsService.queryOrderInfo(orderId);
+                    map = orderLogisticsService.queryOrderInfo(language, orderId);
                     break;
             }
             if(map.get("telX") != null){
                 map.put("driverPhone", map.get("telX"));
             }
             OrderInfoWarpper orderInfoWarpper = OrderInfoWarpper.getOrderInfoWarpper(map);
+            String driverName = orderInfoWarpper.getDriverName();
+            if(language == 2){
+                driverName = "Master " + driverName.replace("师傅", "");
+            }
+            if(language == 3){
+                driverName = "Maître " + driverName.replace("师傅", "");
+            }
+            orderInfoWarpper.setDriverName(driverName);
+
             File file = new File(filePath + orderId + "_1.txt");
             if(file.exists()){
                 //读取文件(字符流)
@@ -476,31 +505,39 @@
             @ApiImplicitParam(value = "订单id", name = "orderId", required = true, dataType = "int"),
             @ApiImplicitParam(value = "订单类型(1=专车,2=出租车,3=城际,4=同城小件,5=跨城小件)", name = "orderType", required = true, dataType = "int"),
     })
-    public ResultUtil<OrderInfoWarpper> queryOrderInfo_(Integer orderId, Integer orderType){
+    public ResultUtil<OrderInfoWarpper> queryOrderInfo_(Integer orderId, Integer orderType, Integer language){
         try {
             Map<String, Object> map = null;
             switch (orderType){
                 case 1://专车
-                    map = orderPrivateCarService.queryOrderInfo(orderId);
+                    map = orderPrivateCarService.queryOrderInfo(language, orderId);
                     break;
                 case 2://出租车
-                    map = orderTaxiService.queryOrderInfo(orderId);
+                    map = orderTaxiService.queryOrderInfo(language, orderId);
                     break;
                 case 3://跨城
-                    map = orderCrossCityService.queryOrderInfo(orderId);
+                    map = orderCrossCityService.queryOrderInfo(language, orderId);
                     break;
                 case 4://同城小件
-                    map = orderLogisticsService.queryOrderInfo(orderId);
+                    map = orderLogisticsService.queryOrderInfo(language, orderId);
                     break;
                 case 5://跨城小件
-                    map = orderLogisticsService.queryOrderInfo(orderId);
+                    map = orderLogisticsService.queryOrderInfo(language, orderId);
                     break;
             }
             if(null != map.get("telX")){
                 map.put("driverPhone", map.get("telX"));
             }
-
-            return ResultUtil.success(OrderInfoWarpper.getOrderInfoWarpper(map));
+            OrderInfoWarpper orderInfoWarpper = OrderInfoWarpper.getOrderInfoWarpper(map);
+            String driverName = orderInfoWarpper.getDriverName();
+            if(language == 2){
+                driverName = "Master " + driverName.replace("师傅", "");
+            }
+            if(language == 3){
+                driverName = "Maître " + driverName.replace("师傅", "");
+            }
+            orderInfoWarpper.setDriverName(driverName);
+            return ResultUtil.success(orderInfoWarpper);
         }catch (Exception e){
             e.printStackTrace();
             return ResultUtil.runErr();
@@ -524,27 +561,36 @@
             @ApiImplicitParam(value = "订单类型(1=专车,2=出租车,3=城际)", name = "orderType", required = true, dataType = "int"),
             @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
     })
-    public ResultUtil<OrderInfoWarpper> queryCancelPage(Integer orderId, Integer orderType){
+    public ResultUtil<OrderInfoWarpper> queryCancelPage(Integer orderId, Integer orderType, Integer language){
         try {
             Map<String, Object> map = null;
             switch (orderType) {
                 case 1://专车
-                    map = orderPrivateCarService.queryOrderInfo(orderId);
-                    ResultUtil<BaseWarpper> res = orderPrivateCarService.queryCancleAmount(orderId);
+                    map = orderPrivateCarService.queryOrderInfo(language, orderId);
+                    ResultUtil<BaseWarpper> res = orderPrivateCarService.queryCancleAmount(orderId, language);
                     map.put("cancelPayMoney", res.getData().getAmount());
                     break;
                 case 2://出租车
-                    map = orderTaxiService.queryOrderInfo(orderId);
+                    map = orderTaxiService.queryOrderInfo(language, orderId);
                     ResultUtil<BaseWarpper> re = orderTaxiService.queryCancleAmount(orderId);
                     map.put("cancelPayMoney", re.getData().getAmount());
                     break;
                 case 3://跨城
-                    map = orderCrossCityService.queryOrderInfo(orderId);
+                    map = orderCrossCityService.queryOrderInfo(language, orderId);
                     ResultUtil<BaseWarpper> r = orderCrossCityService.queryCancleAmount(orderId);
                     map.put("cancelPayMoney", r.getData().getAmount());
                     break;
             }
-            return ResultUtil.success(OrderInfoWarpper.getOrderInfoWarpper(map));
+            OrderInfoWarpper orderInfoWarpper = OrderInfoWarpper.getOrderInfoWarpper(map);
+            String driverName = orderInfoWarpper.getDriverName();
+            if(language == 2){
+                driverName = "Master " + driverName.replace("师傅", "");
+            }
+            if(language == 3){
+                driverName = "Maître " + driverName.replace("师傅", "");
+            }
+            orderInfoWarpper.setDriverName(driverName);
+            return ResultUtil.success(orderInfoWarpper);
         }catch (Exception e){
             e.printStackTrace();
             return ResultUtil.runErr();
@@ -696,9 +742,9 @@
             @ApiImplicitParam(value = "用户id", name = "uid", required = true, dataType = "int"),
             @ApiImplicitParam(value = "附加参数{\"key\":\"value\"}", name = "content", required = true, dataType = "string")
     })
-    public ResultUtil weChatPay(Integer orderId, Integer orderType, Integer type, Integer userType, Integer uid, String content){
+    public ResultUtil weChatPay(Integer orderId, Integer orderType, Integer type, Integer userType, Integer uid, String content, Integer language){
         try {
-            return orderService.weChatPay(orderId, orderType, type, userType, uid, content);
+            return orderService.weChatPay(orderId, orderType, type, userType, uid, content, language);
         }catch (Exception e){
             e.printStackTrace();
             return ResultUtil.runErr();
@@ -793,11 +839,11 @@
             @ApiImplicitParam(value = "订单类型(1=专车,2=出租车,3=跨城)", name = "orderType", required = true, dataType = "int"),
             @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
     })
-    public ResultUtil<BaseWarpper> queryCancleAmount(Integer id, Integer orderType){
+    public ResultUtil<BaseWarpper> queryCancleAmount(Integer id, Integer orderType, Integer language){
         try {
             switch (orderType){
                 case 1:
-                    return orderPrivateCarService.queryCancleAmount(id);
+                    return orderPrivateCarService.queryCancleAmount(id, language);
                 case 2:
                     return orderTaxiService.queryCancleAmount(id);
                 case 3:
@@ -860,6 +906,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;
+        }
+    }
+
+
+
 
     /**
      * 取消操作支付
@@ -869,16 +956,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=手机支付,2=银行卡支付,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, 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){
@@ -886,11 +974,11 @@
             }
             switch (orderType){
                 case 1:
-                    return orderPrivateCarService.cancleOrderPrivateCar(id, payType, cancleId, type);
-                case 2:
-                    return orderTaxiService.cancleOrderTaxi(id, payType, cancleId, type);
-                case 3:
-                    return orderCrossCityService.cancleOrderCrossCity(id, payType, cancleId, type);
+                    return orderPrivateCarService.cancleOrderPrivateCar(id, payType, bankCardId, cancleId, type, language);
+//                case 2:
+//                    return orderTaxiService.cancleOrderTaxi(id, payType, cancleId, type);
+//                case 3:
+//                    return orderCrossCityService.cancleOrderCrossCity(id, payType, cancleId, type);
             }
             return ResultUtil.success();
         }catch (Exception e){
@@ -960,18 +1048,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){
@@ -1000,7 +1088,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 queryCoupon(Integer orderId, Integer orderType, Integer pageNum, Integer size, HttpServletRequest request){
+    public ResultUtil queryCoupon(Integer language, Integer orderId, Integer orderType, Integer pageNum, Integer size, HttpServletRequest request){
         try {
             Integer uid = userInfoService.getUserIdFormRedis(request);
             if(null == uid){
@@ -1009,14 +1097,14 @@
             List<Map<String, Object>> list = new ArrayList<>();
             switch (orderType){
                 case 1:
-                    list = orderPrivateCarService.queryCoupon(orderId, uid, pageNum, size);
+                    list = orderPrivateCarService.queryCoupon(language, 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;
@@ -1043,16 +1131,17 @@
      */
     @ResponseBody
     @PostMapping("/api/taxi/payTaxiOrder")
-    @ApiOperation(value = "订单完成支付订单操作", tags = {"用户端-出租车", "用户端-专车", "用户端-跨城", "用户端-小件物流"}, notes = "")
+    @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, 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){
@@ -1060,15 +1149,15 @@
             }
             switch (orderType){
                 case 1:
-                    return orderPrivateCarService.payPrivateCarOrder(payType, orderId, couponId, type);
-                case 2:
-                    return orderTaxiService.payTaxiOrder(payType, orderId, couponId, type);
-                case 3:
-                    return orderCrossCityService.payCrossCityOrder(payType, orderId, couponId, type);
+                    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, orderId, type);
-                case 5:
-                    return orderLogisticsService.payLogisticsOrder(payType, orderId, type);
+                    return orderLogisticsService.payLogisticsOrder(payType, bankCardId, orderId, type, language);
+//                case 5:
+//                    return orderLogisticsService.payLogisticsOrder(payType, orderId, type, language);
             }
             return ResultUtil.success();
         }catch (Exception e){
@@ -1096,9 +1185,9 @@
             @ApiImplicitParam(value = "评价内容", name = "content", required = false, dataType = "String"),
             @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
     })
-    public ResultUtil orderEvaluate(Integer orderId, Integer orderType, Integer fraction, String content){
+    public ResultUtil orderEvaluate(Integer orderId, Integer orderType, Integer fraction, String content, Integer language){
         try {
-            ResultUtil resultUtil = orderEvaluateService.saveData(orderId, orderType, fraction, content);
+            ResultUtil resultUtil = orderEvaluateService.saveData(orderId, orderType, fraction, content, language);
             if(resultUtil.getCode() == 200){
                 switch (orderType){
                     case 1:
@@ -1171,13 +1260,14 @@
     @ApiImplicitParams({
             @ApiImplicitParam(value = "订单id", name = "orderId", required = true, dataType = "int"),
             @ApiImplicitParam(value = "订单类型", name = "orderType", required = true, dataType = "int"),
+            @ApiImplicitParam(value = "语言", name = "language", required = true, dataType = "int"),
             @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
     })
-    public ResultUtil shareRedEnvelope(Integer orderId, Integer orderType){
+    public ResultUtil shareRedEnvelope(Integer orderId, Integer orderType, Integer language){
         try {
             switch (orderType){
                 case 1:
-                    return orderPrivateCarService.shareRedEnvelope(orderId);
+                    return orderPrivateCarService.shareRedEnvelope(orderId, language);
                 case 2:
                     return orderTaxiService.shareRedEnvelope(orderId);
                 case 3:
@@ -1195,38 +1285,60 @@
 
     /**
      * 取消订单微信回调
-     * @param request
+     * @param callbackRequest
      */
     @ResponseBody
     @PostMapping("/base/wxCancelOrderTaxi")
-    public void wxCancelOrderTaxi(HttpServletRequest request, HttpServletResponse response){
+    public CallbackResponse wxCancelOrderTaxi(@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");
-
+            /**
+             * 指示服务是否成功或付费的总体请求代码。。
+             * 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)){
-                    String[] split = out_trade_no.split("_");
-                    Integer id = Integer.valueOf(split[0]);
-                    Integer type = Integer.valueOf(split[1]);
+                    Integer type = 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){
                         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);
+                    callbackResponse.setStatus_code("183");
+                    callbackResponse.setStatus_description("Payment processed successfully");
+                    callbackResponse.setReceipt_number(UUIDUtil.getRandomCode(16));
                 }
-                response.getOutputStream().print("success");
+            }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;
     }
 
 
@@ -1238,76 +1350,100 @@
     @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();
         }
     }
 
 
+
     /**
      * 完成订单微信支付回调
-     * @param request
+     * @param
      */
     @ResponseBody
     @PostMapping("/base/wxPayOrderTaxi")
-    public void wxPayOrderTaxi(HttpServletRequest request, HttpServletResponse response){
+    public CallbackResponse wxPayOrderTaxi(@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");
+            /**
+             * 指示服务是否成功或付费的总体请求代码。。
+             * 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)){
-                    String[] split = out_trade_no.split("_");
-                    Integer id = Integer.valueOf(split[0]);
-                    Integer type = Integer.valueOf(split[1]);
-                    switch (type){
+                    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 (orderType){
                         case 1:
-                            orderPrivateCarService.payOrderPrivateCarCallback(id, order_id, 1);
+                            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);
+                            orderLogisticsService.payOrderLogisticsCallback(id, order_id, language);
                             break;
-                        case 5:
-                            orderLogisticsService.payOrderLogisticsCallback(id, order_id, 1);
-                            break;
+//                        case 5:
+//                            orderLogisticsService.payOrderLogisticsCallback(id, order_id, 1, language);
+//                            break;
                     }
-                    response.getOutputStream().print("success");
+                    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));
                 }
+            }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;
     }
 
 
@@ -1327,22 +1463,23 @@
                     String[] split = out_trade_no.split("_");
                     Integer id = Integer.valueOf(split[0]);
                     Integer type = Integer.valueOf(split[1]);
+                    Integer language = Integer.valueOf(split[2]);
                     switch (type){
-                        case 1:
-                            orderPrivateCarService.payOrderPrivateCarCallback(id, order_id, 2);
-                            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);
-                            break;
-                        case 5:
-                            orderLogisticsService.payOrderLogisticsCallback(id, order_id, 2);
-                            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;
@@ -1361,30 +1498,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;
     }
 
 
@@ -1396,24 +1552,47 @@
     @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();
         }
     }
+
+
+
+    @ResponseBody
+    @PostMapping("/base/IGO/tinggPayoutCallback")
+    public PayoutCallbackResponse tinggPayoutCallback(@RequestBody PayoutCallbackRequest request){
+        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 beepTransactionID = packet.getBeepTransactionID();
+        String payerTransactionID = packet.getPayerTransactionID();
+        results.setBeepTransactionID(beepTransactionID);
+        results.setPayerTransactionID(payerTransactionID);
+        results.setStatusCode("188");
+        results.setStatusDescription("Response was received");
+        payoutCallbackResponse.setResults(results);
+        return payoutCallbackResponse;
+    }
 }

--
Gitblit v1.7.1