From 24908b26035b3aefe84ba557e7cddd5a9a8aece9 Mon Sep 17 00:00:00 2001
From: wang-hao-jie <1550036656@qq.com>
Date: 星期一, 22 十一月 2021 09:48:59 +0800
Subject: [PATCH] 违章记录

---
 xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/schedulings/StatisticScheduleImpl.java     |   89 +++++++++++++++++++++++++++++
 xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/schedulings/CarScheduleImpl.java           |   14 ++++
 xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/mapper/DrivingRecordMapper.java            |    6 ++
 xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/service/IDrivingRecordService.java         |    3 +
 xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/serviceimpl/IDrivingRecordServiceImpl.java |   10 +++
 xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/controller/OrderDetailController.java      |    6 +
 6 files changed, 126 insertions(+), 2 deletions(-)

diff --git a/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/controller/OrderDetailController.java b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/controller/OrderDetailController.java
index a2ac584..27ba7ff 100644
--- a/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/controller/OrderDetailController.java
+++ b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/controller/OrderDetailController.java
@@ -41,9 +41,11 @@
 
     @RequestMapping(value = "/getAll", method = RequestMethod.GET)
     @ApiOperation(value = "鑾峰彇鍏ㄩ儴鏁版嵁")
-    public Result<List<OrderDetail>> getAll() {
+    public Result<List<OrderDetail>> getAll(String orderId) {
 
-        List<OrderDetail> list = iOrderDetailService.list();
+        QueryWrapper<OrderDetail> wrapper = new QueryWrapper<>();
+        wrapper.eq("order_id",orderId);
+        List<OrderDetail> list = iOrderDetailService.list(wrapper);
         return new ResultUtil<List<OrderDetail>>().setData(list);
     }
 
diff --git a/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/mapper/DrivingRecordMapper.java b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/mapper/DrivingRecordMapper.java
index 6d6048c..248ce3e 100644
--- a/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/mapper/DrivingRecordMapper.java
+++ b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/mapper/DrivingRecordMapper.java
@@ -2,6 +2,7 @@
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import cn.exrick.xboot.your.entity.DrivingRecord;
+import org.apache.ibatis.annotations.Select;
 
 import java.util.List;
 
@@ -11,4 +12,9 @@
  */
 public interface DrivingRecordMapper extends BaseMapper<DrivingRecord> {
 
+    @Select("select max(mileage) from t_driving_record where user_id=#{userId}")
+    Integer maxByUserId(String userId);
+
+    @Select("select min(mileage) from t_driving_record where user_id=#{userId}")
+    Integer minByUserId(String userId);
 }
\ No newline at end of file
diff --git a/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/schedulings/CarScheduleImpl.java b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/schedulings/CarScheduleImpl.java
new file mode 100644
index 0000000..5d8a8b6
--- /dev/null
+++ b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/schedulings/CarScheduleImpl.java
@@ -0,0 +1,14 @@
+package cn.exrick.xboot.your.schedulings;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
+
+import java.io.IOException;
+
+@Component
+public class CarScheduleImpl {
+
+
+    @Scheduled(cron="0 0 * * * ?")//姣忓皬鏃舵墽琛屼竴娆�
+    public void execute() throws IOException {
+    }
+}
diff --git a/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/schedulings/StatisticScheduleImpl.java b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/schedulings/StatisticScheduleImpl.java
new file mode 100644
index 0000000..bc93fad
--- /dev/null
+++ b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/schedulings/StatisticScheduleImpl.java
@@ -0,0 +1,89 @@
+package cn.exrick.xboot.your.schedulings;
+import cn.exrick.xboot.core.entity.User;
+import cn.exrick.xboot.core.service.UserService;
+import cn.exrick.xboot.your.entity.*;
+import cn.exrick.xboot.your.service.*;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import org.elasticsearch.cluster.ClusterState;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
+
+import java.io.IOException;
+import java.util.List;
+
+@Component
+public class StatisticScheduleImpl {
+
+    @Autowired
+    private IUserStatisticService iUserStatisticService;
+
+    @Autowired
+    private UserService userService;
+
+    @Autowired
+    private IDrivingRecordService iDrivingRecordService;
+
+    @Autowired
+    private IOrderTaskService iOrderTaskService;
+
+    @Autowired
+    private IAreaService iAreaService;
+
+    @Autowired
+    private ICustomerService iCustomerService;
+
+    @Scheduled(cron="0 0 * * * ?")//姣忔櫄鍑屾櫒1鐐规墽琛�
+    public void execute() throws IOException {
+        List<User> all = userService.findAll();
+        for(User user:all){
+            Integer type2 = user.getType2();
+            if(type2!=null){
+                QueryWrapper<UserStatistic> wrapper = new QueryWrapper<>();
+                wrapper.eq("user_id",user.getId());
+                UserStatistic one = iUserStatisticService.getOne(wrapper);
+                if(one==null){
+                    one = new UserStatistic();
+                }
+                //鍙告満
+                if(type2==0){
+                    Integer max = iDrivingRecordService.maxByUserId(user.getId());
+                    Integer min = iDrivingRecordService.minByUserId(user.getId());
+                    one.setSafeDriving(max-min);
+                    one.setDriving(max-min);
+
+                    QueryWrapper<DrivingRecord> wrapper2 = new QueryWrapper<>();
+                    wrapper2.eq("user_id",user.getId());
+                    int count = iDrivingRecordService.count(wrapper2);
+                    one.setOutCar(count);
+
+                }
+                //閰嶉�佸憳
+                if(type2==1){
+                    QueryWrapper<OrderTask> wrapper2 = new QueryWrapper<>();
+                    wrapper2.eq("user_id",user.getId());
+                    int count = iOrderTaskService.count(wrapper2);
+                    wrapper2.ne("status",0);
+                    int count2 = iOrderTaskService.count(wrapper2);
+
+                    one.setSends(count);
+                    one.setSends2(count2);
+
+                    QueryWrapper<Area> wrapper3 = new QueryWrapper<>();
+                    wrapper3.eq("user_id",user.getId());
+                    Area area = iAreaService.getOne(wrapper3);
+
+                    QueryWrapper<Customer> wrapper4 = new QueryWrapper<>();
+                    wrapper4.eq("area_id",area.getId());
+                    int count3 = iCustomerService.count(wrapper4);
+
+                    one.setService(count3);
+                }
+
+                iUserStatisticService.saveOrUpdate(one);
+            }
+
+        }
+
+    }
+}
diff --git a/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/service/IDrivingRecordService.java b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/service/IDrivingRecordService.java
index a3bdf5e..6643ca7 100644
--- a/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/service/IDrivingRecordService.java
+++ b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/service/IDrivingRecordService.java
@@ -11,4 +11,7 @@
  */
 public interface IDrivingRecordService extends IService<DrivingRecord> {
 
+    Integer maxByUserId(String id);
+
+    Integer minByUserId(String id);
 }
\ No newline at end of file
diff --git a/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/serviceimpl/IDrivingRecordServiceImpl.java b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/serviceimpl/IDrivingRecordServiceImpl.java
index 782268e..db22ed2 100644
--- a/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/serviceimpl/IDrivingRecordServiceImpl.java
+++ b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/serviceimpl/IDrivingRecordServiceImpl.java
@@ -23,4 +23,14 @@
 
     @Autowired
     private DrivingRecordMapper drivingRecordMapper;
+
+    @Override
+    public Integer maxByUserId(String userId) {
+        return drivingRecordMapper.maxByUserId(userId);
+    }
+
+    @Override
+    public Integer minByUserId(String userId) {
+        return drivingRecordMapper.minByUserId(userId);
+    }
 }
\ No newline at end of file

--
Gitblit v1.9.1