wang-hao-jie
2022-01-05 6901d54eeb093a4b94f0630ae88bda7936f16919
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
package cn.exrick.xboot.your.schedulings;
import cn.exrick.xboot.core.common.redis.RedisTemplateHelper;
import cn.exrick.xboot.core.entity.User;
import cn.exrick.xboot.core.service.MessageService;
import cn.exrick.xboot.core.service.UserService;
import cn.exrick.xboot.your.entity.*;
import cn.exrick.xboot.your.service.*;
import cn.hutool.core.date.DateUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
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.Date;
import java.util.List;
//大屏首页统计
@Component
public class StatisticPcScheduleImpl {
 
    @Autowired
    private IUserStatisticService iUserStatisticService;
 
    @Autowired
    private UserService userService;
 
    @Autowired
    private IDrivingRecordService iDrivingRecordService;
 
    @Autowired
    private IOrderTaskService iOrderTaskService;
 
    @Autowired
    private IAreaService iAreaService;
 
    @Autowired
    private ICustomerService iCustomerService;
 
    @Autowired
    private RedisTemplateHelper redisTemplate;
 
    @Autowired
    private ICarService iCarService;
 
    @Autowired
    private MessageService messageService;
 
    @Autowired
    private IRemoteCallService iRemoteCallService;
 
    @Autowired
    private IEquipmentService iEquipmentService;
 
    public static final String HEAD = "statistic1::";
 
    @Scheduled(cron="0 0 * * * ?")//每小时
    public void execute(){
        redisTemplate.set(HEAD+"car",iCarService.count()+"");//车辆
        redisTemplate.set(HEAD+"user",userService.countByType(0)+"");//司机
        redisTemplate.set(HEAD+"user2",userService.countByType(1)+"");//配送员
 
        redisTemplate.set(HEAD+"dept","3");//转运站数
        redisTemplate.set(HEAD+"area",iAreaService.count()+"");//片区数
        redisTemplate.set(HEAD+"customer",iCustomerService.count()+"");//商户数
 
        redisTemplate.set(HEAD+"out",iDrivingRecordService.count()+"");//出车次数
        redisTemplate.set(HEAD+"driving",iUserStatisticService.sumDriving()+"");//行驶里程
        redisTemplate.set(HEAD+"num",iOrderTaskService.sumNum()+"");//送货包数
        redisTemplate.set(HEAD+"status",iOrderTaskService.sumStatus(1)+"");//电子签收次数
 
        redisTemplate.set(HEAD+"notice",messageService.getTotalCount()+"");//通知公告条数
        redisTemplate.set(HEAD+"video","0");//视频监控次数
        redisTemplate.set(HEAD+"call",iRemoteCallService.count()+"");//远程呼叫次数
        redisTemplate.set(HEAD+"paiCha","0");//事故隐患排查
 
        //redisTemplate.set(HEAD+"wx",iCustomerService.sumLogin()+"");//小程序登陆次数
        redisTemplate.set(HEAD+"wxRate",iCustomerService.countOpenId()+"");//小程序使用率
        int i = iOrderTaskService.countLike();
        redisTemplate.set(HEAD+"like",i+"");//互动次数
        int count = iOrderTaskService.count();
        if(count==0){
            redisTemplate.set(HEAD+"likeRate","0");//互动率
        }else{
            redisTemplate.set(HEAD+"likeRate",(i*100)/count+"");//互动率
        }
 
 
        redisTemplate.set(HEAD+"outCar",iEquipmentService.countByTypeAndStatus(0)+"");//出发车辆
        redisTemplate.set(HEAD+"outCar","0");//危险开启
 
        QueryWrapper<Customer> wrapper = new QueryWrapper<>();
        String format = DateUtil.format(new Date(), "yyyy-MM-dd");
        wrapper.between("create_time",format+" 00:00:00",format+" 23:59:59");
        redisTemplate.set(HEAD+"outCar",iCustomerService.count(wrapper)+"");//今日新增商户
    }
}