| | |
| | | |
| | | import java.io.IOException; |
| | | import java.util.List; |
| | | |
| | | //客户端首页数据统计 |
| | | @Component |
| | | public class StatisticScheduleImpl { |
| | | |
| | |
| | | @Autowired |
| | | private ICustomerService iCustomerService; |
| | | |
| | | @Scheduled(cron="0 0 * * * ?")//每晚凌晨1点执行 |
| | | public void execute() throws IOException { |
| | | @Autowired |
| | | private IAlarmService iAlarmService; |
| | | |
| | | @Autowired |
| | | private ICarService iCarService; |
| | | |
| | | @Scheduled(cron="0 0 1 * * ?")//每晚凌晨1点执行 |
| | | public void execute(){ |
| | | List<User> all = userService.findAll(); |
| | | for(User user:all){ |
| | | Integer type2 = user.getType2(); |
| | |
| | | Integer max = iDrivingRecordService.maxByUserId(user.getId()); |
| | | Integer min = iDrivingRecordService.minByUserId(user.getId()); |
| | | if(max==null||min==null){ |
| | | one.setSafeDriving(0); |
| | | one.setDriving(0); |
| | | one.setSafeDriving(0);//安全驾驶里程 |
| | | one.setDriving(0);//驾驶里程 |
| | | }else{ |
| | | one.setSafeDriving(max-min); |
| | | one.setDriving(max-min); |
| | | if(max==min){ |
| | | one.setSafeDriving(max);//安全驾驶里程 |
| | | one.setDriving(max);//驾驶里程 |
| | | }else{ |
| | | 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); |
| | | one.setOutCar(count);//出车次数 |
| | | |
| | | one.setLikes(iDrivingRecordService.sumLikeByUserId(user.getId()));//点赞数 |
| | | |
| | | QueryWrapper<Alarm> wrapper3 = new QueryWrapper<>(); |
| | | wrapper3.eq("car_user_id",user.getId()); |
| | | wrapper3.eq("type",1); |
| | | one.setFatigueDriving(iAlarmService.count(wrapper3));//疲劳驾驶 |
| | | wrapper3.eq("type",3); |
| | | one.setNoBelt(iAlarmService.count(wrapper3));//不系安全带 |
| | | wrapper3.eq("type",4); |
| | | one.setSmoking(iAlarmService.count(wrapper3));//抽烟 |
| | | wrapper3.eq("type",2); |
| | | one.setPhone(iAlarmService.count(wrapper3));//接打电话 |
| | | } |
| | | //配送员 |
| | | 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); |
| | | wrapper2.ne("level",0); |
| | | wrapper2.gt("level",2); |
| | | int count5 = iOrderTaskService.count(wrapper2); |
| | | if(count2==0){ |
| | | one.setLikesRate(0); |
| | | }else{ |
| | | int rate = (count5/count2)*100; |
| | | one.setLikesRate(rate); |
| | | } |
| | | int count = iOrderTaskService.count(wrapper2); |
| | | one.setSends(count);//配送次数 |
| | | |
| | | one.setSends(count); |
| | | one.setSends2(count2); |
| | | QueryWrapper<OrderTask> wrapper22 = new QueryWrapper<>(); |
| | | wrapper22.eq("user_id",user.getId()); |
| | | wrapper22.eq("status",1); |
| | | int count2 = iOrderTaskService.count(wrapper22); |
| | | one.setSends2(count2);//送达次数 |
| | | |
| | | QueryWrapper<Area> wrapper3 = new QueryWrapper<>(); |
| | | wrapper3.eq("user_id",user.getId()); |
| | | Area area = iAreaService.getOne(wrapper3); |
| | | |
| | | // QueryWrapper<Area> wrapper3 = new QueryWrapper<>(); |
| | | // wrapper3.eq("user_id",user.getId()); |
| | | // Area area = iAreaService.getOne(wrapper3); |
| | | Area area = getArea(user.getId()); |
| | | if(area!=null){ |
| | | QueryWrapper<Customer> wrapper4 = new QueryWrapper<>(); |
| | | wrapper4.eq("area_id",area.getId()); |
| | | int count3 = iCustomerService.count(wrapper4); |
| | | one.setService(count3); |
| | | one.setService(count3);//服务商户数 |
| | | } |
| | | |
| | | int i = iOrderTaskService.countLike(); |
| | | one.setLikes(i);//点赞次数 |
| | | int likeCount = iOrderTaskService.count(); |
| | | if(likeCount==0){ |
| | | one.setLikesRate(0);//点赞率 |
| | | }else{ |
| | | one.setLikesRate((i*100)/likeCount);//点赞率 |
| | | } |
| | | |
| | | QueryWrapper<Alarm> wrapper4 = new QueryWrapper<>(); |
| | | wrapper4.eq("follow_user_id",user.getId()); |
| | | wrapper4.eq("type",5); |
| | | one.setAbnormalOpen(iAlarmService.count(wrapper4));//异常开启 |
| | | } |
| | | |
| | | iUserStatisticService.saveOrUpdate(one); |
| | |
| | | } |
| | | |
| | | } |
| | | |
| | | public Area getArea(String userId){ |
| | | QueryWrapper<Car> carQueryWrapper = new QueryWrapper<Car>(); |
| | | carQueryWrapper.eq("follow_user_id",userId); |
| | | Car one = iCarService.getOne(carQueryWrapper); |
| | | if(one==null){ |
| | | return null; |
| | | }else{ |
| | | QueryWrapper<Area> wrapper = new QueryWrapper<Area>(); |
| | | wrapper.eq("car_id",one.getId()); |
| | | Area area = iAreaService.getOne(wrapper); |
| | | return area; |
| | | } |
| | | } |
| | | } |