From 9c0566b86975f112a7f0cf044bab322b7ffe4f0a Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期四, 11 五月 2023 18:29:24 +0800
Subject: [PATCH] 超省后台BUG修改

---
 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TDriverServiceImpl.java            |    6 +
 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/DateUtil.java                              |   26 +++++
 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TBranchOfficeController.java |   29 +++++
 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TOrderMapper.xml                    |   12 ++
 management/guns-admin/src/main/webapp/WEB-INF/view/system/user/user_chpwd.html                                        |    6 
 management/guns-admin/src/main/webapp/static/modular/system/tCommercial/tCommercial.js                                |    6 +
 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TAgentController.java        |   18 +++
 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TDriverController.java       |   19 +++
 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/resp/TOrderServerResp.java           |    8 
 management/guns-admin/src/main/webapp/static/modular/system/tEdition/tEdition.js                                      |   12 +-
 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/THomePageController.java     |  118 ++++++++++++++++++-----
 management/guns-admin/src/main/webapp/static/modular/system/tDriver/tDriver_info.js                                   |    4 
 management/guns-admin/src/main/webapp/WEB-INF/view/system/tEdition/tEdition.html                                      |    2 
 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TOrderServiceImpl.java             |   12 +-
 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TOrderController.java        |    6 +
 15 files changed, 230 insertions(+), 54 deletions(-)

diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TAgentController.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TAgentController.java
index 25e4ecc..ce81018 100644
--- a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TAgentController.java
+++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TAgentController.java
@@ -13,6 +13,7 @@
 import com.stylefeng.guns.modular.system.enums.UserTypeEnum;
 import com.stylefeng.guns.modular.system.model.*;
 import com.stylefeng.guns.modular.system.service.*;
+import com.stylefeng.guns.modular.system.util.RedisUtil;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
@@ -58,6 +59,10 @@
 
     @Autowired
     private ITDriverService tDriverService;
+    @Autowired
+    private ITDriverWorkService tDriverWorkService;
+    @Autowired
+    private RedisUtil redisUtil;
 
 
     /**
@@ -208,6 +213,19 @@
         for (TDriver tDriver : list) {
             if(1 == status){
                 tDriver.setStatus(2);
+                String value = redisUtil.getValue("DRIVER_" + tDriver.getPhone());
+                redisUtil.remove(value);
+                redisUtil.remove("DRIVER_" + tDriver.getPhone());
+                TDriverWork tDriverWork = tDriverWorkService.selectOne(new EntityWrapper<TDriverWork>()
+                        .eq("driverId", tDriver.getId())
+                        .eq("status", 1)
+                        .orderBy("workTime", false)
+                        .last("LIMIT 1"));
+                if(Objects.nonNull(tDriverWork)){
+                    tDriverWork.setStatus(2);
+                    tDriverWork.setOffWorkTime(new Date());
+                    tDriverWorkService.updateById(tDriverWork);
+                }
             }
             if(2 == status){
                 tDriver.setStatus(1);
diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TBranchOfficeController.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TBranchOfficeController.java
index 22915a7..5fde6b5 100644
--- a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TBranchOfficeController.java
+++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TBranchOfficeController.java
@@ -9,8 +9,8 @@
 import com.stylefeng.guns.modular.system.controller.resp.TDriverResp;
 import com.stylefeng.guns.modular.system.enums.StatusEnum;
 import com.stylefeng.guns.modular.system.model.*;
-import com.stylefeng.guns.modular.system.service.ITRegionService;
-import com.stylefeng.guns.modular.system.service.ITSystemConfigService;
+import com.stylefeng.guns.modular.system.service.*;
+import com.stylefeng.guns.modular.system.util.RedisUtil;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.BeanUtils;
 import org.springframework.stereotype.Controller;
@@ -23,8 +23,8 @@
 import org.springframework.beans.factory.annotation.Autowired;
 import com.stylefeng.guns.core.log.LogObjectHolder;
 import org.springframework.web.bind.annotation.RequestParam;
-import com.stylefeng.guns.modular.system.service.ITBranchOfficeService;
 
+import java.util.Date;
 import java.util.List;
 import java.util.Objects;
 import java.util.stream.Collectors;
@@ -48,6 +48,12 @@
 
     @Autowired
     private ITRegionService tRegionService;
+    @Autowired
+    private ITDriverService tDriverService;
+    @Autowired
+    private ITDriverWorkService tDriverWorkService;
+    @Autowired
+    private RedisUtil redisUtil;
 
     /**
      * 跳转到首页
@@ -246,6 +252,23 @@
         TBranchOffice tBranchOffice = tBranchOfficeService.selectById(id);
         tBranchOffice.setStatus(StatusEnum.FREEZE.getCode());
         tBranchOfficeService.updateById(tBranchOffice);
+        List<TDriver> list = tDriverService.selectList(new EntityWrapper<TDriver>()
+                .eq("branchOfficeId", tBranchOffice.getId()));
+        for (TDriver tDriver : list) {
+            String value = redisUtil.getValue("DRIVER_" + tDriver.getPhone());
+            redisUtil.remove(value);
+            redisUtil.remove("DRIVER_" + tDriver.getPhone());
+            TDriverWork tDriverWork = tDriverWorkService.selectOne(new EntityWrapper<TDriverWork>()
+                    .eq("driverId", tDriver.getId())
+                    .eq("status", 1)
+                    .orderBy("workTime", false)
+                    .last("LIMIT 1"));
+            if(Objects.nonNull(tDriverWork)){
+                tDriverWork.setStatus(2);
+                tDriverWork.setOffWorkTime(new Date());
+                tDriverWorkService.updateById(tDriverWork);
+            }
+        }
         return SUCCESS_TIP;
     }
 
diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TDriverController.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TDriverController.java
index 2ed33c1..73b0ab4 100644
--- a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TDriverController.java
+++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TDriverController.java
@@ -15,9 +15,11 @@
 import com.stylefeng.guns.modular.system.controller.util.UUIDUtil;
 import com.stylefeng.guns.modular.system.enums.UserTypeEnum;
 import com.stylefeng.guns.modular.system.model.TDriver;
+import com.stylefeng.guns.modular.system.model.TDriverWork;
 import com.stylefeng.guns.modular.system.model.TRechargeRecord;
 import com.stylefeng.guns.modular.system.model.TRegion;
 import com.stylefeng.guns.modular.system.service.*;
+import com.stylefeng.guns.modular.system.util.RedisUtil;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
@@ -79,6 +81,10 @@
     private HttpUtils httpUtils;
     @Autowired
     private TokenUtils tokenUtils;
+    @Autowired
+    private ITDriverWorkService tDriverWorkService;
+    @Autowired
+    private RedisUtil redisUtil;
     @Autowired
     private ITRechargeRecordService tRechargeRecordService;
 
@@ -459,6 +465,19 @@
         TDriver tDriver = tDriverService.selectById(id);
         if(1 == status){
             tDriver.setStatus(2);
+            String value = redisUtil.getValue("DRIVER_" + tDriver.getPhone());
+            redisUtil.remove(value);
+            redisUtil.remove("DRIVER_" + tDriver.getPhone());
+            TDriverWork tDriverWork = tDriverWorkService.selectOne(new EntityWrapper<TDriverWork>()
+                    .eq("driverId", tDriver.getId())
+                    .eq("status", 1)
+                    .orderBy("workTime", false)
+                    .last("LIMIT 1"));
+            if(Objects.nonNull(tDriverWork)){
+                tDriverWork.setStatus(2);
+                tDriverWork.setOffWorkTime(new Date());
+                tDriverWorkService.updateById(tDriverWork);
+            }
         }
         if(2 == status){
             tDriver.setStatus(1);
diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/THomePageController.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/THomePageController.java
index f72a8aa..fce3673 100644
--- a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/THomePageController.java
+++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/THomePageController.java
@@ -10,6 +10,7 @@
 import com.stylefeng.guns.modular.system.enums.StatusEnum;
 import com.stylefeng.guns.modular.system.model.TAgent;
 import com.stylefeng.guns.modular.system.model.TDriver;
+import com.stylefeng.guns.modular.system.model.TDriverWork;
 import com.stylefeng.guns.modular.system.model.TOrder;
 import com.stylefeng.guns.modular.system.service.*;
 import com.stylefeng.guns.modular.system.util.DateUtil;
@@ -23,7 +24,9 @@
 import org.springframework.web.bind.annotation.ResponseBody;
 
 import java.text.SimpleDateFormat;
+import java.time.Duration;
 import java.time.LocalDate;
+import java.time.Period;
 import java.util.*;
 import java.util.stream.Collectors;
 
@@ -77,18 +80,42 @@
         List<Integer> ids = tAgentList.stream().map(TAgent::getId).collect(Collectors.toList());
         // 查询统计在线司机,待接单,服务中,已完成,已取消
         List<TDriver> onLineDriver = tDriverService.selectList(new EntityWrapper<TDriver>()
-                .in("agentId", ids)
-                .eq("serverStatus", 2));
+                .in("agentId", ids));
+        List<TAgent> tAgentAllList = tAgentService.selectList(new EntityWrapper<TAgent>());
+        List<Integer> allIds = tAgentAllList.stream().map(TAgent::getId).collect(Collectors.toList());
+        tOrderService.getDataStatisticsCountByIds(allIds,model);
 
-        model.addAttribute("onLineDriverCount",onLineDriver.size());
-        tOrderService.getDataStatisticsCountByIds(ids,model);
         // 查询服务中的订单列表
-        List<TOrderServerResp> orderServerRespList = tOrderService.getDataStatisticsServerListByIds(ids);
+        List<TOrderServerResp> orderServerRespList = tOrderService.getDataStatisticsServerListByIds(allIds);
+        List<TOrder> orderList = tOrderService.selectList(new EntityWrapper<TOrder>());
         // 查询司机
         for (TOrderServerResp tOrderServerResp : orderServerRespList) {
             TDriver tDriver = tDriverService.selectById(tOrderServerResp.getDriverId());
             tOrderServerResp.setAvatar(tDriver.getAvatar());
             tOrderServerResp.setDriverName(tDriver.getName());
+            List<TOrder> collect = orderList.stream().filter(order -> tDriver.getId().equals(order.getDriverId()) &&
+                    (order.getState().equals(OrderStateEnum.WAIT_PAY.getCode())
+                            || order.getState().equals(OrderStateEnum.WAIT_EVALUATED.getCode())
+                            || order.getState().equals(OrderStateEnum.FINISH.getCode()))).collect(Collectors.toList());
+            // 驾龄
+            Period period = Period.between(LocalDate.now(), DateUtil.dateToLocalDate(tDriver.getFirstCertificateTime()));
+            tOrderServerResp.setDrivingExperience(Math.max(Math.abs(period.getYears()), 1));
+            // 代驾次数
+            tOrderServerResp.setValetDrivingCount(collect.size());
+            // 行驶时间
+            long goTime = 0;
+            for (TOrder tOrder : collect) {
+                // 下车时间
+                Date getoffTime = tOrder.getGetoffTime();
+                // 上车时间
+                Date boardingTime = tOrder.getBoardingTime();
+                long minutes = Duration.between(DateUtil.dateToLocalDate(getoffTime), DateUtil.dateToLocalDate(boardingTime)).toMinutes();
+                goTime += Math.abs(minutes);
+            }
+            tOrderServerResp.setGoTime(Long.valueOf(goTime).intValue());
+            // 行驶里程
+            int sum = collect.stream().mapToInt(TOrder::getActualMileage).sum();
+            tOrderServerResp.setMileageTraveled(sum/1000);
         }
         model.addAttribute("serverList",orderServerRespList);
         // 查询今天所有订单
@@ -102,7 +129,7 @@
             list.add(obj);
         }
         model.addAttribute("allList",list);
-        List<List<String>> list1 = new ArrayList<>(allList.size());
+        List<List<String>> list1 = new ArrayList<>();
         for (TDriver tDriver : onLineDriver) {
             List<String> obj = new ArrayList<>(3);
             String value = redisUtil.getValue("DRIVER" + tDriver.getId());
@@ -114,6 +141,7 @@
             obj.add(String.valueOf(tDriver.getServerStatus()));// 服务状态
             list1.add(obj);
         }
+        model.addAttribute("onLineDriverCount",list1.size());
         // 拿到所有在线司机地址
         model.addAttribute("onLineDriver",list1);
         return PREFIX + "tHomePageMap.html";
@@ -137,30 +165,42 @@
         if(Objects.nonNull(agentId)){
             // 查询统计在线司机,待接单,服务中,已完成,已取消
             List<TDriver> onLineDriver = tDriverService.selectList(new EntityWrapper<TDriver>()
-                    .eq("agentId", agentId)
-                    .eq("serverStatus", 2));
-            map.put("onLineDriverCount",onLineDriver.size());
-//            tOrderService.getDataStatisticsCountGetMap(agentId,map);
-//            // 查询服务中的订单列表
-//            List<TOrderServerResp> orderServerRespList = tOrderService.getDataStatisticsServerList(agentId);
-//            // 查询司机
-//            for (TOrderServerResp tOrderServerResp : orderServerRespList) {
-//                TDriver tDriver = tDriverService.selectById(tOrderServerResp.getDriverId());
-//                tOrderServerResp.setAvatar(tDriver.getAvatar());
-//                tOrderServerResp.setDriverName(tDriver.getName());
-//            }
-//            map.put("serverList",orderServerRespList);
+                    .eq("agentId", agentId));
             List<TAgent> tAgentAllList = tAgentService.selectList(new EntityWrapper<TAgent>());
             List<Integer> allIds = tAgentAllList.stream().map(TAgent::getId).collect(Collectors.toList());
             tOrderService.getDataStatisticsCountByIdsGetMap(allIds,map);
 
             // 查询服务中的订单列表
             List<TOrderServerResp> orderServerRespList = tOrderService.getDataStatisticsServerListByIds(allIds);
+            List<TOrder> orderList = tOrderService.selectList(new EntityWrapper<TOrder>());
             // 查询司机
             for (TOrderServerResp tOrderServerResp : orderServerRespList) {
                 TDriver tDriver = tDriverService.selectById(tOrderServerResp.getDriverId());
                 tOrderServerResp.setAvatar(tDriver.getAvatar());
                 tOrderServerResp.setDriverName(tDriver.getName());
+                List<TOrder> collect = orderList.stream().filter(order -> tDriver.getId().equals(order.getDriverId()) &&
+                        (order.getState().equals(OrderStateEnum.WAIT_PAY.getCode())
+                                || order.getState().equals(OrderStateEnum.WAIT_EVALUATED.getCode())
+                                || order.getState().equals(OrderStateEnum.FINISH.getCode()))).collect(Collectors.toList());
+                // 驾龄
+                Period period = Period.between(LocalDate.now(), DateUtil.dateToLocalDate(tDriver.getFirstCertificateTime()));
+                tOrderServerResp.setDrivingExperience(Math.max(Math.abs(period.getYears()), 1));
+                // 代驾次数
+                tOrderServerResp.setValetDrivingCount(collect.size());
+                // 行驶时间
+                long goTime = 0;
+                for (TOrder tOrder : collect) {
+                    // 下车时间
+                    Date getoffTime = tOrder.getGetoffTime();
+                    // 上车时间
+                    Date boardingTime = tOrder.getBoardingTime();
+                    long minutes = Duration.between(DateUtil.dateToLocalDateTime(getoffTime), DateUtil.dateToLocalDateTime(boardingTime)).toMinutes();
+                    goTime += Math.abs(minutes);
+                }
+                tOrderServerResp.setGoTime(Long.valueOf(goTime).intValue());
+                // 行驶里程
+                int sum = collect.stream().mapToInt(TOrder::getActualMileage).sum();
+                tOrderServerResp.setMileageTraveled(sum/1000);
             }
             map.put("serverList",orderServerRespList);
             // 查询今天所有订单
@@ -174,7 +214,7 @@
                 list.add(obj);
             }
             map.put("allList",list);
-            List<List<String>> list1 = new ArrayList<>(allList.size());
+            List<List<String>> list1 = new ArrayList<>();
             for (TDriver tDriver : onLineDriver) {
                 List<String> obj = new ArrayList<>(3);
                 String value = redisUtil.getValue("DRIVER" + tDriver.getId());
@@ -186,6 +226,7 @@
                 obj.add(String.valueOf(tDriver.getServerStatus()));// 服务状态
                 list1.add(obj);
             }
+            map.put("onLineDriverCount",list1.size());
             // 拿到所有在线司机地址
             map.put("onLineDriver",list1);
         }else {
@@ -194,10 +235,7 @@
             List<Integer> ids = tAgentList.stream().map(TAgent::getId).collect(Collectors.toList());
             // 查询统计在线司机,待接单,服务中,已完成,已取消
             List<TDriver> onLineDriver = tDriverService.selectList(new EntityWrapper<TDriver>()
-                    .in("agentId", ids)
-                    .eq("serverStatus", 2));
-
-            map.put("onLineDriverCount",onLineDriver.size());
+                    .in("agentId", ids));
 
             List<TAgent> tAgentAllList = tAgentService.selectList(new EntityWrapper<TAgent>());
             List<Integer> allIds = tAgentAllList.stream().map(TAgent::getId).collect(Collectors.toList());
@@ -205,13 +243,38 @@
 
             // 查询服务中的订单列表
             List<TOrderServerResp> orderServerRespList = tOrderService.getDataStatisticsServerListByIds(allIds);
+            List<TOrder> orderList = tOrderService.selectList(new EntityWrapper<TOrder>());
             // 查询司机
             for (TOrderServerResp tOrderServerResp : orderServerRespList) {
                 TDriver tDriver = tDriverService.selectById(tOrderServerResp.getDriverId());
                 tOrderServerResp.setAvatar(tDriver.getAvatar());
                 tOrderServerResp.setDriverName(tDriver.getName());
+                List<TOrder> collect = orderList.stream().filter(order -> tDriver.getId().equals(order.getDriverId()) &&
+                        (order.getState().equals(OrderStateEnum.WAIT_PAY.getCode())
+                                || order.getState().equals(OrderStateEnum.WAIT_EVALUATED.getCode())
+                                || order.getState().equals(OrderStateEnum.FINISH.getCode()))).collect(Collectors.toList());
+                // 驾龄
+                Period period = Period.between(LocalDate.now(), DateUtil.dateToLocalDate(tDriver.getFirstCertificateTime()));
+                tOrderServerResp.setDrivingExperience(Math.max(Math.abs(period.getYears()), 1));
+                // 代驾次数
+                tOrderServerResp.setValetDrivingCount(collect.size());
+                // 行驶时间
+                long goTime = 0;
+                for (TOrder tOrder : collect) {
+                    // 下车时间
+                    Date getoffTime = tOrder.getGetoffTime();
+                    // 上车时间
+                    Date boardingTime = tOrder.getBoardingTime();
+                    long minutes = Duration.between(DateUtil.dateToLocalDateTime(getoffTime), DateUtil.dateToLocalDateTime(boardingTime)).toMinutes();
+                    goTime += Math.abs(minutes);
+                }
+                tOrderServerResp.setGoTime(Long.valueOf(goTime).intValue());
+                // 行驶里程
+                int sum = collect.stream().mapToInt(TOrder::getActualMileage).sum();
+                tOrderServerResp.setMileageTraveled(sum/1000);
             }
             map.put("serverList",orderServerRespList);
+
             // 查询今天所有订单
             List<TOrder> allList = tOrderService.getDataStatisticsAllListByIds(allIds,type);
             List<List<String>> list = new ArrayList<>(allList.size());
@@ -223,7 +286,7 @@
                 list.add(obj);
             }
             map.put("allList",list);
-            List<List<String>> list1 = new ArrayList<>(allList.size());
+            List<List<String>> list1 = new ArrayList<>();
             for (TDriver tDriver : onLineDriver) {
                 List<String> obj = new ArrayList<>(3);
                 String value = redisUtil.getValue("DRIVER" + tDriver.getId());
@@ -235,6 +298,7 @@
                 obj.add(String.valueOf(tDriver.getServerStatus()));// 服务状态
                 list1.add(obj);
             }
+            map.put("onLineDriverCount",list1.size());
             // 拿到所有在线司机地址
             map.put("onLineDriver",list1);
         }
@@ -251,8 +315,10 @@
         }
         HashMap<String, Object> map = new HashMap<>();
         if(Objects.nonNull(agentId)){
+            List<TAgent> tAgentList = tAgentService.selectList(new EntityWrapper<TAgent>());
+            List<Integer> ids = tAgentList.stream().map(TAgent::getId).collect(Collectors.toList());
             // 查询服务中的订单列表
-            List<TOrderServerResp> orderServerRespList = tOrderService.getDataStatisticsServerList(agentId);
+            List<TOrderServerResp> orderServerRespList = tOrderService.getDataStatisticsServerListByIds(ids);
             // 查询司机
             for (TOrderServerResp tOrderServerResp : orderServerRespList) {
                 TDriver tDriver = tDriverService.selectById(tOrderServerResp.getDriverId());
diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TOrderController.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TOrderController.java
index c8adb8c..5887e8b 100644
--- a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TOrderController.java
+++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TOrderController.java
@@ -14,6 +14,7 @@
 import com.stylefeng.guns.modular.system.model.TDriver;
 import com.stylefeng.guns.modular.system.model.TOrder;
 import com.stylefeng.guns.modular.system.service.ITAppUserService;
+import com.stylefeng.guns.modular.system.service.ITCancelOrderService;
 import com.stylefeng.guns.modular.system.service.ITOrderService;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
@@ -54,6 +55,8 @@
     private ITOrderService tOrderService;
     @Autowired
     private ITAppUserService tAppUserService;
+    @Autowired
+    private ITCancelOrderService tCancelOrderService;
 
     /**
      * 跳转到首页
@@ -183,7 +186,8 @@
                             String userPhone,
                             Integer state,
                             String driverName) {
-        return tOrderService.getOrderList(createTime, code, source, userName, userPhone, state, driverName,2);
+//        return tOrderService.getOrderList(createTime, code, source, userName, userPhone, state, driverName,2);
+        return tCancelOrderService.getCancelOrderList(createTime, code, source, userName, userPhone, state, driverName);
     }
 
     /**
diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/resp/TOrderServerResp.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/resp/TOrderServerResp.java
index d40672f..48c5001 100644
--- a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/resp/TOrderServerResp.java
+++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/resp/TOrderServerResp.java
@@ -10,14 +10,14 @@
     @ApiModelProperty(value = "司机头像")
     private String avatar;
     @ApiModelProperty(value = "驾龄")
-    private Integer drivingExperience = 105;
+    private Integer drivingExperience;
     @ApiModelProperty(value = "代驾次数")
-    private Integer valetDrivingCount = 105;
+    private Integer valetDrivingCount ;
 
     @ApiModelProperty(value = "行驶时间")
-    private Integer goTime = 105;
+    private Integer goTime ;
     @ApiModelProperty(value = "行驶里程")
-    private Integer mileageTraveled = 105;
+    private Integer mileageTraveled ;
 
     public Integer getMileageTraveled() {
         return mileageTraveled;
diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TOrderMapper.xml b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TOrderMapper.xml
index b5fbc23..903f048 100644
--- a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TOrderMapper.xml
+++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TOrderMapper.xml
@@ -236,8 +236,16 @@
                     #{id}
                 </foreach>
             </if>
-            <if test="type != null">
-                AND `state` = #{type}
+            <if test="type == 1">
+                AND `state` = 101
+            </if>
+            <if test="type == 2">
+                AND (`state` = 107
+                OR `state` = 108
+                OR `state` = 109)
+            </if>
+            <if test="type == 3">
+                AND `state` = 301
             </if>
             <if test="localDate != null">
                 AND date_format(createTime, '%Y-%m-%d') LIKE concat('',#{localDate},'%')
diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TDriverServiceImpl.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TDriverServiceImpl.java
index 9adcdc1..259d2e5 100644
--- a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TDriverServiceImpl.java
+++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TDriverServiceImpl.java
@@ -288,7 +288,11 @@
                     .eq("userId", tDriver.getId()));
             Optional<BigDecimal> reduce = tRevenues.stream().map(TRevenue::getAmount).reduce(BigDecimal::add);
             // 减去充值金额
-            reduce.ifPresent(bigDecimal -> model.addAttribute("cumulativeIncome", bigDecimal));
+            if(reduce.isPresent()){
+                model.addAttribute("cumulativeIncome", reduce.get());
+            }else {
+                model.addAttribute("cumulativeIncome",0);
+            }
         }else {
             model.addAttribute("cumulativeOrderCount",0);
             model.addAttribute("monthOrderCount",0);
diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TOrderServiceImpl.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TOrderServiceImpl.java
index 5d1b79f..6384320 100644
--- a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TOrderServiceImpl.java
+++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TOrderServiceImpl.java
@@ -204,9 +204,9 @@
 
     @Override
     public void getDataStatisticsCountByIds(List<Integer> ids, Model model) {
-        Integer pendingOrderCount = tOrderMapper.getDataStatisticsCountByIds(ids, OrderStateEnum.PENDING_ORDER.getCode(), LocalDate.now());
-        Integer finishCount = tOrderMapper.getDataStatisticsCountByIds(ids, OrderStateEnum.FINISH.getCode(),LocalDate.now());
-        Integer cancelCount = tOrderMapper.getDataStatisticsCountByIds(ids, OrderStateEnum.CANCELED.getCode(),LocalDate.now());
+        Integer pendingOrderCount = tOrderMapper.getDataStatisticsCountByIds(ids, 1, LocalDate.now());
+        Integer finishCount = tOrderMapper.getDataStatisticsCountByIds(ids, 2,LocalDate.now());
+        Integer cancelCount = tOrderMapper.getDataStatisticsCountByIds(ids, 3,LocalDate.now());
         Integer serverCount = tOrderMapper.getDataStatisticsServerCountByIds(ids, LocalDate.now());
 
         model.addAttribute("pendingOrderCount",pendingOrderCount);
@@ -241,9 +241,9 @@
 
     @Override
     public void getDataStatisticsCountByIdsGetMap(List<Integer> ids, HashMap<String, Object> map) {
-        Integer pendingOrderCount = tOrderMapper.getDataStatisticsCountByIds(ids, OrderStateEnum.PENDING_ORDER.getCode(), LocalDate.now());
-        Integer finishCount = tOrderMapper.getDataStatisticsCountByIds(ids, OrderStateEnum.FINISH.getCode(),LocalDate.now());
-        Integer cancelCount = tOrderMapper.getDataStatisticsCountByIds(ids, OrderStateEnum.CANCELED.getCode(),LocalDate.now());
+        Integer pendingOrderCount = tOrderMapper.getDataStatisticsCountByIds(ids, 1, LocalDate.now());
+        Integer finishCount = tOrderMapper.getDataStatisticsCountByIds(ids, 2,LocalDate.now());
+        Integer cancelCount = tOrderMapper.getDataStatisticsCountByIds(ids, 3,LocalDate.now());
         Integer serverCount = tOrderMapper.getDataStatisticsServerCountByIds(ids, LocalDate.now());
 
         map.put("pendingOrderCount",pendingOrderCount);
diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/DateUtil.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/DateUtil.java
index 775e25a..e217bb5 100644
--- a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/DateUtil.java
+++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/DateUtil.java
@@ -5,6 +5,10 @@
 
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
+import java.time.Instant;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+import java.time.ZoneId;
 import java.util.Calendar;
 import java.util.Date;
 import java.util.GregorianCalendar;
@@ -1168,6 +1172,28 @@
 		return calendar.getActualMaximum(Calendar.DAY_OF_MONTH);
 	}
 
+	/**
+	 * date转localdate
+	 * @param date
+	 * @return
+	 */
+	public static LocalDate dateToLocalDate(Date date){
+		ZoneId zoneId = ZoneId.systemDefault();
+		Instant instant = date.toInstant();
+		return instant.atZone(zoneId).toLocalDate();
+	}
+
+	/**
+	 * date转localdatetime
+	 * @param date
+	 * @return
+	 */
+	public static LocalDateTime dateToLocalDateTime(Date date){
+		ZoneId zoneId = ZoneId.systemDefault();
+		Instant instant = date.toInstant();
+		return instant.atZone(zoneId).toLocalDateTime();
+	}
+
 	
 	
 	public static void main(String[] args) throws ParseException {
diff --git a/management/guns-admin/src/main/webapp/WEB-INF/view/system/tEdition/tEdition.html b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tEdition/tEdition.html
index ef451b9..714ebf1 100644
--- a/management/guns-admin/src/main/webapp/WEB-INF/view/system/tEdition/tEdition.html
+++ b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tEdition/tEdition.html
@@ -22,7 +22,7 @@
                         </div>
                         <div class="hidden-xs" id="TEditionTableToolbar" role="group">
                             @if(shiro.hasPermission("/tEdition/add")){
-                                <#button name="添加" icon="fa-plus" clickFun="TEdition.openAddTEdition()"/>
+                                <#button name="添加版本" icon="fa-plus" clickFun="TEdition.openAddTEdition()"/>
                             @}
                             @if(shiro.hasPermission("/tEdition/update")){
                                 <#button name="修改" icon="fa-edit" clickFun="TEdition.openTEditionDetail()" space="true"/>
diff --git a/management/guns-admin/src/main/webapp/WEB-INF/view/system/user/user_chpwd.html b/management/guns-admin/src/main/webapp/WEB-INF/view/system/user/user_chpwd.html
index 06372ae..84045d0 100644
--- a/management/guns-admin/src/main/webapp/WEB-INF/view/system/user/user_chpwd.html
+++ b/management/guns-admin/src/main/webapp/WEB-INF/view/system/user/user_chpwd.html
@@ -12,14 +12,14 @@
                             <div class="form-horizontal">
                                 <div class="row">
                                     <div class="col-sm-12">
-                                        <#input id="oldPwd" name="原密码" underline="true" type="password"/>
+                                        <#input id="oldPwd" name="原始密码" underline="true" type="password"/>
                                         <#input id="newPwd" name="新密码" underline="true" type="password"/>
-                                        <#input id="rePwd" name="新密码验证" type="password"/>
+                                        <#input id="rePwd" name="确认新密码" type="password"/>
                                     </div>
                                 </div>
                                 <div class="row btn-group-m-t">
                                     <div class="col-sm-10 col-sm-offset-5">
-                                        <#button btnCss="info" name="提交" id="ensure" icon="fa-check" clickFun="UserInfoDlg.chPwd()"/>
+                                        <#button btnCss="info" name="保存" id="ensure" icon="fa-check" clickFun="UserInfoDlg.chPwd()"/>
                                     </div>
                                 </div>
                             </div>
diff --git a/management/guns-admin/src/main/webapp/static/modular/system/tCommercial/tCommercial.js b/management/guns-admin/src/main/webapp/static/modular/system/tCommercial/tCommercial.js
index 2c5dda3..c09a949 100644
--- a/management/guns-admin/src/main/webapp/static/modular/system/tCommercial/tCommercial.js
+++ b/management/guns-admin/src/main/webapp/static/modular/system/tCommercial/tCommercial.js
@@ -26,7 +26,11 @@
                 }
             }
         },
-        {title: '广告图图片', field: 'url', visible: true, align: 'center', valign: 'middle'},
+        {title: '广告图图片', field: 'url', visible: true, align: 'center', valign: 'middle',
+            formatter: function (value, row) {
+                return '<img src="'+row.url+'" style="height: 60px;width: 60px"/>'
+            }
+        },
         {title: '端口(设备)', field: 'device', visible: true, align: 'center', valign: 'middle',
                 formatter: function (value, row) {
                     if (row.device === 1){
diff --git a/management/guns-admin/src/main/webapp/static/modular/system/tDriver/tDriver_info.js b/management/guns-admin/src/main/webapp/static/modular/system/tDriver/tDriver_info.js
index 76187a7..c6869b1 100644
--- a/management/guns-admin/src/main/webapp/static/modular/system/tDriver/tDriver_info.js
+++ b/management/guns-admin/src/main/webapp/static/modular/system/tDriver/tDriver_info.js
@@ -59,6 +59,10 @@
             validators: {
                 notEmpty: {
                     message: '身份证号码不能为空'
+                },
+                regexp: {
+                    regexp: /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/,
+                    message: '请输入合法身份证号码'
                 }
             }
         },
diff --git a/management/guns-admin/src/main/webapp/static/modular/system/tEdition/tEdition.js b/management/guns-admin/src/main/webapp/static/modular/system/tEdition/tEdition.js
index e09f924..ca8191c 100644
--- a/management/guns-admin/src/main/webapp/static/modular/system/tEdition/tEdition.js
+++ b/management/guns-admin/src/main/webapp/static/modular/system/tEdition/tEdition.js
@@ -14,16 +14,16 @@
 TEdition.initColumn = function () {
     return [
         {field: 'selectItem', radio: true},
-            {title: '主键', field: 'id', visible: true, align: 'center', valign: 'middle'},
-            {title: '版本编号', field: 'editionNo', visible: true, align: 'center', valign: 'middle'},
-            {title: '版本文件', field: 'editionFile', visible: true, align: 'center', valign: 'middle',
+        {title: '序号', field: 'id', visible: true, align: 'center', valign: 'middle'},
+        {title: '更新时间', field: 'createTime', visible: true, align: 'center', valign: 'middle'},
+        {title: '版本编号', field: 'editionNo', visible: true, align: 'center', valign: 'middle'},
+        {title: '版本文件', field: 'editionFile', visible: true, align: 'center', valign: 'middle',
                 formatter: function (value, row) {
                     return row.editionFile.substr(47,row.editionFile.length)
                 }
             },
-            {title: '版本公告', field: 'editionAnnouncement', visible: true, align: 'center', valign: 'middle'},
-            {title: '端口', field: 'editionPort', visible: false, align: 'center', valign: 'middle'},
-            {title: '创建时间', field: 'createTime', visible: true, align: 'center', valign: 'middle'},
+        {title: '版本公告', field: 'editionAnnouncement', visible: true, align: 'center', valign: 'middle'},
+        {title: '端口', field: 'editionPort', visible: false, align: 'center', valign: 'middle'},
         {title: '操作', visible: true, align: 'center', valign: 'middle',width:150,
             formatter: function (value, row) {
                 return '<a href="#" onclick="TEdition.delete('+row.id+')" style="color:red">删除</a>'

--
Gitblit v1.7.1