From ecac7a9240e32aed6502cc0de1db0e54175f4e5b Mon Sep 17 00:00:00 2001 From: nieziyan Date: Fri, 8 Dec 2023 18:17:35 +0800 Subject: [PATCH] =?UTF-8?q?fix=EF=BC=9AAnalysis=20log=E6=90=9C=E7=B4=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modules/base/dto/AnalysisLogDto.java | 17 ++-- .../modules/feignclient/SystemClient.java | 2 + .../mapper/AlarmAnalysisLogMapper.java | 5 +- .../mapper/xml/AlarmAnalysisLogMapper.xml | 29 ++++++- .../impl/AlarmAnalysisLogServiceImpl.java | 79 +++++++------------ .../controller/GardsStationsController.java | 6 ++ .../system/service/IGardsStationsService.java | 2 + .../impl/GardsStationsServiceImpl.java | 13 +++ 8 files changed, 92 insertions(+), 61 deletions(-) diff --git a/jeecg-boot-base-core/src/main/java/org/jeecg/modules/base/dto/AnalysisLogDto.java b/jeecg-boot-base-core/src/main/java/org/jeecg/modules/base/dto/AnalysisLogDto.java index 6021a001..dda35d6d 100644 --- a/jeecg-boot-base-core/src/main/java/org/jeecg/modules/base/dto/AnalysisLogDto.java +++ b/jeecg-boot-base-core/src/main/java/org/jeecg/modules/base/dto/AnalysisLogDto.java @@ -8,17 +8,22 @@ import java.util.List; @Data public class AnalysisLogDto extends AlarmAnalysisLog { - private String name; + private String stationCode; - private String source; + private List nuclideList; + + /* 以下属性作废 */ + // TODO del + + private String name; // 规则名称 + + private String source; // 当前规则关注的数据源(逗号分隔) private List sourceList; - private String stations; + private String stations; // 当前规则关注的台站(逗号分隔) private List stationList; - private String nuclides; - - private List nuclideList; + private String nuclides; // 当前规则关注的核素(逗号分隔) } diff --git a/jeecg-module-abnormal-alarm/src/main/java/org/jeecg/modules/feignclient/SystemClient.java b/jeecg-module-abnormal-alarm/src/main/java/org/jeecg/modules/feignclient/SystemClient.java index 20a04ffa..39588af2 100644 --- a/jeecg-module-abnormal-alarm/src/main/java/org/jeecg/modules/feignclient/SystemClient.java +++ b/jeecg-module-abnormal-alarm/src/main/java/org/jeecg/modules/feignclient/SystemClient.java @@ -35,4 +35,6 @@ public interface SystemClient { @GetMapping("/gardsStations/getCodesMap") Map stationCodesMap(@RequestParam Collection stationIds); + @GetMapping("/gardsStations/stationCodesMap") + Map stationCodesMap(); } diff --git a/jeecg-module-abnormal-alarm/src/main/java/org/jeecg/modules/mapper/AlarmAnalysisLogMapper.java b/jeecg-module-abnormal-alarm/src/main/java/org/jeecg/modules/mapper/AlarmAnalysisLogMapper.java index 6efe7063..3bd83cee 100644 --- a/jeecg-module-abnormal-alarm/src/main/java/org/jeecg/modules/mapper/AlarmAnalysisLogMapper.java +++ b/jeecg-module-abnormal-alarm/src/main/java/org/jeecg/modules/mapper/AlarmAnalysisLogMapper.java @@ -1,7 +1,9 @@ package org.jeecg.modules.mapper; import java.util.List; +import java.util.Map; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import com.baomidou.mybatisplus.core.mapper.BaseMapper; @@ -10,6 +12,5 @@ import org.jeecg.modules.base.entity.postgre.AlarmAnalysisLog; @Mapper public interface AlarmAnalysisLogMapper extends BaseMapper { - - List findPage(String startDate,String endDate); + Page findPage(Page page, Map params); } diff --git a/jeecg-module-abnormal-alarm/src/main/java/org/jeecg/modules/mapper/xml/AlarmAnalysisLogMapper.xml b/jeecg-module-abnormal-alarm/src/main/java/org/jeecg/modules/mapper/xml/AlarmAnalysisLogMapper.xml index beb66ea3..2aa9bf4c 100644 --- a/jeecg-module-abnormal-alarm/src/main/java/org/jeecg/modules/mapper/xml/AlarmAnalysisLogMapper.xml +++ b/jeecg-module-abnormal-alarm/src/main/java/org/jeecg/modules/mapper/xml/AlarmAnalysisLogMapper.xml @@ -2,7 +2,7 @@ - + SELECT + * + FROM + alarm_analysis_log + + + datasource IN + + #{item} + + + + AND station_id IN + + #{item} + + + + AND alarm_start_date >= #{params.startDate} + + + AND alarm_start_date <= #{params.endDate} + + + ORDER BY alarm_start_date DESC \ No newline at end of file diff --git a/jeecg-module-abnormal-alarm/src/main/java/org/jeecg/modules/service/impl/AlarmAnalysisLogServiceImpl.java b/jeecg-module-abnormal-alarm/src/main/java/org/jeecg/modules/service/impl/AlarmAnalysisLogServiceImpl.java index d2c46cc5..953affe4 100644 --- a/jeecg-module-abnormal-alarm/src/main/java/org/jeecg/modules/service/impl/AlarmAnalysisLogServiceImpl.java +++ b/jeecg-module-abnormal-alarm/src/main/java/org/jeecg/modules/service/impl/AlarmAnalysisLogServiceImpl.java @@ -1,5 +1,6 @@ package org.jeecg.modules.service.impl; +import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.ListUtil; import cn.hutool.core.util.StrUtil; @@ -8,6 +9,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.databind.ObjectMapper; +import lombok.extern.slf4j.Slf4j; import org.jeecg.common.api.vo.Result; import org.jeecg.common.constant.CommonConstant; import org.jeecg.common.constant.DateConstant; @@ -34,6 +36,7 @@ import java.util.*; import java.util.stream.Collectors; @Service +@Slf4j public class AlarmAnalysisLogServiceImpl extends ServiceImpl implements IAlarmAnalysisLogService { @Autowired @@ -44,72 +47,44 @@ public class AlarmAnalysisLogServiceImpl extends ServiceImpl result = baseMapper.findPage(startDate, endDate); - List source = analysisLogVo.getSource(); - List stations = analysisLogVo.getStations(); - List nuclides = analysisLogVo.getNuclides(); - String comma = SymbolConstant.COMMA; - // 条件过滤 - if (CollUtil.isNotEmpty(source)){ - result = result.stream().filter(item -> { - List sourceIds = ListUtil - .toList(item.getSource().split(comma)); - return CollUtil.containsAny(sourceIds,source); - }).collect(Collectors.toList()); - } - if (CollUtil.isNotEmpty(stations)){ - result = result.stream().filter(item -> { - List stationIds = ListUtil - .toList(item.getStations().split(comma)); - return CollUtil.containsAny(stationIds,stations); - }).collect(Collectors.toList()); - } - if (CollUtil.isNotEmpty(nuclides)){ - result = result.stream().filter(item -> { - List nuclideList = ListUtil - .toList(item.getNuclides().split(comma)); - return CollUtil.containsAny(nuclideList,nuclides); - }).collect(Collectors.toList()); - } + analysisLogVo.setEndDate(endDate + DateConstant.TIME_END); + Map params = BeanUtil.beanToMap(analysisLogVo); + Integer pageNo = analysisLogVo.getPageNo(); + Integer pageSize = analysisLogVo.getPageSize(); + Page page = new Page<>(pageNo, pageSize); + page = baseMapper.findPage(page, params); + List records = page.getRecords(); // 数据字典 List sourceDict = systemClient.getItems(DictConstant.ANALYSE_SOURCE); - // 封装Source和Station - for (AnalysisLogDto logDto : result) { + Map sourceMap = sourceDict.stream().collect(Collectors + .toMap(DictModel::getValue, DictModel::getText)); + Map stationCodesMap = systemClient.stationCodesMap(); + for (AnalysisLogDto logDto : records) { // 数据源 - String sources = logDto.getSource(); - List sourceList = getShow(sourceDict, sources); - logDto.setSourceList(sourceList); + String datasource = logDto.getDatasource(); + logDto.setDatasource(sourceMap.getOrDefault(datasource, "--")); + // TODO del + logDto.setSourceList(ListUtil.toList(sourceMap.getOrDefault(datasource, "--"))); // 台站 - String stationIds = logDto.getStations(); - if (StrUtil.isNotBlank(stationIds)){ - List stationList = systemClient.stationCodes(stationIds); - logDto.setStationList(stationList); - } + String stationId = logDto.getStationId(); + logDto.setStationCode(stationCodesMap.getOrDefault(stationId, "--")); + // TODO del + logDto.setStationList(ListUtil.toList(stationCodesMap.getOrDefault(stationId, "--"))); // 将nuclide的json串转换为对象集合 String nuclideInfo = logDto.getNuclideInfo(); if (StrUtil.isNotBlank(nuclideInfo)){ try { ObjectMapper mapper = new ObjectMapper(); - List nuclideInfos = mapper.readValue(nuclideInfo, - new TypeReference>() { - }); + List nuclideInfos = mapper.readValue(nuclideInfo, new TypeReference>() {}); logDto.setNuclideList(nuclideInfos); } catch (JsonProcessingException e) { - e.printStackTrace(); + log.error("nuclideInfo解析异常: {}", e.getMessage()); } } } - - // 封装分页 - Integer pageNo = analysisLogVo.getPageNo(); - Integer pageSize = analysisLogVo.getPageSize(); - int total = result.size(); - List records = PageUtil.page(pageNo, pageSize, result); - Page page = new Page<>(pageNo,pageSize,total); page.setRecords(records); return Result.OK(page); } @@ -251,7 +226,7 @@ public class AlarmAnalysisLogServiceImpl extends ServiceImpl getShow(List dictModels,String dict){ + /*private List getShow(List dictModels,String dict){ List show = new ArrayList<>(); if (StrUtil.isBlank(dict)) return null; @@ -262,7 +237,7 @@ public class AlarmAnalysisLogServiceImpl extends ServiceImpl getLogs(String startDate,String endDate){ startDate += DateConstant.TIME_START; diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/GardsStationsController.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/GardsStationsController.java index 377d9acf..877885e0 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/GardsStationsController.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/GardsStationsController.java @@ -106,4 +106,10 @@ public class GardsStationsController { public Map getCodesMap(@RequestParam Collection stationIds){ return gardsStationsService.getCodeMap(stationIds); } + + @GetMapping("stationCodesMap") + @ApiOperation(value = "获取台站CodeMap", notes = "获取台站CodeMap") + public Map getCodesMap(){ + return gardsStationsService.getCodeMap(); + } } diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/IGardsStationsService.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/IGardsStationsService.java index 3d1608c7..5eb0a128 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/IGardsStationsService.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/IGardsStationsService.java @@ -66,4 +66,6 @@ public interface IGardsStationsService extends IService { List getCodeByIds(String stationIds); Map getCodeMap(Collection stationIds); + + Map getCodeMap(); } diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/GardsStationsServiceImpl.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/GardsStationsServiceImpl.java index dd13d206..c8c44f4e 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/GardsStationsServiceImpl.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/GardsStationsServiceImpl.java @@ -230,4 +230,17 @@ public class GardsStationsServiceImpl extends ServiceImpl getCodeMap() { + String key = RedisConstant.STATION_CODE_MAP; + if (redisUtil.hasKey(key)) + return (Map) redisUtil.get(key); + List gardsStations = list(); + Map stationCodeMap = gardsStations.stream().collect(Collectors.toMap( + station -> String.valueOf(station.getStationId()), + GardsStations::getStationCode)); + redisUtil.set(key, stationCodeMap); + return stationCodeMap; + } }