wang-hao-jie
2022-03-23 7005c13237516d5dd965afb1b3c5aa734a01a661
xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/schedulings/StatisticPcScheduleImpl.java
@@ -1,6 +1,5 @@
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.*;
@@ -11,9 +10,7 @@
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 {
@@ -49,10 +46,10 @@
    private IRemoteCallService iRemoteCallService;
    @Autowired
    private IEquipmentService iEquipmentService;
    private IEventLogService eventLogService;
    @Autowired
    private IEventLogService eventLogService;
    private IOrderLogService iOrderLogService;
    public static final String HEAD = "statistic1::";
@@ -64,12 +61,13 @@
        redisTemplate.set(HEAD+"dept","3");//转运站数
        redisTemplate.set(HEAD+"area",iAreaService.count()+"");//片区数
        redisTemplate.set(HEAD+"customer",iCustomerService.count()+"");//商户数
        int customNum = iCustomerService.count();
        redisTemplate.set(HEAD+"customer",customNum+"");//商户数
        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+"num",iOrderLogService.sumNum()+"");//送货包数
        redisTemplate.set(HEAD+"status",getNum(2)+"");//电子签收次数
        redisTemplate.set(HEAD+"notice",messageService.getTotalCount()+"");//通知公告条数
        redisTemplate.set(HEAD+"video","0");//视频监控次数
@@ -78,24 +76,39 @@
        redisTemplate.set(HEAD+"wx",iCustomerService.sumLogin()+"");//小程序登陆次数
        redisTemplate.set(HEAD+"wxRate",iCustomerService.countOpenId()+"");//小程序使用率
        int i = iOrderTaskService.countLike();
        int i = getNum(1);
        redisTemplate.set(HEAD+"like",i+"");//互动次数
        int count = iOrderTaskService.count();
        int count = iOrderLogService.sumNum();
        if(count==0){
            redisTemplate.set(HEAD+"likeRate","0");//互动率
        }else{
            redisTemplate.set(HEAD+"likeRate",(i*100)/count+"");//互动率
            redisTemplate.set(HEAD+"likeRate",(((i*100)/customNum)+1)+"");//互动率
        }
        String format = DateUtil.format(new Date(), "yyyy-MM-dd");
        redisTemplate.set(HEAD+"outCar",iEquipmentService.countByTypeAndStatus(0)+"");//出发车辆
        QueryWrapper<DrivingRecord> wp = new QueryWrapper<>();
        wp.between("create_time",format+" 00:00:00",format+" 23:59:59");
        redisTemplate.set(HEAD+"outCar",iDrivingRecordService.count(wp)+"");//出发车辆
        QueryWrapper<EventLog> wrapper2=new QueryWrapper<>();
        wrapper2.eq("type",5);
        redisTemplate.set(HEAD+"open",eventLogService.count(wrapper2)+"");//危险开启
        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+"addCustomer",iCustomerService.count(wrapper)+"");//今日新增商户
    }
    private int getNum(int type){
        QueryWrapper<OrderLog> wp = new QueryWrapper<>();
        wp.eq("type",type);
        OrderLog one = iOrderLogService.getOne(wp);
        if(one!=null){
            return one.getNum();
        }else{
            return 0;
        }
    }
}