package com.xmgl.recognition.config; import cn.hutool.core.date.DateTime; import cn.hutool.core.date.DateUtil; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.xmgl.recognition.modules.enterprise.entity.DeviceAlarm; import com.xmgl.recognition.modules.enterprise.service.IDeviceAlarmService; import com.xmgl.recognition.redis.Constant.CacheConstants; import com.xmgl.recognition.redis.lock.RedisRepository; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.CommandLineRunner; import org.springframework.core.annotation.Order; import org.springframework.stereotype.Component; import java.util.Date; import java.util.HashMap; import java.util.Map; @Component @Order(value = 2) @Slf4j public class FaceRunner implements CommandLineRunner { @Autowired private RedisRepository redisRepository; @Autowired private IDeviceAlarmService deviceAlarmService; @Override public void run(String... args) { redisRepository.delAll(CacheConstants.DEVICE_ALARM); for (int i = 1; i < 31; i++) { DateTime dateTime = DateUtil.offsetDay(new Date(), -i); Map map = new HashMap<>(); map.put("time", dateTime.toDateStr()); map.put("num", deviceAlarmService.count(Wrappers.lambdaQuery() .between(DeviceAlarm::getReportTime, DateUtil.beginOfDay(dateTime), DateUtil.endOfDay(dateTime)))); redisRepository.leftPush(CacheConstants.DEVICE_ALARM, map); } log.info("=========初始化预警信息统计成功========"); } }