From 75a2623173bcc4a235aa1f99f7ef28519186160b Mon Sep 17 00:00:00 2001
From: yanghb <yanghb>
Date: 星期五, 21 四月 2023 11:24:25 +0800
Subject: [PATCH] 代码调整

---
 UserTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java | 1117 ++++++++++++++++++++++++++-------------------------------
 1 files changed, 512 insertions(+), 605 deletions(-)

diff --git a/UserTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java b/UserTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java
index 13d4e43..68d79b7 100644
--- a/UserTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java
+++ b/UserTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java
@@ -1,24 +1,23 @@
 package com.stylefeng.guns.modular.api;
 
 import com.alibaba.fastjson.JSON;
-import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.stylefeng.guns.core.util.ToolUtil;
 import com.stylefeng.guns.modular.CharteredCar.server.IOrderCharteredCarService;
-import com.stylefeng.guns.modular.call.server.IOrderCallService;
 import com.stylefeng.guns.modular.crossCity.model.OrderCrossCity;
 import com.stylefeng.guns.modular.crossCity.server.IOrderCrossCityService;
 import com.stylefeng.guns.modular.smallLogistics.model.OrderLogistics;
 import com.stylefeng.guns.modular.smallLogistics.server.IOrderLogisticsService;
 import com.stylefeng.guns.modular.specialTrain.model.OrderPrivateCar;
 import com.stylefeng.guns.modular.specialTrain.server.IOrderPrivateCarService;
-import com.stylefeng.guns.modular.system.dao.SystemPriceMapper;
-import com.stylefeng.guns.modular.system.model.AdditionalFee;
 import com.stylefeng.guns.modular.system.model.Driver;
-import com.stylefeng.guns.modular.system.model.OrderAdditionalFee;
+import com.stylefeng.guns.modular.system.model.OfflineTravelPayment;
+import com.stylefeng.guns.modular.system.model.OrderEvaluate;
 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.LiuZhouBank.PayUtil;
+import com.stylefeng.guns.modular.system.util.LiuZhouBank.ResultNotification;
 import com.stylefeng.guns.modular.system.warpper.*;
 import com.stylefeng.guns.modular.taxi.model.OrderTaxi;
 import com.stylefeng.guns.modular.taxi.model.PaymentRecord;
@@ -34,7 +33,6 @@
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.web.bind.annotation.*;
 
-import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import java.io.PrintWriter;
@@ -45,7 +43,6 @@
  * 订单控制器(综合)
  */
 @Api
-//@CrossOrigin
 @RestController
 @RequestMapping("")
 public class OrderController {
@@ -84,6 +81,9 @@
     private IOrderCrossCityService orderCrossCityService;
 
     @Autowired
+    private ICBCPayUtil icbcPayUtil;
+
+    @Autowired
     private IOrderLogisticsService orderLogisticsService;
 
     @Autowired
@@ -99,22 +99,16 @@
     private IOrderCancelService orderCancelService;
 
     @Autowired
+    private IOfflineTravelPaymentService offlineTravelPaymentService;
+
+    @Autowired
     private PayMoneyUtil payMoneyUtil;
 
     @Autowired
     private IPaymentRecordService paymentRecordService;
 
-    @Autowired
-    private ITaxiCardService taxiCardService;
-
-    @Autowired
-    private IOrderCallService orderCallService;
-
-    @Autowired
-    private IOrderAdditionalFeeService orderAdditionalFeeService;
-
-    @Autowired
-    private IAdditionalFeeService additionalFeeService;
+    @Value("${callbackPath}")
+    private String callbackPath;
 
     @Value("${pushMinistryOfTransport}")
     private boolean pushMinistryOfTransport;
@@ -196,10 +190,10 @@
     @PostMapping("/api/order/queryMyOrderList")
     @ApiOperation(value = "获取个人中心订单列表", tags = {"用户端-个人中心"}, notes = "")
     @ApiImplicitParams({
-        @ApiImplicitParam(value = "订单类型(1=专车/快车,2=出租车,3=机场专线,7=景区直通车,8=公务出行)", name = "type", required = true, dataType = "int"),
-        @ApiImplicitParam(value = "页码(首页1)", name = "pageNum", required = true, dataType = "int"),
-        @ApiImplicitParam(value = "页条数", name = "size", required = true, dataType = "int"),
-        @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
+            @ApiImplicitParam(value = "订单类型(1=专车,2=出租车,3=跨城出行,4=小件物流,5=包车)", name = "type", required = true, dataType = "int"),
+            @ApiImplicitParam(value = "页码(首页1)", name = "pageNum", required = true, dataType = "int"),
+            @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){
         try {
@@ -219,16 +213,10 @@
                     list = orderCrossCityService.queryMyOrderList(uid, pageNum, size);
                     break;
                 case 4:
-                    list = orderLogisticsService.queryMyOrderList(uid, type, pageNum, size);
+                    list = orderLogisticsService.queryMyOrderList(uid, pageNum, size);
                     break;
                 case 5:
-                    list = orderLogisticsService.queryMyOrderList(uid, type, pageNum, size);
-                    break;
-                case 6:
                     list = orderCharteredCarService.queryMyOrderList(uid, pageNum, size);
-                    break;
-                case 7:
-//                    list = orderCallService.queryMyOrderList(uid, pageNum, size);
                     break;
             }
             return ResultUtil.success(OrderWarpper.getOrderWarpper(list));
@@ -261,20 +249,39 @@
             }
             Integer page = pageNum;
             pageNum = (pageNum - 1) * size;
-            List<TransactionDetails> transactionDetails = transactionDetailsService.selectList(new EntityWrapper<TransactionDetails>()
-                    .eq("type", 1).eq("userType", 1).eq("userId", uid).orderBy("insertTime desc limit " + pageNum + ", " + size));
-            List<Map<String, Object>> list = new ArrayList<>();
+            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<TransactionDetails> transactionDetails = transactionDetailsService.selectList(new EntityWrapper<TransactionDetails>().eq("state", 1)
+                    .eq("type", 1).eq("userType", 1).eq("userId", uid));
+            List<Map<String, Object>> list4 = new ArrayList<>();
             SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");
-            for(TransactionDetails t : transactionDetails){
+            for(TransactionDetails transactionDetails1 : transactionDetails){
                 Map<String, Object> map = new HashMap<>();
-                map.put("money", t.getState() == 1 ? t.getMoney() : -1 * t.getMoney());
-                map.put("time", sdf.format(t.getInsertTime()));
-                map.put("name", t.getRemark());
-                map.put("insertTime", Double.valueOf(t.getInsertTime().getTime() / 1000).intValue());
-                list.add(map);
+                map.put("money", transactionDetails1.getMoney());
+                map.put("time", sdf.format(transactionDetails1.getInsertTime()));
+                map.put("name", transactionDetails1.getOrderType() == 3 ? "跨城订单取消退款" : transactionDetails1.getOrderType() == 4 ? "小件物流订单取消退款" : "");
+                map.put("insertTime", Double.valueOf(transactionDetails1.getInsertTime().getTime() / 1000).intValue());
+                list4.add(map);
             }
+            list.addAll(maps);
+            list.addAll(list1);
+            list.addAll(list2);
+            list.addAll(list3);
+            list.addAll(list4);
 
             List<TravelRecordWarpper> orderWarpper = TravelRecordWarpper.getTravelRecordWarpper(list);
+
+            //分页
+            if(orderWarpper.size() >= page * size){
+                orderWarpper = orderWarpper.subList(pageNum, pageNum + size);
+            }else if(pageNum < orderWarpper.size() && orderWarpper.size() < page * size){
+                orderWarpper = orderWarpper.subList(pageNum, orderWarpper.size());
+            }else{
+                orderWarpper = new ArrayList<>();
+            }
             return ResultUtil.success(orderWarpper);
         }catch (Exception e){
             e.printStackTrace();
@@ -301,7 +308,7 @@
     @ApiOperation(value = "发票页获取订单列表", tags = {"用户端-个人中心"}, notes = "")
     @ApiImplicitParams({
             @ApiImplicitParam(value = "订单开票状态(1=未开票,2=其他)", name = "type", required = true, dataType = "int"),
-            @ApiImplicitParam(value = "订单类型(1=专车/快车,2=出租车,3=机场专线,7=景区直通车,8=公务出行)", name = "orderType", required = false, dataType = "int"),
+            @ApiImplicitParam(value = "订单类型(1=专车,2=出租车,3=跨城出行,4=同城小件物流,5=跨城小件物流)", name = "orderType", required = false, dataType = "int"),
             @ApiImplicitParam(value = "开始日期", name = "startTime", required = false, dataType = "string"),
             @ApiImplicitParam(value = "结束日期", name = "endTime", required = false, dataType = "string"),
             @ApiImplicitParam(value = "开始金额", name = "startMoney", required = false, dataType = "double"),
@@ -405,11 +412,6 @@
 
 
 
-    @Autowired
-    private RedisUtil redisUtil;
-
-    @Resource
-    private SystemPriceMapper systemPriceMapper;
 
     /**
      * 获取服务中的详情数据
@@ -419,7 +421,7 @@
      */
     @ResponseBody
     @PostMapping("/api/order/queryOrderInfo")
-    @ApiOperation(value = "获取服务中的详情数据", tags = {"用户端-服务中"}, notes = "",response = OrderInfoWarpper.class)
+    @ApiOperation(value = "获取服务中的详情数据", tags = {"用户端-服务中"}, notes = "")
     @ApiImplicitParams({
             @ApiImplicitParam(value = "订单id", name = "orderId", required = true, dataType = "int"),
             @ApiImplicitParam(value = "订单类型(1=专车,2=出租车,3=城际)", name = "orderType", required = true, dataType = "int"),
@@ -428,7 +430,6 @@
     public ResultUtil<OrderInfoWarpper> queryOrderInfo(Integer orderId, Integer orderType){
         try {
             Map<String, Object> map = null;
-            List<OrderAdditionalFeeWarpper> list = new ArrayList<>();
             switch (orderType){
                 case 1://专车
                     map = orderPrivateCarService.queryOrderInfo(orderId);
@@ -443,117 +444,7 @@
             if(map.get("telX") != null){
                 map.put("driverPhone", map.get("telX"));
             }
-            List<OrderAdditionalFee> orderAdditionalFees = orderAdditionalFeeService.selectList(new EntityWrapper<OrderAdditionalFee>().eq("orderType", orderType).eq("orderId", orderId));
-            orderAdditionalFees.forEach(orderAdditionalFee -> {
-                AdditionalFee additionalFee = additionalFeeService.selectById(orderAdditionalFee.getAdditionalFeeId());
-                OrderAdditionalFeeWarpper orderAdditionalFeeWarpper = new OrderAdditionalFeeWarpper();
-                orderAdditionalFeeWarpper.setName(additionalFee.getName());
-                orderAdditionalFeeWarpper.setAdditionalFee(orderAdditionalFee.getAmount());
-                list.add(orderAdditionalFeeWarpper);
-            });
-            OrderInfoWarpper orderInfoWarpper = OrderInfoWarpper.getOrderInfoWarpper(map, list);
-            if(orderType==1){
-
-                if(orderInfoWarpper.getPid()!=0){
-                    orderId=orderInfoWarpper.getPid();
-                }
-                List<Map<String, Object>> orderList= orderPrivateCarService.queryOrderInfo2(orderId,4,null,null);
-                if(!orderList.isEmpty()){
-                    orderInfoWarpper.setMeetOrderList(JSON.parseArray(JSON.toJSONString(orderList), OrderCrossCityInfoWrapper.class));
-                }else{
-                    orderInfoWarpper.setMeetOrderList(new ArrayList<>());
-                }
-                orderList= orderPrivateCarService.queryOrderInfo2(orderId,6,null,null);
-                if(orderInfoWarpper.getState()>1 && orderInfoWarpper.getDriverId()!=0){
-                    String value = redisUtil.getValue("DRIVER" + String.valueOf(orderInfoWarpper.getDriverId()));
-                    if(value==null || value.equals("")){
-                        if(orderList.isEmpty()){
-                            orderList= orderPrivateCarService.queryOrderInfo2(orderId,5,"0","0");
-                        }else{
-                            List<Map<String, Object>> orderList1 = orderPrivateCarService.queryOrderInfo2(orderId,5,"0","0");
-                            if(!orderList1.isEmpty()){
-                                orderList.addAll(orderList1);
-                            }
-                        }
-                    }else{
-                        if(orderList.isEmpty()){
-                            orderList= orderPrivateCarService.queryOrderInfo2(orderId,5,value.split(",")[0],value.split(",")[1]);
-                        }else{
-                            List<Map<String, Object>> orderList1 = orderPrivateCarService.queryOrderInfo2(orderId,5,value.split(",")[0],value.split(",")[1]);
-                            if(!orderList1.isEmpty()){
-                                orderList.addAll(orderList1);
-                            }
-                        }
-                    }
-                }
-
-
-
-                if(!orderList.isEmpty()){
-                    orderInfoWarpper.setGiveOrderList(JSON.parseArray(JSON.toJSONString(orderList), OrderCrossCityInfoWrapper.class));
-                }else{
-                    orderInfoWarpper.setGiveOrderList(new ArrayList<>());
-                }
-
-                OrderPrivateCar orderPrivateCar = orderPrivateCarService.selectById(orderId);
-                if(orderPrivateCar.getState()>1){
-                    Map<String, Object> query1 = systemPriceMapper.query(orderPrivateCar.getCompanyId(), 1, orderPrivateCar.getServerCarModelId());
-                    //开始根据不同的方式计算金额
-                    JSONObject jsonObject = JSON.parseObject(query1.get("content").toString());//等待费
-                    JSONObject contentPutOne = JSON.parseObject(query1.get("contentPutOne").toString());//一人拼成
-                    JSONObject contentNotOne = JSON.parseObject(query1.get("contentNotOne").toString());//一人未拼成
-                    JSONObject contentPutTwo = JSON.parseObject(query1.get("contentPutTwo").toString());//2人拼成
-                    JSONObject contentNotTwo = JSON.parseObject(query1.get("contentNotTwo").toString());//2人未拼成
-                    JSONObject contentPutThree = JSON.parseObject(query1.get("contentPutThree").toString());//3人拼成
-                    JSONObject contentNotThree = JSON.parseObject(query1.get("contentNotThree").toString());//3人未拼成
-                    JSONObject contentExclusive = JSON.parseObject(query1.get("contentExclusive").toString());//独享
-                    JSONObject contentPrice = JSON.parseObject(query1.get("contentPrice").toString());//一口价
-                    //一口价
-                    orderInfoWarpper.setFareTypeNote1(query1.get("fareTypeNote1").toString());
-                    orderInfoWarpper.setFareTypeNote2(query1.get("fareTypeNote2").toString());
-                    orderInfoWarpper.setFareTypeNote3(query1.get("fareTypeNote3").toString());
-                    orderInfoWarpper.setContentPutOne(contentPutOne);
-                    orderInfoWarpper.setContentNotOne(contentNotOne);
-
-                    orderInfoWarpper.setContentPutTwo(contentPutTwo);
-                    orderInfoWarpper.setContentNotTwo(contentNotTwo);
-
-                    orderInfoWarpper.setContentPutThree(contentPutThree);
-                    orderInfoWarpper.setContentNotThree(contentNotThree);
-
-
-                    orderInfoWarpper.setContentExclusive(contentExclusive);
-                    orderInfoWarpper.setContentPrice(contentPrice);
-                }else{
-                    orderInfoWarpper.setContentPutOne(new JSONObject());
-                    orderInfoWarpper.setContentNotOne(new JSONObject());
-
-                    orderInfoWarpper.setContentPutTwo(new JSONObject());
-                    orderInfoWarpper.setContentNotTwo(new JSONObject());
-
-                    orderInfoWarpper.setContentPutThree(new JSONObject());
-                    orderInfoWarpper.setContentNotThree(new JSONObject());
-
-
-                    orderInfoWarpper.setContentExclusive(new JSONObject());
-                    orderInfoWarpper.setContentPrice(new JSONObject());
-                }
-
-            }else{
-                orderInfoWarpper.setContentPutOne(new JSONObject());
-                orderInfoWarpper.setContentNotOne(new JSONObject());
-
-                orderInfoWarpper.setContentPutTwo(new JSONObject());
-                orderInfoWarpper.setContentNotTwo(new JSONObject());
-
-                orderInfoWarpper.setContentPutThree(new JSONObject());
-                orderInfoWarpper.setContentNotThree(new JSONObject());
-
-
-                orderInfoWarpper.setContentExclusive(new JSONObject());
-                orderInfoWarpper.setContentPrice(new JSONObject());
-            }
-            return ResultUtil.success(orderInfoWarpper);
+            return ResultUtil.success(OrderInfoWarpper.getOrderInfoWarpper(map));
         }catch (Exception e){
             e.printStackTrace();
             return ResultUtil.runErr();
@@ -570,7 +461,7 @@
      */
     @ResponseBody
     @PostMapping("/base/order/queryOrderInfo_")
-    @ApiOperation(value = "获取服务中的详情数据", tags = {"分享专用"}, notes = "")
+    @ApiOperation(value = "获取服务中的详情数据", tags = {"分享专用", "智慧屏"}, notes = "")
     @ApiImplicitParams({
             @ApiImplicitParam(value = "订单id", name = "orderId", required = true, dataType = "int"),
             @ApiImplicitParam(value = "订单类型(1=专车,2=出租车,3=城际)", name = "orderType", required = true, dataType = "int"),
@@ -578,7 +469,6 @@
     public ResultUtil<OrderInfoWarpper> queryOrderInfo_(Integer orderId, Integer orderType){
         try {
             Map<String, Object> map = null;
-            List<OrderAdditionalFeeWarpper> list = new ArrayList<>();
             switch (orderType){
                 case 1://专车
                     map = orderPrivateCarService.queryOrderInfo(orderId);
@@ -593,15 +483,8 @@
             if(null != map.get("telX")){
                 map.put("driverPhone", map.get("telX"));
             }
-            List<OrderAdditionalFee> orderAdditionalFees = orderAdditionalFeeService.selectList(new EntityWrapper<OrderAdditionalFee>().eq("orderType", orderType).eq("orderId", orderId));
-            orderAdditionalFees.forEach(orderAdditionalFee -> {
-                AdditionalFee additionalFee = additionalFeeService.selectById(orderAdditionalFee.getAdditionalFeeId());
-                OrderAdditionalFeeWarpper orderAdditionalFeeWarpper = new OrderAdditionalFeeWarpper();
-                orderAdditionalFeeWarpper.setName(additionalFee.getName());
-                orderAdditionalFeeWarpper.setAdditionalFee(orderAdditionalFee.getAmount());
-                list.add(orderAdditionalFeeWarpper);
-            });
-            return ResultUtil.success(OrderInfoWarpper.getOrderInfoWarpper(map, list));
+
+            return ResultUtil.success(OrderInfoWarpper.getOrderInfoWarpper(map));
         }catch (Exception e){
             e.printStackTrace();
             return ResultUtil.runErr();
@@ -628,7 +511,6 @@
     public ResultUtil<OrderInfoWarpper> queryCancelPage(Integer orderId, Integer orderType){
         try {
             Map<String, Object> map = null;
-            List<OrderAdditionalFeeWarpper> list = new ArrayList<>();
             switch (orderType) {
                 case 1://专车
                     map = orderPrivateCarService.queryOrderInfo(orderId);
@@ -646,18 +528,7 @@
                     map.put("cancelPayMoney", r.getData().getAmount());
                     break;
             }
-            if(null != map.get("telX")){
-                map.put("driverPhone", map.get("telX"));
-            }
-            List<OrderAdditionalFee> orderAdditionalFees = orderAdditionalFeeService.selectList(new EntityWrapper<OrderAdditionalFee>().eq("orderType", orderType).eq("orderId", orderId));
-            orderAdditionalFees.forEach(orderAdditionalFee -> {
-                AdditionalFee additionalFee = additionalFeeService.selectById(orderAdditionalFee.getAdditionalFeeId());
-                OrderAdditionalFeeWarpper orderAdditionalFeeWarpper = new OrderAdditionalFeeWarpper();
-                orderAdditionalFeeWarpper.setName(additionalFee.getName());
-                orderAdditionalFeeWarpper.setAdditionalFee(orderAdditionalFee.getAmount());
-                list.add(orderAdditionalFeeWarpper);
-            });
-            return ResultUtil.success(OrderInfoWarpper.getOrderInfoWarpper(map, list));
+            return ResultUtil.success(OrderInfoWarpper.getOrderInfoWarpper(map));
         }catch (Exception e){
             e.printStackTrace();
             return ResultUtil.runErr();
@@ -974,6 +845,49 @@
 
 
     /**
+     * 添加取消记录
+     * @param id
+     * @param reason
+     * @param remark
+     * @return
+     */
+    @ResponseBody
+    @PostMapping("/base/taxi/addCancle1")
+    @ApiOperation(value = "添加取消记录", 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 = "取消原因", name = "reason", required = true, dataType = "string"),
+            @ApiImplicitParam(value = "备注", name = "remark", required = false, dataType = "string"),
+            @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
+    })
+    public ResultUtil addCancle1(Integer id, Integer orderType, String reason, String remark){
+        try {
+            switch (orderType){
+                case 1:
+                    return orderPrivateCarService.addCancle(id, reason, remark, null);
+                case 2:
+                    return orderTaxiService.addCancle(id, reason, remark, null);
+                case 3:
+                    return orderCrossCityService.addCancle(id, reason, remark, null);
+                case 4:
+                    return orderLogisticsService.addCancle(id, reason, remark, null);
+                case 5:
+                    return orderLogisticsService.addCancle(id, reason, remark, null);
+                case 6:
+                    return orderCharteredCarService.addCancle(id, reason, remark, null);
+            }
+            return ResultUtil.success();
+        }catch (Exception e){
+            e.printStackTrace();
+            return ResultUtil.runErr();
+        }
+    }
+
+
+
+
+    /**
      * 取消操作支付
      * @param id
      * @param payType
@@ -1094,60 +1008,6 @@
 
 
     /**
-     * 支付页面获取余额和优惠数据
-     * @param orderId
-     * @param request
-     * @return
-     */
-    @ResponseBody
-    @PostMapping("/api/taxi/queryBalance1")
-    @ApiOperation(value = "1.0-支付页面获取余额和优惠数据", tags = {"用户端-出租车", "用户端-专车", "用户端-跨城","用户端-小件物流"})
-    @ApiImplicitParams({
-            @ApiImplicitParam(value = "订单id", name = "orderId", required = true, dataType = "int"),
-            @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<PreferentialDataVo> queryBalance1(Integer orderId, Integer orderType, HttpServletRequest request){
-        try {
-            Integer uid = userInfoService.getUserIdFormRedis(request);
-            if(null == uid){
-                return ResultUtil.tokenErr();
-            }
-            PreferentialDataVo map = new PreferentialDataVo();
-            switch (orderType){
-                case 1:
-                    map = orderPrivateCarService.queryBalance1(orderId, uid);
-                    break;
-                case 2:
-                    map = orderTaxiService.queryBalance1(orderId, uid);
-                    break;
-                case 3:
-                    map = orderCrossCityService.queryBalance1(orderId, uid);
-                    break;
-                case 4:
-                    map = orderLogisticsService.queryBalance1(orderId, uid);
-                    break;
-                case 5:
-                    map = orderLogisticsService.queryBalance1(orderId, uid);
-                    break;
-                case 6:
-                    map = orderCharteredCarService.queryBalance1(orderId, uid);
-                    break;
-                case 7:
-//                    map = orde.queryBalance1(orderId, uid);
-                    break;
-            }
-            return ResultUtil.success(map);
-        }catch (Exception e){
-            e.printStackTrace();
-            return ResultUtil.runErr();
-        }
-    }
-
-
-
-
-    /**
      * 获取支付页面的优惠券列表
      * @param orderId
      * @param pageNum
@@ -1193,49 +1053,6 @@
 
 
 
-    @ResponseBody
-    @PostMapping("/api/taxi/queryCouponList")
-    @ApiOperation(value = "1.0-获取支付页面的优惠券和打车卡列表", tags = {"用户端-出租车", "用户端-专车", "用户端-跨城","用户端-小件物流"}, notes = "")
-    @ApiImplicitParams({
-            @ApiImplicitParam(value = "订单id", name = "orderId", required = true, dataType = "int"),
-            @ApiImplicitParam(value = "订单类型(1=专车,2=出租车,3=跨城,4=同城小件物流,5=跨城小件物流)", name = "orderType", required = true, dataType = "int"),
-            @ApiImplicitParam(value = "页码,首页1", name = "pageNum", required = true, dataType = "int"),
-            @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<CouponsListVo>> queryCouponList(Integer orderId, Integer orderType, Integer pageNum, Integer size, HttpServletRequest request){
-        try {
-            Integer uid = userInfoService.getUserIdFormRedis(request);
-            if(null == uid){
-                return ResultUtil.tokenErr();
-            }
-            List<CouponsListVo> list = new ArrayList<>();
-            switch (orderType){
-                case 1:
-                    list = orderPrivateCarService.queryCouponList(orderId, uid, pageNum, size);
-                    break;
-                case 2:
-                    list = orderTaxiService.queryCouponList(orderId, uid, pageNum, size);
-                    break;
-                case 3:
-                    list = orderCrossCityService.queryCouponList(orderId, uid, pageNum, size);
-                    break;
-                case 4:
-                    list = orderLogisticsService.queryCouponList(orderId, uid, pageNum, size);
-                    break;
-                case 5:
-                    list = orderLogisticsService.queryCouponList(orderId, uid, pageNum, size);
-                    break;
-            }
-            return ResultUtil.success(list);
-        }catch (Exception e){
-            e.printStackTrace();
-            return ResultUtil.runErr();
-        }
-    }
-
-
-
     /**
      * 订单完成支付订单操作
      * @param payType
@@ -1278,46 +1095,6 @@
             return ResultUtil.runErr();
         }
     }
-
-
-
-    @ResponseBody
-    @PostMapping("/api/taxi/payTaxiOrder1")
-    @ApiOperation(value = "1.0-订单完成支付订单操作", tags = {"用户端-出租车", "用户端-专车", "用户端-跨城", "用户端-小件物流"}, notes = "")
-    @ApiImplicitParams({
-            @ApiImplicitParam(value = "支付方式(1=微信,2=支付宝,3=余额)", name = "payType", required = true, dataType = "int"),
-            @ApiImplicitParam(value = "订单id", name = "orderId", required = true, dataType = "int"),
-            @ApiImplicitParam(value = "订单类型(1=专车,2=出租车,3=跨城,4=小件物流)", name = "orderType", required = true, dataType = "int"),
-            @ApiImplicitParam(value = "优惠数据id", name = "objectId", required = false, dataType = "int"),
-            @ApiImplicitParam(value = "数据类型(1=优惠券,2=打车卡)", name = "objectType", 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 payTaxiOrder1(Integer payType, Integer orderId, Integer orderType, Integer objectId, Integer objectType, Integer type, HttpServletRequest request){
-        try {
-            Integer uid = userInfoService.getUserIdFormRedis(request);
-            if(null == uid){
-                return ResultUtil.tokenErr();
-            }
-            switch (orderType){
-                case 1:
-                    return orderPrivateCarService.payPrivateCarOrder1(payType, orderId, objectId, objectType, type);
-                case 2:
-                    return orderTaxiService.payTaxiOrder1(payType, orderId, objectId, objectType, type);
-                case 3:
-                    return orderCrossCityService.payCrossCityOrder1(payType, orderId, objectId, objectType, type);
-                case 4:
-                    return orderLogisticsService.payLogisticsOrder1(payType, orderId, objectId, objectType, type);
-                case 5:
-                    return orderLogisticsService.payLogisticsOrder1(payType, orderId, objectId, objectType, type);
-            }
-            return ResultUtil.success();
-        }catch (Exception e){
-            e.printStackTrace();
-            return ResultUtil.runErr();
-        }
-    }
-
 
 
 
@@ -1454,31 +1231,29 @@
         try {
             Map<String, String> map = payMoneyUtil.weixinpayCallback(request);
             if(null != map){
-                String order_id = map.get("transaction_id");
                 String out_trade_no = map.get("out_trade_no");
-                String result = map.get("result");
-                if(ToolUtil.isNotEmpty(out_trade_no) && ToolUtil.isNotEmpty(order_id)){
-                    PrintWriter out = response.getWriter();
-                    out.write(result);
-                    out.flush();
-                    out.close();
+                String transaction_id = map.get("transaction_id");
 
-                    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, 1);
-                            break;
-                        case 2:
-                            orderTaxiService.payCancelOrderTaxi(id, order_id, 1);
-                            break;
-                        case 3:
-                            orderCrossCityService.payCancelOrderCrossCity(id, order_id, 1);
-                            break;
-                    }
+                String substring = out_trade_no.substring(17);
+                Integer type = Integer.valueOf(substring.substring(0, 1));
+                Integer id = Integer.valueOf(substring.substring(1));
+                switch (type){
+                    case 1:
+                        orderPrivateCarService.payCancelOrderPrivateCar(id, transaction_id, 1);
+                        break;
+                    case 2:
+                        orderTaxiService.payCancelOrderTaxi(id, transaction_id, 1);
+                        break;
+                    case 3:
+                        orderCrossCityService.payCancelOrderCrossCity(id, transaction_id, 1);
+                        break;
                 }
 
+                String result = map.get("result");
+                PrintWriter out = response.getWriter();
+                out.print(result);
+                out.flush();
+                out.close();
             }
         }catch (Exception e){
             e.printStackTrace();
@@ -1497,24 +1272,26 @@
             Map<String, String> map = payMoneyUtil.alipayCallback(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) && ToolUtil.isNotEmpty(order_id)){
-                    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;
-                    }
-                }
+                String trade_no = map.get("trade_no");
 
+                String substring = out_trade_no.substring(17);
+                Integer type = Integer.valueOf(substring.substring(0, 1));
+                Integer id = Integer.valueOf(substring.substring(1));
+                switch (type){
+                    case 1:
+                        orderPrivateCarService.payCancelOrderPrivateCar(id, trade_no, 2);
+                        break;
+                    case 2:
+                        orderTaxiService.payCancelOrderTaxi(id, trade_no, 2);
+                        break;
+                    case 3:
+                        orderCrossCityService.payCancelOrderCrossCity(id, trade_no, 2);
+                        break;
+                }
+                PrintWriter out = response.getWriter();
+                out.print("success");
+                out.flush();
+                out.close();
             }
         }catch (Exception e){
             e.printStackTrace();
@@ -1532,36 +1309,35 @@
         try {
             Map<String, String> map = payMoneyUtil.weixinpayCallback(request);
             if(null != map){
-                String order_id = map.get("transaction_id");
                 String out_trade_no = map.get("out_trade_no");
-                String result = map.get("result");
-                if(ToolUtil.isNotEmpty(out_trade_no) && ToolUtil.isNotEmpty(order_id)){
-                    PrintWriter out = response.getWriter();
-                    out.write(result);
-                    out.flush();
-                    out.close();
+                String transaction_id = map.get("transaction_id");
 
-                    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, 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);
-                            break;
-                        case 5:
-                            orderLogisticsService.payOrderLogisticsCallback(id, order_id, 1);
-                            break;
-                    }
+                String substring = out_trade_no.substring(17);
+                Integer type = Integer.valueOf(substring.substring(0, 1));
+                Integer id = Integer.valueOf(substring.substring(1));
+                switch (type){
+                    case 1:
+                        orderPrivateCarService.payOrderPrivateCarCallback(id, transaction_id, 1);
+                        break;
+                    case 2:
+                        orderTaxiService.payOrderTaxiCallback(id, transaction_id, 1);
+                        break;
+                    case 3:
+                        orderCrossCityService.payOrderCrossCityCallback(id, transaction_id, 1);
+                        break;
+                    case 4:
+                        orderLogisticsService.payOrderLogisticsCallback(id, transaction_id, 1);
+                        break;
+                    case 5:
+                        orderLogisticsService.payOrderLogisticsCallback(id, transaction_id, 1);
+                        break;
                 }
+
+                String result = map.get("result");
+                PrintWriter out = response.getWriter();
+                out.print(result);
+                out.flush();
+                out.close();
             }
         }catch (Exception e){
             e.printStackTrace();
@@ -1580,30 +1356,32 @@
             Map<String, String> map = payMoneyUtil.alipayCallback(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) && ToolUtil.isNotEmpty(order_id)){
-                    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);
-                            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;
-                    }
-                }
+                String trade_no = map.get("trade_no");
 
+                String substring = out_trade_no.substring(17);
+                Integer type = Integer.valueOf(substring.substring(0, 1));
+                Integer id = Integer.valueOf(substring.substring(1));
+                switch (type){
+                    case 1:
+                        orderPrivateCarService.payOrderPrivateCarCallback(id, trade_no, 2);
+                        break;
+                    case 2:
+                        orderTaxiService.payOrderTaxiCallback(id, trade_no, 2);
+                        break;
+                    case 3:
+                        orderCrossCityService.payOrderCrossCityCallback(id, trade_no, 2);
+                        break;
+                    case 4:
+                        orderLogisticsService.payOrderLogisticsCallback(id, trade_no, 2);
+                        break;
+                    case 5:
+                        orderLogisticsService.payOrderLogisticsCallback(id, trade_no, 2);
+                        break;
+                }
+                PrintWriter out = response.getWriter();
+                out.print("success");
+                out.flush();
+                out.close();
             }
         }catch (Exception e){
             e.printStackTrace();
@@ -1623,20 +1401,20 @@
         try {
             Map<String, String> map = payMoneyUtil.weixinpayCallback(request);
             if(null != map){
-                String order_id = map.get("transaction_id");
                 String out_trade_no = map.get("out_trade_no");
-                String result = map.get("result");
-                if(ToolUtil.isNotEmpty(out_trade_no) && ToolUtil.isNotEmpty(order_id)){
-                    PrintWriter out = response.getWriter();
-                    out.write(result);
-                    out.flush();
-                    out.close();
+                String transaction_id = map.get("transaction_id");
 
-                    String[] split = out_trade_no.split("_");
-                    Integer id = Integer.valueOf(split[0]);
-                    Integer type = Integer.valueOf(split[1]);
-                    orderLogisticsService.payOrderLogisticsSpreadCallback(id, order_id, 1);
-                }
+                String substring = out_trade_no.substring(17);
+                Integer type = Integer.valueOf(substring.substring(0, 1));
+                Integer id = Integer.valueOf(substring.substring(1));
+
+                orderLogisticsService.payOrderLogisticsSpreadCallback(id, transaction_id, 1);
+
+                String result = map.get("result");
+                PrintWriter out = response.getWriter();
+                out.print(result);
+                out.flush();
+                out.close();
             }
         }catch (Exception e){
             e.printStackTrace();
@@ -1655,111 +1433,17 @@
             Map<String, String> map = payMoneyUtil.alipayCallback(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) && ToolUtil.isNotEmpty(order_id)){
-                    String[] split = out_trade_no.split("_");
-                    Integer id = Integer.valueOf(split[0]);
-                    Integer type = Integer.valueOf(split[1]);
-                    orderLogisticsService.payOrderLogisticsSpreadCallback(id, order_id, 2);
-                }
+                String trade_no = map.get("trade_no");
 
-            }
-        }catch (Exception e){
-            e.printStackTrace();
-        }
-    }
+                String substring = out_trade_no.substring(17);
+                Integer type = Integer.valueOf(substring.substring(0, 1));
+                Integer id = Integer.valueOf(substring.substring(1));
+                orderLogisticsService.payOrderLogisticsSpreadCallback(id, trade_no, 2);
 
-    /**
-     * 取消订单微信退款成功回调
-     * @param request
-     * @param response
-     */
-    @ResponseBody
-    @PostMapping("/base/cancleOrderWXPay")
-    public void cancleOrderWXPay(HttpServletRequest request, HttpServletResponse response){
-        try {
-            Map<String, String> map = payMoneyUtil.wxRefundCallback(request);
-            if(null != map){
-                String order_id = map.get("refund_id");
-                String out_refund_no = map.get("out_refund_no");
-                String result = map.get("result");
-                if(ToolUtil.isNotEmpty(out_refund_no) && ToolUtil.isNotEmpty(order_id)){
-                    PrintWriter out = response.getWriter();
-                    out.write(result);
-                    out.flush();
-                    out.close();
-
-                    String[] split = out_refund_no.split(",");
-                    Integer id = Integer.valueOf(split[0]);
-                    Integer type = Integer.valueOf(split[1]);
-                    switch (type){
-                        case 1:
-                            break;
-                        case 2:
-                            break;
-                        case 3:
-                            OrderCrossCity orderCrossCity = orderCrossCityService.selectById(id);
-                            PaymentRecord query = paymentRecordService.query(1, orderCrossCity.getUserId(), 1, id, 3, orderCrossCity.getPayType(), 2);
-                            //添加交易明细
-                            transactionDetailsService.saveData(orderCrossCity.getUserId(), "跨城出行取消退款", query.getAmount(), 1, 1, 1, 3, id);
-                            break;
-                        case 4:
-                            break;
-                        case 5:
-                            break;
-                    }
-                }
-            }
-        }catch (Exception e){
-            e.printStackTrace();
-        }
-    }
-
-
-    /**
-     * 购买出行卡微信支付回调
-     * @param request
-     * @param response
-     */
-    @ResponseBody
-    @PostMapping("/base/wxPayTaxiCardPaymentSpread")
-    public void wxPayTaxiCardPaymentSpread(HttpServletRequest request, HttpServletResponse response){
-        try {
-            Map<String, String> map = payMoneyUtil.weixinpayCallback(request);
-            if(null != map){
-                String order_id = map.get("transaction_id");
-                String out_trade_no = map.get("out_trade_no");
-                String result = map.get("result");
-                if(ToolUtil.isNotEmpty(out_trade_no) && ToolUtil.isNotEmpty(order_id)){
-                    PrintWriter out = response.getWriter();
-                    out.write(result);
-                    out.flush();
-                    out.close();
-                    taxiCardService.payTaxiCardPaymentSpread(Integer.valueOf(out_trade_no), order_id);
-                }
-            }
-        }catch (Exception e){
-            e.printStackTrace();
-        }
-    }
-
-
-    /**
-     * 购买出行卡支付宝支付回调
-     * @param request
-     * @param response
-     */
-    @ResponseBody
-    @PostMapping("/base/aliPayTaxiCardPaymentSpread")
-    public void aliPayTaxiCardPaymentSpread(HttpServletRequest request, HttpServletResponse response){
-        try {
-            Map<String, String> map = payMoneyUtil.alipayCallback(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) && ToolUtil.isNotEmpty(order_id)){
-                    taxiCardService.payTaxiCardPaymentSpread(Integer.valueOf(out_trade_no), order_id);
-                }
+                PrintWriter out = response.getWriter();
+                out.print("success");
+                out.flush();
+                out.close();
             }
         }catch (Exception e){
             e.printStackTrace();
@@ -1768,84 +1452,180 @@
 
 
     @ResponseBody
-    @PostMapping("/api/taxi/payThankYouFee")
-    @ApiOperation(value = "1.0-支付感谢费", tags = {"用户端-出租车", "用户端-专车", "用户端-跨城", "用户端-小件物流", "用户端-包车", "用户端-助老模式"}, notes = "")
+    @PostMapping("/base/order/queryDriverInfo")
+    @ApiOperation(value = "获取司机信息", tags = {"线下收款"}, notes = "")
     @ApiImplicitParams({
-            @ApiImplicitParam(value = "支付方式(1=微信,2=支付宝,3=余额)", name = "payType", required = true, dataType = "int"),
-            @ApiImplicitParam(value = "订单id", name = "orderId", required = true, dataType = "int"),
-            @ApiImplicitParam(value = "订单类型(1=专车,2=出租车,3=跨城,4=同城小件物流,5=跨城小件物流,6=包车,7=助老模式)", name = "orderType", required = true, dataType = "int"),
-            @ApiImplicitParam(value = "支付金额", name = "money", required = true, dataType = "double"),
-            @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.....")
+            @ApiImplicitParam(value = "司机id", name = "driverId", required = true, dataType = "int"),
     })
-    public ResultUtil payThankYouFee(Integer orderId, Integer orderType, Double money, Integer payType, Integer type, HttpServletRequest request){
+    public ResultUtil<Map<String, Object>> queryDriverInfo(Integer driverId){
         try {
-            Integer uid = userInfoService.getUserIdFormRedis(request);
-            if(null == uid){
-                return ResultUtil.tokenErr();
-            }
-            switch (orderType){
-                case 1:
-                    return orderPrivateCarService.payThankYouFee(uid, orderId, money, payType, type);
-                case 2:
-                    return orderTaxiService.payThankYouFee(uid, orderId, money, payType, type);
-                case 3:
-                    return orderCrossCityService.payThankYouFee(uid, orderId, money, payType, type);
-                case 4:
-                    return orderLogisticsService.payThankYouFee(uid, orderId, money, payType, type);
-                case 5:
-                    return orderLogisticsService.payThankYouFee(uid, orderId, money, payType, type);
-                case 6:
-                    return orderCharteredCarService.payThankYouFee(uid, orderId, money, payType, type);
-                case 7:
-                    return orderCallService.payThankYouFee(uid, orderId, money, payType, type);
+            Driver driver = driverService.selectById(driverId);
+            String phone = AESUtil.decrypt(driver.getPhone());
+            Map<String, Object> map = new HashMap<>();
+            map.put("name", driver.getName());
+            map.put("phone", phone.substring(0, 3) + "****" + phone.substring(7));
+            map.put("headImg", driver.getHeadImgUrl());
+            return ResultUtil.success(map);
+        }catch (Exception e){
+            e.printStackTrace();
+            return ResultUtil.runErr();
+        }
+    }
+
+
+
+    @ResponseBody
+    @PostMapping("/base/order/driverQrCodePaymentCollection")
+    @ApiOperation(value = "扫码司机收款码调起支付", tags = {"线下收款"}, notes = "")
+    @ApiImplicitParams({
+            @ApiImplicitParam(value = "司机id", name = "driverId", required = true, dataType = "int"),
+            @ApiImplicitParam(value = "支付金额", name = "money", required = true, dataType = "double"),
+            @ApiImplicitParam(value = "支付方式(1=微信,2=支付宝)", name = "payType", required = true, dataType = "int"),
+    })
+    public ResultUtil<Map<String, String>> driverQrCodePaymentCollection(Integer driverId, Double money, Integer payType){
+        try {
+            return orderService.driverQrCodePaymentCollection(driverId, money, payType);
+        }catch (Exception e){
+            e.printStackTrace();
+            return ResultUtil.runErr();
+        }
+    }
+
+
+    @ResponseBody
+    @PostMapping("/base/order/queryDriverQrCodePaymentStatus")
+    @ApiOperation(value = "获取线下收款支付状态", tags = {"线下收款"}, notes = "")
+    @ApiImplicitParams({
+            @ApiImplicitParam(value = "支付id", name = "id", required = true, dataType = "string"),
+    })
+    public ResultUtil<Integer> queryDriverQrCodePaymentStatus(String id){
+        try {
+            OfflineTravelPayment offlineTravelPayment = offlineTravelPaymentService.selectOne(new EntityWrapper<OfflineTravelPayment>().eq("orderId", id));
+            if(null != offlineTravelPayment){
+                return ResultUtil.success(offlineTravelPayment.getStatus());
             }
         }catch (Exception e){
             e.printStackTrace();
             return ResultUtil.runErr();
         }
-        return ResultUtil.success();
+        return ResultUtil.success(0);
     }
 
 
+
+
+
+
+    @ResponseBody
+    @PostMapping("/base/order/evaluateDriver")
+    @ApiOperation(value = "支付完成后的评价操作", tags = {"线下收款"}, notes = "")
+    @ApiImplicitParams({
+            @ApiImplicitParam(value = "司机id", name = "driverId", required = true, dataType = "int"),
+            @ApiImplicitParam(value = "评分", name = "score", required = true, dataType = "double"),
+            @ApiImplicitParam(value = "评价内容", name = "content", required = true, dataType = "string"),
+    })
+    public ResultUtil evaluateDriver(Integer driverId, Integer score, String content){
+        try {
+            OrderEvaluate orderEvaluate = new OrderEvaluate();
+            orderEvaluate.setDriverId(driverId);
+            orderEvaluate.setFraction(score);
+            orderEvaluate.setContent(content);
+            orderEvaluate.setInsertTime(new Date());
+            orderEvaluateService.insert(orderEvaluate);
+            return ResultUtil.success();
+        }catch (Exception e){
+            e.printStackTrace();
+            return ResultUtil.runErr();
+        }
+    }
+
+
+
+
+
     /**
-     * 感谢费支付回调
+     * 扫码司机收款码支付回调
      * @param request
      * @param response
      */
     @ResponseBody
-    @PostMapping("/base/wxPayThankYouFee")
-    public void wxPayThankYouFee(HttpServletRequest request, HttpServletResponse response){
+    @PostMapping("/base/offlineTravelPaymentCallback")
+    public void offlineTravelPaymentCallback(HttpServletRequest request, HttpServletResponse response){
         try {
-            Map<String, String> map = payMoneyUtil.weixinpayCallback(request);
+            System.err.println("线下收款开始回调-------------------");
+            ResultNotification resultNotification = PayUtil.payResultNotification(request);
+            System.err.println("支付回调:" + JSON.toJSONString(resultNotification));
+            if(null != resultNotification){
+                if("000000".equals(resultNotification.getReturnCode())){
+                    if("00".equals(resultNotification.getResultCode())){
+                        String chnlSeq = resultNotification.getChnlSeq();
+                        String txnSeq = resultNotification.getTxnSeq();
+                        OfflineTravelPayment offlineTravelPayment = offlineTravelPaymentService.selectOne(new EntityWrapper<OfflineTravelPayment>().eq("orderId", chnlSeq));
+                        if(null != offlineTravelPayment && offlineTravelPayment.getStatus() == 1){
+                            offlineTravelPayment.setStatus(2);
+                            offlineTravelPayment.setPayTime(new Date());
+                            offlineTravelPayment.setPayNumber(txnSeq);
+                            offlineTravelPaymentService.updateById(offlineTravelPayment);
+
+                            PrintWriter out = response.getWriter();
+                            out.print(resultNotification.getResponseStr());
+                            out.flush();
+                            out.close();
+                        }
+                    }else{
+                        System.err.println(resultNotification.getResultMsg());
+                    }
+                }else{
+                    System.err.println(resultNotification.getReturnMessage());
+                }
+            }
+        }catch (Exception e){
+            e.printStackTrace();
+        }
+    }
+
+
+    /**
+     * 微信支付退款回调
+     * @param request
+     * @param response
+     */
+    @ResponseBody
+    @PostMapping("/base/wxRefundCallback")
+    public void wxRefundCallback(HttpServletRequest request, HttpServletResponse response){
+        try {
+            Map<String, String> map = payMoneyUtil.wxRefundCallback(request);
             if(null != map){
-                String order_id = map.get("transaction_id");
-                String out_trade_no = map.get("out_trade_no");
+                String out_refund_no = map.get("out_refund_no");
+                String refund_id = map.get("refund_id");
                 String result = map.get("result");
-                if(ToolUtil.isNotEmpty(out_trade_no) && ToolUtil.isNotEmpty(order_id)){
-                    PrintWriter out = response.getWriter();
-                    out.write(result);
-                    out.flush();
-                    out.close();
+                String substring = out_refund_no.substring(17);
+                Integer type = Integer.valueOf(substring.substring(0, 1));
+                Integer id = Integer.valueOf(substring.substring(1));
 
-                    String[] s = out_trade_no.split("_");
-                    switch (Integer.valueOf(s[1])){
-                        case 1:
-                            orderPrivateCarService.payThankYouFeeCallback(Integer.valueOf(s[0]), order_id, 1);
-                        case 2:
-                            orderTaxiService.payThankYouFeeCallback(Integer.valueOf(s[0]), order_id, 1);
-                        case 3:
-                            orderCrossCityService.payThankYouFeeCallback(Integer.valueOf(s[0]), order_id, 1);
-                        case 4:
-                            orderLogisticsService.payThankYouFeeCallback(Integer.valueOf(s[0]), order_id, 1);
-                        case 5:
-                            orderLogisticsService.payThankYouFeeCallback(Integer.valueOf(s[0]), order_id, 1);
-                        case 6:
-                            orderCharteredCarService.payThankYouFeeCallback(Integer.valueOf(s[0]), order_id, 1);
-                        case 7:
-                            orderCallService.payThankYouFeeCallback(Integer.valueOf(s[0]), order_id, 1);
-                    }
+                PaymentRecord paymentRecord = paymentRecordService.selectById(id);
+                if(paymentRecord.getRefundState() == 2){
+                    return;
                 }
+                if(type == 3){
+                    paymentRecord.setRefundCode(refund_id);
+                    paymentRecord.setRefundState(2);
+                    paymentRecordService.updateById(paymentRecord);
+                    OrderCrossCity orderCrossCity = orderCrossCityService.selectById(paymentRecord.getOrderId());
+                    transactionDetailsService.saveData(orderCrossCity.getUserId(), "跨城订单取消退款", orderCrossCity.getPayMoney(), 1, 1, 1, 3, id);
+                }
+                if(type == 4 || type == 5){
+                    paymentRecord.setRefundCode(refund_id);
+                    paymentRecord.setRefundState(2);
+                    paymentRecordService.updateById(paymentRecord);
+                    OrderLogistics orderLogistics = orderLogisticsService.selectById(paymentRecord.getOrderId());
+                    transactionDetailsService.saveData(orderLogistics.getUserId(), "小件物流取消退款", orderLogistics.getPayMoney(), 1, 1, 1, orderLogistics.getType(), orderLogistics.getId());
+                }
+
+                PrintWriter out = response.getWriter();
+                out.print(result);
+                out.flush();
+                out.close();
             }
         }catch (Exception e){
             e.printStackTrace();
@@ -1854,42 +1634,169 @@
 
 
     /**
-     * 感谢费支付宝支付回调
-     * @param request
-     * @param response
+     * 管理后台取消订单回退支付金额
+     * @param orderId
+     * @param orderType
+     * @return
      */
     @ResponseBody
-    @PostMapping("/base/aliPayThankYouFee")
-    public void aliPayThankYouFee(HttpServletRequest request, HttpServletResponse response){
+    @PostMapping("/base/order/cancelOrderRollbackAmount")
+    public String cancelOrderRollbackAmount(Integer orderId, Integer orderType){
         try {
-            Map<String, String> map = payMoneyUtil.alipayCallback(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) && 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);
-                        case 2:
-                            orderTaxiService.payThankYouFeeCallback(Integer.valueOf(s[0]), order_id, 2);
-                        case 3:
-                            orderCrossCityService.payThankYouFeeCallback(Integer.valueOf(s[0]), order_id, 2);
-                        case 4:
-                            orderLogisticsService.payThankYouFeeCallback(Integer.valueOf(s[0]), order_id, 2);
-                        case 5:
-                            orderLogisticsService.payThankYouFeeCallback(Integer.valueOf(s[0]), order_id, 2);
-                        case 6:
-                            orderCharteredCarService.payThankYouFeeCallback(Integer.valueOf(s[0]), order_id, 2);
-                        case 7:
-                            orderCallService.payThankYouFeeCallback(Integer.valueOf(s[0]), order_id, 2);
+            switch (orderType){
+                case 3:
+                    OrderCrossCity orderCrossCity = orderCrossCityService.selectById(orderId);
+                    if(orderCrossCity.getPayType() == 3){//余额支付
+                        UserInfo userInfo = userInfoService.selectById(orderCrossCity.getUserId());
+                        userInfo.setBalance(userInfo.getBalance() + orderCrossCity.getPayMoney());
+                        userInfoService.updateById(userInfo);
+                        //添加交易明细
+                        transactionDetailsService.saveData(orderCrossCity.getUserId(), "跨城订单取消退款", orderCrossCity.getPayMoney(), 1, 1, 1, 3, orderId);
+                    }else{
+                        SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS");
+                        List<PaymentRecord> paymentRecords = paymentRecordService.selectList(new EntityWrapper<PaymentRecord>().eq("category", 1).eq("orderId", orderId)
+                                .eq("orderType", orderType).eq("state", 2).isNull("refundState"));
+                        for (PaymentRecord paymentRecord : paymentRecords) {
+                            String out_trade_no = sdf.format(new Date()) + orderType + paymentRecord.getId();
+                            if(paymentRecord.getPayType() == 1){//微信
+                                payMoneyUtil.wxRefund(paymentRecord.getCode(), out_trade_no, paymentRecord.getAmount().toString(), paymentRecord.getAmount().toString(), callbackPath + "/base/wxRefundCallback");
+                            }
+                            if(paymentRecord.getPayType() == 2){//支付宝
+                                Map<String, String> map = payMoneyUtil.aliRefund(paymentRecord.getCode(), paymentRecord.getAmount().toString());
+                                String code = map.get("code");
+                                if(!"10000".equals(code)){
+                                    return JSON.toJSONString(ResultUtil.error(map.get("msg")));
+                                }
+                                paymentRecord.setRefundState(2);
+                                paymentRecord.setRefundCode(map.get("trade_no"));
+                                paymentRecordService.updateById(paymentRecord);
+                                //添加交易明细
+                                transactionDetailsService.saveData(orderCrossCity.getUserId(), "跨城订单取消退款", orderCrossCity.getPayMoney(), 1, 1, 1, 3, orderId);
+                            }
+                        }
                     }
-                }
+                    break;
+                case 4:
+                    OrderLogistics orderLogistics = orderLogisticsService.selectById(orderId);
+                    if(orderLogistics.getPayType() == 3){//余额支付
+                        UserInfo userInfo = userInfoService.selectById(orderLogistics.getUserId());
+                        userInfo.setBalance(userInfo.getBalance() + orderLogistics.getPayMoney());
+                        userInfoService.updateById(userInfo);
+                        //添加交易明细
+                        transactionDetailsService.saveData(orderLogistics.getUserId(), "小件物流取消退款", orderLogistics.getPayMoney(), 1, 1, 1, orderLogistics.getType(), orderLogistics.getId());
+                    }else{
+                        //调用回退接口
+                        List<PaymentRecord> paymentRecords = paymentRecordService.selectList(new EntityWrapper<PaymentRecord>().eq("category", 1).eq("orderId", orderId)
+                                .eq("orderType", orderType).eq("state", 2).isNull("refundState"));
+                        for (PaymentRecord paymentRecord : paymentRecords) {
+                            SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS");
+                            String out_trade_no = sdf.format(new Date()) + orderLogistics.getType() + paymentRecord.getId();
+
+                            if(paymentRecord.getPayType() == 1){//微信
+                                Map<String, String> map = payMoneyUtil.wxRefund(paymentRecord.getCode(), out_trade_no, paymentRecord.getAmount().toString(), paymentRecord.getAmount().toString(), callbackPath + "/base/wxRefundCallback");
+                                String return_code = map.get("return_code");
+                                if(!"SUCCESS".equals(return_code)){
+                                    return JSON.toJSONString(ResultUtil.error(map.get("return_msg")));
+                                }
+                            }
+                            if(paymentRecord.getPayType() == 2){//支付宝
+                                Map<String, String> map = payMoneyUtil.aliRefund(paymentRecord.getCode(), paymentRecord.getAmount().toString());
+                                String code = map.get("code");
+                                if(!"10000".equals(code)){
+                                    return JSON.toJSONString(ResultUtil.error(map.get("msg")));
+                                }
+                                paymentRecord.setRefundState(2);
+                                paymentRecord.setRefundCode(map.get("trade_no"));
+                                paymentRecordService.updateById(paymentRecord);
+                                //添加交易明细
+                                transactionDetailsService.saveData(orderLogistics.getUserId(), "小件物流取消退款", orderLogistics.getPayMoney(), 1, 1, 1, orderLogistics.getType(), orderLogistics.getId());
+                            }
+                        }
+                    }
+                    break;
+                case 5:
+                    OrderLogistics orderLogistics1 = orderLogisticsService.selectById(orderId);
+                    if(orderLogistics1.getPayType() == 3){//余额支付
+                        UserInfo userInfo = userInfoService.selectById(orderLogistics1.getUserId());
+                        userInfo.setBalance(userInfo.getBalance() + orderLogistics1.getPayMoney());
+                        userInfoService.updateById(userInfo);
+                        //添加交易明细
+                        transactionDetailsService.saveData(orderLogistics1.getUserId(), "小件物流取消退款", orderLogistics1.getPayMoney(), 1, 1, 1, orderLogistics1.getType(), orderLogistics1.getId());
+                    }else{
+                        //调用回退接口
+                        List<PaymentRecord> paymentRecords = paymentRecordService.selectList(new EntityWrapper<PaymentRecord>().eq("category", 1).eq("orderId", orderId)
+                                .eq("orderType", orderType).eq("state", 2).isNull("refundState"));
+                        for (PaymentRecord paymentRecord : paymentRecords) {
+                            SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS");
+                            String out_trade_no = sdf.format(new Date()) + orderLogistics1.getType() + paymentRecord.getId();
+
+                            if(paymentRecord.getPayType() == 1){//微信
+                                Map<String, String> map = payMoneyUtil.wxRefund(paymentRecord.getCode(), out_trade_no, paymentRecord.getAmount().toString(), paymentRecord.getAmount().toString(), callbackPath + "/base/wxRefundCallback");
+                                String return_code = map.get("return_code");
+                                if(!"SUCCESS".equals(return_code)){
+                                    return JSON.toJSONString(ResultUtil.error(map.get("return_msg")));
+                                }
+                            }
+                            if(paymentRecord.getPayType() == 2){//支付宝
+                                Map<String, String> map = payMoneyUtil.aliRefund(paymentRecord.getCode(), paymentRecord.getAmount().toString());
+                                String code = map.get("code");
+                                if(!"10000".equals(code)){
+                                    return JSON.toJSONString(ResultUtil.error(map.get("msg")));
+                                }
+                                paymentRecord.setRefundState(2);
+                                paymentRecord.setRefundCode(map.get("trade_no"));
+                                paymentRecordService.updateById(paymentRecord);
+                                //添加交易明细
+                                transactionDetailsService.saveData(orderLogistics1.getUserId(), "小件物流取消退款", orderLogistics1.getPayMoney(), 1, 1, 1, orderLogistics1.getType(), orderLogistics1.getId());
+                            }
+                        }
+                    }
+                    break;
             }
         }catch (Exception e){
             e.printStackTrace();
+            return JSON.toJSONString(ResultUtil.runErr());
+        }
+        return JSON.toJSONString(ResultUtil.success());
+    }
+
+
+    @ResponseBody
+    @PostMapping("/base/orderPrivateCar/directCallCar")
+    @ApiOperation(value = "智慧屏一键叫车", tags = {"智慧屏"}, notes = "")
+    @ApiImplicitParams({
+            @ApiImplicitParam(value = "下单手机号", name = "phone", required = true, dataType = "string"),
+            @ApiImplicitParam(value = "下单地点经度", name = "placementLon", required = true, dataType = "string"),
+            @ApiImplicitParam(value = "下单地点纬度", name = "placementLat", required = true, dataType = "string"),
+            @ApiImplicitParam(value = "起点经度", name = "startLon", required = true, dataType = "string"),
+            @ApiImplicitParam(value = "起点纬度", name = "startLat", required = true, dataType = "string"),
+            @ApiImplicitParam(value = "起点地址", name = "startAddress", required = true, dataType = "string"),
+            @ApiImplicitParam(value = "设备号", name = "deviceCode", required = true, dataType = "string"),
+    })
+    public ResultUtil<BaseWarpper> directCallCar(String phone, String placementLon, String placementLat, String startLon, String startLat, String startAddress, String deviceCode){
+        try {
+            return orderPrivateCarService.directCallCar(phone, placementLon, placementLat, startLon, startLat, startAddress, deviceCode);
+        }catch (Exception e){
+            e.printStackTrace();
+            return ResultUtil.runErr();
         }
     }
 
+    @ResponseBody
+    @PostMapping("/base/orderPrivateCar/querySmartScreenOrder")
+    @ApiOperation(value = "获取智慧屏订单列表", tags = {"智慧屏"}, notes = "")
+    @ApiImplicitParams({
+            @ApiImplicitParam(value = "设备号", name = "deviceCode", required = true, dataType = "string"),
+            @ApiImplicitParam(value = "经纬度(103.2222,30.23554)", name = "lonLat", required = true, dataType = "string"),
+    })
+    public ResultUtil<List<SmartScreenOrderVo>> querySmartScreenOrder(String deviceCode, String lonLat){
+        try {
+            List<SmartScreenOrderVo> orderVos = orderPrivateCarService.querySmartScreenOrder(deviceCode, lonLat);
+            return ResultUtil.success(orderVos);
+        }catch (Exception e){
+            e.printStackTrace();
+            return ResultUtil.runErr();
+        }
+    }
 
 }

--
Gitblit v1.7.1