From 87ae69a0a5eea1f38bf12afbf852698c252fb61a Mon Sep 17 00:00:00 2001 From: pengjie <17373303529@163.com> Date: Mon, 15 Jan 2024 11:31:05 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../xmgl/recognition/config/FaceRunner.java | 45 +++++++++++++++++++ .../controller/DeviceAlarmController.java | 38 ++++++++++++++-- .../service/IDeviceAlarmService.java | 3 +- .../service/impl/DeviceAlarmServiceImpl.java | 24 +--------- src/main/resources/application-dev.properties | 4 +- 5 files changed, 84 insertions(+), 30 deletions(-) create mode 100644 src/main/java/com/xmgl/recognition/config/FaceRunner.java diff --git a/src/main/java/com/xmgl/recognition/config/FaceRunner.java b/src/main/java/com/xmgl/recognition/config/FaceRunner.java new file mode 100644 index 0000000..02bf16c --- /dev/null +++ b/src/main/java/com/xmgl/recognition/config/FaceRunner.java @@ -0,0 +1,45 @@ +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("=========初始化预警信息统计成功========"); + } +} diff --git a/src/main/java/com/xmgl/recognition/modules/enterprise/controller/DeviceAlarmController.java b/src/main/java/com/xmgl/recognition/modules/enterprise/controller/DeviceAlarmController.java index bd83e55..066be4f 100644 --- a/src/main/java/com/xmgl/recognition/modules/enterprise/controller/DeviceAlarmController.java +++ b/src/main/java/com/xmgl/recognition/modules/enterprise/controller/DeviceAlarmController.java @@ -3,6 +3,7 @@ package com.xmgl.recognition.modules.enterprise.controller; import cn.hutool.core.date.DateField; import cn.hutool.core.date.DateTime; import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.xmgl.recognition.annotation.OperLog; import com.xmgl.recognition.jeecg.common.util.PageUtil; @@ -94,7 +95,36 @@ public class DeviceAlarmController { }) @PostMapping(value = "/page") public Result> queryPageList(@ApiIgnore @RequestBody Map map) { - IPage pageList = deviceAlarmService.pageList(map); + Page page = PageUtil.getPage(map); + String code = MapUtils.getString(map, "code"); + String deptId = MapUtils.getString(map, "deptId"); + String deptGroup = MapUtils.getString(map, "deptGroup"); + String startTime = MapUtils.getString(map, "startTime"); + String endTime = MapUtils.getString(map, "endTime"); + String type = MapUtils.getString(map, "type"); + QueryWrapper wrapper = Wrappers.query(); + if (StringUtils.isNotBlank(code)) { + wrapper.eq("a.device_code", code); + } + if (StringUtils.isNotBlank(deptId)) { + wrapper.eq("a.dept_id", deptId); + } + if (StringUtils.isNotBlank(deptGroup)) { + wrapper.eq("a.dept_group", deptGroup); + } + if (StringUtils.isNotBlank(startTime)) { + wrapper.ge("a.report_time", startTime); + } + if (StringUtils.isNotBlank(endTime)) { + wrapper.le("a.report_time", endTime); + } + if (StringUtils.isNotBlank(endTime)) { + wrapper.le("a.report_time", endTime); + } + if (StringUtils.isNotBlank(type)) { + wrapper.eq("a.type", type); + } + IPage pageList = deviceAlarmService.pageList(page, wrapper); return Result.success(pageList); } @@ -150,9 +180,9 @@ public class DeviceAlarmController { public Result> queryStat() { Result> result = new Result>(); Map resultMap = new HashMap<>(); - List deviceAlarmList = deviceAlarmService.getList(Wrappers.lambdaQuery() - .between(DeviceAlarm::getReportTime, DateUtil.beginOfDay(new Date()), DateUtil.endOfDay(new Date())) - .orderByDesc(DeviceAlarm::getReportTime)); + List deviceAlarmList = deviceAlarmService.pageList(new Page(1, 50), Wrappers.query() + .between("a.report_time", DateUtil.beginOfDay(new Date()), DateUtil.endOfDay(new Date())) + .orderByDesc("a.report_time")).getRecords(); List algorithms = algorithmService.list(); deviceAlarmList.stream().forEach(d -> { List algorithmList = algorithms.stream().filter(a -> a.getRemark().equals(d.getType().toString())).collect(Collectors.toList()); diff --git a/src/main/java/com/xmgl/recognition/modules/enterprise/service/IDeviceAlarmService.java b/src/main/java/com/xmgl/recognition/modules/enterprise/service/IDeviceAlarmService.java index b2779f7..a0eb978 100644 --- a/src/main/java/com/xmgl/recognition/modules/enterprise/service/IDeviceAlarmService.java +++ b/src/main/java/com/xmgl/recognition/modules/enterprise/service/IDeviceAlarmService.java @@ -3,6 +3,7 @@ package com.xmgl.recognition.modules.enterprise.service; import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.xmgl.recognition.modules.enterprise.entity.DeviceAlarm; import com.baomidou.mybatisplus.extension.service.IService; @@ -18,7 +19,7 @@ import java.util.Map; */ public interface IDeviceAlarmService extends IService { - Page pageList(Map map); + Page pageList(Page page, Wrapper wrapper); List getList(Wrapper wrapper); diff --git a/src/main/java/com/xmgl/recognition/modules/enterprise/service/impl/DeviceAlarmServiceImpl.java b/src/main/java/com/xmgl/recognition/modules/enterprise/service/impl/DeviceAlarmServiceImpl.java index 9cf35c6..2340131 100644 --- a/src/main/java/com/xmgl/recognition/modules/enterprise/service/impl/DeviceAlarmServiceImpl.java +++ b/src/main/java/com/xmgl/recognition/modules/enterprise/service/impl/DeviceAlarmServiceImpl.java @@ -27,29 +27,7 @@ import java.util.Map; public class DeviceAlarmServiceImpl extends ServiceImpl implements IDeviceAlarmService { @Override - public Page pageList(Map map) { - Page page = PageUtil.getPage(map); - String code = MapUtils.getString(map, "code"); - String deptId = MapUtils.getString(map, "deptId"); - String deptGroup = MapUtils.getString(map, "deptGroup"); - String startTime = MapUtils.getString(map, "startTime"); - String endTime = MapUtils.getString(map, "endTime"); - QueryWrapper wrapper = Wrappers.query(); - if (StringUtils.isNotBlank(code)) { - wrapper.eq("a.device_code", code); - } - if (StringUtils.isNotBlank(deptId)) { - wrapper.eq("a.dept_id", deptId); - } - if (StringUtils.isNotBlank(deptGroup)) { - wrapper.eq("a.dept_group", deptGroup); - } - if (StringUtils.isNotBlank(startTime)) { - wrapper.ge("a.report_time", startTime); - } - if (StringUtils.isNotBlank(endTime)) { - wrapper.le("a.report_time", endTime); - } + public Page pageList(Page page, Wrapper wrapper) { return baseMapper.pageList(page, wrapper); } diff --git a/src/main/resources/application-dev.properties b/src/main/resources/application-dev.properties index 7395a8f..99d1fab 100644 --- a/src/main/resources/application-dev.properties +++ b/src/main/resources/application-dev.properties @@ -1,7 +1,7 @@ # 数据库配置 -spring.datasource.url=jdbc:mysql://localhost:3306/airecognition?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&autoReconnect=true&useSSL=false +spring.datasource.url=jdbc:mysql://139.9.66.234:3306/airecognition?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&autoReconnect=true&useSSL=false&serverTimezone=GMT%2B8 spring.datasource.username=root -spring.datasource.password=root +spring.datasource.password=JXJ@admin # 数据库驱动类 spring.datasource.driver-class-name=com.mysql.jdbc.Driver # 数据库连接池配置