From 79d97c39f1d118824f91467feb9f4a55717fd0c0 Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期五, 26 七月 2024 14:03:41 +0800
Subject: [PATCH] Merge branch '2.0' of http://120.76.84.145:10101/gitblit/r/java/IgoTravel into 2.0

---
 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java |   97 ++++++++++++++++++++++++++++++++++++------------
 1 files changed, 72 insertions(+), 25 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 4e6a6a2..a334df0 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
@@ -11,6 +11,7 @@
 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.UserActivityDiscount1Mapper;
 import com.stylefeng.guns.modular.system.model.*;
 import com.stylefeng.guns.modular.system.service.*;
 import com.stylefeng.guns.modular.system.util.*;
@@ -30,6 +31,7 @@
 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.*;
@@ -105,6 +107,9 @@
     
     @Autowired
     private IUserRedPacketRecordService userRedPacketRecordService;
+    
+    @Resource
+    private UserActivityDiscount1Mapper userActivityDiscount1Mapper;
 
     /**
      * 获取正在进行中的订单
@@ -136,6 +141,7 @@
                 orderStatusWarpper.setOrderId(orderPrivateCar.getId());
                 orderStatusWarpper.setOrderType(1);
                 orderStatusWarpper.setState(orderPrivateCar.getState());
+                orderStatusWarpper.setTripId(orderPrivateCar.getTripId());
                 data.add(orderStatusWarpper);
             }
             List<OrderTaxi> list = orderTaxiService.queryOrder(uid, 1, 2, 3, 4, 5, 6, 7, 11, 12);
@@ -147,6 +153,7 @@
                 orderStatusWarpper.setOrderId(orderTaxi.getId());
                 orderStatusWarpper.setOrderType(2);
                 orderStatusWarpper.setState(orderTaxi.getState());
+//                orderStatusWarpper.setTripId(orderTaxi.getTripId());
                 data.add(orderStatusWarpper);
             }
             List<OrderCrossCity> orderCrossCities = orderCrossCityService.queryOrder(uid, 1, 2, 3, 4, 5, 6, 7, 11, 12);
@@ -158,6 +165,7 @@
                 orderStatusWarpper.setOrderId(orderCrossCity.getId());
                 orderStatusWarpper.setOrderType(3);
                 orderStatusWarpper.setState(orderCrossCity.getState());
+//                orderStatusWarpper.setTripId(orderPrivateCar.getTripId());
                 data.add(orderStatusWarpper);
             }
             return ResultUtil.success(data);
@@ -233,7 +241,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<TravelRecordWarpper> queryMyTravelRecord(Integer pageNum, Integer size, Integer language, HttpServletRequest request){
+    public ResultUtil<List<TravelRecordListWarpper>> queryMyTravelRecord(Integer pageNum, Integer size, Integer language, HttpServletRequest request){
         try {
             Integer uid = userInfoService.getUserIdFormRedis(request);
             if(null == uid){
@@ -260,21 +268,19 @@
             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<>();
-            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");
-            for(TransactionDetails transactionDetails1 : transactionDetails){
-                Map<String, Object> map = new HashMap<>();
-                map.put("money", transactionDetails1.getMoney());
-                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);
-            }
+//            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<>();
+//            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");
+//            for(TransactionDetails transactionDetails1 : transactionDetails){
+//                Map<String, Object> map = new HashMap<>();
+//                map.put("money", transactionDetails1.getMoney());
+//                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);
+//            }
             list.addAll(maps);
-//            list.addAll(list1);
-//            list.addAll(list2);
             list.addAll(list3);
 //            list.addAll(list4);
 
@@ -290,10 +296,10 @@
             }else{
                 orderWarpper = new ArrayList<>();
             }
-            TravelRecordWarpper travelRecordWarpper = new TravelRecordWarpper();
-            travelRecordWarpper.setList(orderWarpper);
-            travelRecordWarpper.setTotal(sum);
-            return ResultUtil.success(travelRecordWarpper);
+            orderWarpper.forEach(s->{
+                s.setTotal(sum);
+            });
+            return ResultUtil.success(orderWarpper);
         }catch (Exception e){
             e.printStackTrace();
             return ResultUtil.runErr();
@@ -662,7 +668,7 @@
                     userId = orderPrivateCar.getUserId();
                     state = orderPrivateCar.getState();
                     if(null != driverId){
-                        pushUtil.pushOrderState(2, driverId, id, orderType, state, 0);
+                        pushUtil.pushOrderState(2, driverId, id, orderType, state, 0, "");
                     }
                     break;
                 case 2:
@@ -671,7 +677,7 @@
                     userId = orderTaxi.getUserId();
                     state = orderTaxi.getState();
                     if(null != driverId){
-                        pushUtil.pushOrderState(2, driverId, id, orderType, state, 0);
+                        pushUtil.pushOrderState(2, driverId, id, orderType, state, 0, "");
                     }
                     break;
                 case 3:
@@ -682,7 +688,7 @@
                     if(orderCrossCity.getPayMoney() == null && state == 10){//支付的情况才推送取消
                         break;
                     }else{
-                        pushUtil.pushOrderState(2, driverId, id, orderType, state, 0);
+                        pushUtil.pushOrderState(2, driverId, id, orderType, state, 0, "");
                     }
                     break;
                 case 4:
@@ -693,7 +699,7 @@
                     if(orderLogistics.getPayMoney() == null && state == 10){//支付的情况才推送取消
                         break;
                     }else{
-                        pushUtil.pushOrderState(2, driverId, id, orderType, state, 0);
+                        pushUtil.pushOrderState(2, driverId, id, orderType, state, 0, "");
                     }
                     break;
                 case 5:
@@ -704,11 +710,11 @@
                     if(orderLogistics1.getPayMoney() == null && state == 10){//支付的情况才推送取消
                         break;
                     }else{
-                        pushUtil.pushOrderState(2, driverId, id, orderType, state, 0);
+                        pushUtil.pushOrderState(2, driverId, id, orderType, state, 0, "");
                     }
                     break;
             }
-            pushUtil.pushOrderState(1, userId, id, orderType, state, 0);
+            pushUtil.pushOrderState(1, userId, id, orderType, state, 0, "");
             return ResultUtil.success();
         }catch (Exception e){
             e.printStackTrace();
@@ -1047,9 +1053,26 @@
                 return ResultUtil.tokenErr();
             }
             Map<String, Object> map = new HashMap<>();
+            Double payMoney = 0D;
             switch (orderType){
                 case 1:
                     map = orderPrivateCarService.queryBalance(orderId, uid);
+                    OrderPrivateCar orderPrivateCar = orderPrivateCarService.selectById(orderId);
+                    payMoney = orderPrivateCar.getOrderMoney();
+                    UserActivityDiscount1 query = userActivityDiscount1Mapper.query(orderPrivateCar.getCompanyId());
+                    if(null != query){
+                        Integer orderNum=orderPrivateCarService.selectCount(new EntityWrapper<OrderPrivateCar>().eq("userId",orderPrivateCar.getUserId()).eq("activityId",query.getId()).last(" and to_days(getoffTime) = to_days(now())"));
+                        if(query.getDistance()*1000>orderPrivateCar.getMileage() && query.getOrderNum()>orderNum){
+                            Double special = query.getSpecial();
+                            orderPrivateCar.setDiscount(special);
+                            Double orderMoney = orderPrivateCar.getOrderMoney();
+                            double v = new BigDecimal(orderMoney).multiply(new BigDecimal(special / 10)).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue();
+                            if(orderMoney.compareTo(v) > 0){
+                                payMoney = v;
+                            }
+                        }
+        
+                    }
                     break;
 //                case 2:
 //                    map = orderTaxiService.queryBalance(orderId, uid);
@@ -1059,11 +1082,35 @@
 //                    break;
                 case 4:
                     map = orderLogisticsService.queryBalance(orderId, uid);
+                    OrderLogistics orderLogistics = orderLogisticsService.selectById(orderId);
+                    payMoney = orderLogistics.getOrderMoney();
+                    UserActivityDiscount1 query2 = userActivityDiscount1Mapper.query(orderLogistics.getCompanyId());
+                    if(null != query2){
+                        Integer orderNum=orderLogisticsService.selectCount(new EntityWrapper<OrderLogistics>().eq("userId",orderLogistics.getUserId()).eq("activityId",query2.getId()).last(" and to_days(getoffTime) = to_days(now())"));
+                        if(query2.getDistance()*1000>orderLogistics.getMileage() && query2.getOrderNum()>orderNum){
+                            Double special = query2.getLogistics();
+                            orderLogistics.setDiscount(special);
+                            Double orderMoney = orderLogistics.getOrderMoney();
+                            double v = new BigDecimal(orderMoney).multiply(new BigDecimal(special / 10)).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue();
+                            if(orderMoney.compareTo(v) > 0){
+                                payMoney = v;
+                            }
+                        }
+                    }
                     break;
 //                case 5:
 //                    map = orderLogisticsService.queryBalance(orderId, uid);
 //                    break;
             }
+            Double aDouble = userRedPacketRecordService.queryRemainingAmount(uid);
+            map.put("redTotal", aDouble);
+            RedEnvelopePaymentSettings redEnvelopePaymentSettings = redEnvelopePaymentSettingsService.getRedEnvelopePaymentSettings();
+            if(null == redEnvelopePaymentSettings){
+                map.put("deductionAmount", 0D);
+            }else{
+                Double deductionAmount = new BigDecimal(payMoney).multiply(redEnvelopePaymentSettings.getDeductionRatio().divide(new BigDecimal(100))).doubleValue();
+                map.put("deductionAmount", aDouble.compareTo(deductionAmount) >= 0 ? deductionAmount : aDouble);
+            }
             return ResultUtil.success(map);
         }catch (Exception e){
             e.printStackTrace();

--
Gitblit v1.7.1