From 279a8a6e834019b3c90464eb51b4d7d2af3ecc0f Mon Sep 17 00:00:00 2001 From: caozehui <2427765068@qq.com> Date: Mon, 17 Mar 2025 15:46:23 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BE=AE=E8=B0=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/DetectionServiceImpl.java | 32 ++++++++------ .../script/pojo/param/PqScriptParam.java | 2 +- .../service/impl/PqScriptServiceImpl.java | 1 + .../controller/SysTestConfigController.java | 30 ++++++------- .../config/service/ISysTestConfigService.java | 4 +- .../impl/SysTestConfigServiceImpl.java | 7 ++- .../dictionary/pojo/param/DictDataParam.java | 4 +- .../log/controller/SysLogController.java | 16 +++++-- .../log/service/ISysLogAuditService.java | 9 +++- .../service/impl/SysLogAuditServiceImpl.java | 44 +++++++++++++++++-- .../service/impl/SysRegResServiceImpl.java | 8 +++- 11 files changed, 113 insertions(+), 44 deletions(-) diff --git a/detection/src/main/java/com/njcn/gather/detection/service/impl/DetectionServiceImpl.java b/detection/src/main/java/com/njcn/gather/detection/service/impl/DetectionServiceImpl.java index a0e68960..d60bdd43 100644 --- a/detection/src/main/java/com/njcn/gather/detection/service/impl/DetectionServiceImpl.java +++ b/detection/src/main/java/com/njcn/gather/detection/service/impl/DetectionServiceImpl.java @@ -857,7 +857,9 @@ public class DetectionServiceImpl { DetectionData data = new DetectionData(); data.setIsData(4); data.setNum(harm); - data.setData(harmDataList.get(0)); + if (CollUtil.isNotEmpty(harmDataList)) { + data.setData(harmDataList.get(0)); + } Double v = issueHarmMap.get(harm); data.setResultData(v); if (ObjectUtil.isNotNull(errSysDtl)) { @@ -886,20 +888,22 @@ public class DetectionServiceImpl { * @Date: 2024/12/29 18:10 */ private void setDetection(DictDataEnum dataRule, List harmDataList, PqErrSysDtls errSysDtl, DetectionData data, Double v) { - List qualifiedList = harmDataList.stream() - .filter(x -> v == 0 ? NumberUtil.isIn(devSubtractChannelData(x, v, errSysDtl.getErrorValueType()), - BigDecimal.valueOf(-errSysDtl.getMaxErrorValue()), - BigDecimal.valueOf(errSysDtl.getMaxErrorValue())) - : - x != 0 && NumberUtil.isIn(devSubtractChannelData(x, v, errSysDtl.getErrorValueType()), - BigDecimal.valueOf(-errSysDtl.getMaxErrorValue()), - BigDecimal.valueOf(errSysDtl.getMaxErrorValue()))).collect(Collectors.toList()); - if (CollUtil.isNotEmpty(qualifiedList)) { - data.setErrorData(devSubtractChannelData(qualifiedList.get(0), v, errSysDtl.getErrorValueType())); - } else { - data.setErrorData(devSubtractChannelData(harmDataList.get(0), v, errSysDtl.getErrorValueType())); + if (CollUtil.isNotEmpty(harmDataList)) { + List qualifiedList = harmDataList.stream() + .filter(x -> v == 0 ? NumberUtil.isIn(devSubtractChannelData(x, v, errSysDtl.getErrorValueType()), + BigDecimal.valueOf(-errSysDtl.getMaxErrorValue()), + BigDecimal.valueOf(errSysDtl.getMaxErrorValue())) + : + x != 0 && NumberUtil.isIn(devSubtractChannelData(x, v, errSysDtl.getErrorValueType()), + BigDecimal.valueOf(-errSysDtl.getMaxErrorValue()), + BigDecimal.valueOf(errSysDtl.getMaxErrorValue()))).collect(Collectors.toList()); + if (CollUtil.isNotEmpty(qualifiedList)) { + data.setErrorData(devSubtractChannelData(qualifiedList.get(0), v, errSysDtl.getErrorValueType())); + } else { + data.setErrorData(devSubtractChannelData(harmDataList.get(0), v, errSysDtl.getErrorValueType())); + } + isData(dataRule, harmDataList, data, qualifiedList); } - isData(dataRule, harmDataList, data, qualifiedList); } private void isData(DictDataEnum dataRule, List harmDataList, DetectionData data, List qualifiedList) { diff --git a/detection/src/main/java/com/njcn/gather/script/pojo/param/PqScriptParam.java b/detection/src/main/java/com/njcn/gather/script/pojo/param/PqScriptParam.java index c387b110..15d8f2d9 100644 --- a/detection/src/main/java/com/njcn/gather/script/pojo/param/PqScriptParam.java +++ b/detection/src/main/java/com/njcn/gather/script/pojo/param/PqScriptParam.java @@ -44,7 +44,7 @@ public class PqScriptParam { @ApiModelProperty("参照标准名称") @NotBlank(message = DevValidMessage.STANDARD_NAME_NOT_BLANK) - @Pattern(regexp = PatternRegex.ERR_SYS_NAME, message = DevValidMessage.STANDARD_NAME_FORMAT_ERROR) + //@Pattern(regexp = PatternRegex.ERR_SYS_NAME, message = DevValidMessage.STANDARD_NAME_FORMAT_ERROR) private String standardName; diff --git a/detection/src/main/java/com/njcn/gather/script/service/impl/PqScriptServiceImpl.java b/detection/src/main/java/com/njcn/gather/script/service/impl/PqScriptServiceImpl.java index 8b1cc53f..c91dbee1 100644 --- a/detection/src/main/java/com/njcn/gather/script/service/impl/PqScriptServiceImpl.java +++ b/detection/src/main/java/com/njcn/gather/script/service/impl/PqScriptServiceImpl.java @@ -74,6 +74,7 @@ public class PqScriptServiceImpl extends ServiceImpl i public boolean updatePqScript(PqScriptParam.UpdateParam param) { PqScript pqScript = new PqScript(); BeanUtils.copyProperties(param, pqScript); + pqScript.setStandardTime(LocalDate.of(Integer.parseInt(param.getStandardTime()), 1, 1)); pqScript.setState(DataStateEnum.ENABLE.getCode()); return this.updateById(pqScript); } diff --git a/system/src/main/java/com/njcn/gather/system/config/controller/SysTestConfigController.java b/system/src/main/java/com/njcn/gather/system/config/controller/SysTestConfigController.java index deb360b5..2aa119cb 100644 --- a/system/src/main/java/com/njcn/gather/system/config/controller/SysTestConfigController.java +++ b/system/src/main/java/com/njcn/gather/system/config/controller/SysTestConfigController.java @@ -27,7 +27,7 @@ import org.springframework.web.bind.annotation.*; @Slf4j @Api(tags = "检测相关配置") @RestController -@RequestMapping("/sysTestConfig") + @RequestMapping("/sysTestConfig") @RequiredArgsConstructor public class SysTestConfigController extends BaseController { private final ISysTestConfigService sysTestConfigService; @@ -42,20 +42,20 @@ public class SysTestConfigController extends BaseController { return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, sysTestConfig, methodDescribe); } - @OperateInfo(info = LogEnum.SYSTEM_COMMON, operateType = OperateType.ADD) - @PostMapping("/add") - @ApiOperation("新增检测相关配置信息") - @ApiImplicitParam(name = "sysTestConfig", value = "检测相关配置信息", required = true) - public HttpResult add(@RequestBody @Validated SysTestConfigParam param) { - String methodDescribe = getMethodDescribe("add"); - LogUtil.njcnDebug(log, "{}", methodDescribe); - boolean result = sysTestConfigService.addTestConfig(param); - if (result) { - return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe); - } else { - return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.FAIL, null, methodDescribe); - } - } +// @OperateInfo(info = LogEnum.SYSTEM_COMMON, operateType = OperateType.ADD) +// @PostMapping("/add") +// @ApiOperation("新增检测相关配置信息") +// @ApiImplicitParam(name = "sysTestConfig", value = "检测相关配置信息", required = true) +// public HttpResult add(@RequestBody @Validated SysTestConfigParam param) { +// String methodDescribe = getMethodDescribe("add"); +// LogUtil.njcnDebug(log, "{}", methodDescribe); +// boolean result = sysTestConfigService.addTestConfig(param); +// if (result) { +// return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe); +// } else { +// return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.FAIL, null, methodDescribe); +// } +// } @OperateInfo(info = LogEnum.SYSTEM_COMMON, operateType = OperateType.UPDATE) @PostMapping("/update") diff --git a/system/src/main/java/com/njcn/gather/system/config/service/ISysTestConfigService.java b/system/src/main/java/com/njcn/gather/system/config/service/ISysTestConfigService.java index 9e7051c2..422cb86d 100644 --- a/system/src/main/java/com/njcn/gather/system/config/service/ISysTestConfigService.java +++ b/system/src/main/java/com/njcn/gather/system/config/service/ISysTestConfigService.java @@ -18,10 +18,10 @@ public interface ISysTestConfigService extends IService { /** * 添加检测配置 - * @param param 检测配置 + * @param scene 场景 * @return 是否添加成功 */ - boolean addTestConfig(SysTestConfigParam param); + boolean addTestConfig(String scene); /** * 更新检测配置 diff --git a/system/src/main/java/com/njcn/gather/system/config/service/impl/SysTestConfigServiceImpl.java b/system/src/main/java/com/njcn/gather/system/config/service/impl/SysTestConfigServiceImpl.java index 6e26c2b5..8b40da58 100644 --- a/system/src/main/java/com/njcn/gather/system/config/service/impl/SysTestConfigServiceImpl.java +++ b/system/src/main/java/com/njcn/gather/system/config/service/impl/SysTestConfigServiceImpl.java @@ -35,9 +35,12 @@ public class SysTestConfigServiceImpl extends ServiceImpl { * * @param param 查询参数 */ - void exportSysLogAuditData(SysLogParam.QueryParam param); + void exportCSV(SysLogParam.QueryParam param); /** * 添加审计日志 @@ -56,4 +56,11 @@ public interface ISysLogAuditService extends IService { * 按照 一定规则 清除日志 */ void scheduleRemoveLog(); + + /** + * 分析日志 + * + * @param param + */ + void analyse(SysLogParam.QueryParam param); } diff --git a/system/src/main/java/com/njcn/gather/system/log/service/impl/SysLogAuditServiceImpl.java b/system/src/main/java/com/njcn/gather/system/log/service/impl/SysLogAuditServiceImpl.java index c627707c..fe9ca5c1 100644 --- a/system/src/main/java/com/njcn/gather/system/log/service/impl/SysLogAuditServiceImpl.java +++ b/system/src/main/java/com/njcn/gather/system/log/service/impl/SysLogAuditServiceImpl.java @@ -1,5 +1,6 @@ package com.njcn.gather.system.log.service.impl; +import cn.hutool.core.util.CharsetUtil; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; @@ -14,12 +15,18 @@ import com.njcn.gather.system.log.service.ISysLogAuditService; import com.njcn.gather.system.log.util.CSVUtil; import com.njcn.gather.user.user.service.ISysUserService; import com.njcn.web.factory.PageFactory; +import com.njcn.web.utils.HttpServletUtil; import com.njcn.web.utils.RequestUtil; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import javax.servlet.ServletOutputStream; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.net.URLEncoder; import java.text.SimpleDateFormat; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; @@ -38,8 +45,6 @@ import java.util.stream.Collectors; @RequiredArgsConstructor public class SysLogAuditServiceImpl extends ServiceImpl implements ISysLogAuditService { - private final ISysUserService sysUserService; - @Override public Page listSysLogAudit(SysLogParam.QueryParam param) { QueryWrapper queryWrapper = new QueryWrapper<>(); @@ -53,7 +58,7 @@ public class SysLogAuditServiceImpl extends ServiceImpl queryWrapper = new QueryWrapper<>(); @@ -127,4 +132,37 @@ public class SysLogAuditServiceImpl extends ServiceImpl queryWrapper = new QueryWrapper<>(); + if (ObjectUtil.isNotNull(param)) { + queryWrapper.like(StrUtil.isNotBlank(param.getOperateType()), "sys_log_audit.Operate_Type", param.getOperateType()) + .like(StrUtil.isNotBlank(param.getCreateBy()), "sys_log_audit.Create_By", param.getCreateBy()) + .between(StrUtil.isAllNotBlank(param.getSearchBeginTime(), param.getSearchEndTime()), "sys_log_audit.Create_Time", param.getSearchBeginTime(), param.getSearchEndTime()); + } + List list = this.list(queryWrapper); + Map> collect = list.stream().collect(Collectors.groupingBy(SysLogAudit::getCreateBy, Collectors.toList())); + + this.exportAnalyseExcel("分析结果", collect); + } + + private void exportAnalyseExcel(String fileName, Map> collect) { + HttpServletResponse response = HttpServletUtil.getResponse(); + XSSFWorkbook wb = new XSSFWorkbook(); + + try (ServletOutputStream outputStream = response.getOutputStream()) { + fileName = URLEncoder.encode(fileName, CharsetUtil.UTF_8); + response.reset(); + response.setHeader("Content-Disposition", "attachment; filename=\"" + fileName + "\""); + response.setContentType("application/octet-stream;charset=UTF-8"); + + + + wb.write(outputStream); + wb.close(); + } catch (IOException e) { + log.error(">>> 导出数据异常:{}", e.getMessage()); + } + } } diff --git a/system/src/main/java/com/njcn/gather/system/reg/service/impl/SysRegResServiceImpl.java b/system/src/main/java/com/njcn/gather/system/reg/service/impl/SysRegResServiceImpl.java index ba8435a7..64459f84 100644 --- a/system/src/main/java/com/njcn/gather/system/reg/service/impl/SysRegResServiceImpl.java +++ b/system/src/main/java/com/njcn/gather/system/reg/service/impl/SysRegResServiceImpl.java @@ -8,6 +8,7 @@ import com.fasterxml.jackson.databind.ObjectMapper; import com.njcn.common.pojo.enums.common.DataStateEnum; import com.njcn.common.pojo.exception.BusinessException; import com.njcn.common.utils.EncryptionUtil; +import com.njcn.gather.system.config.service.ISysTestConfigService; import com.njcn.gather.system.dictionary.pojo.enums.DictDataEnum; import com.njcn.gather.system.dictionary.pojo.po.DictData; import com.njcn.gather.system.dictionary.service.IDictDataService; @@ -49,6 +50,9 @@ import java.util.List; @Service @RequiredArgsConstructor public class SysRegResServiceImpl extends ServiceImpl implements ISysRegResService { + + private final ISysTestConfigService sysTestConfigService; + /** * 固定私钥 */ @@ -111,6 +115,8 @@ public class SysRegResServiceImpl extends ServiceImpl