From ca33bc57606c4d9ef8f24097c9787fd45527b506 Mon Sep 17 00:00:00 2001 From: hzj <826100833@qq.com> Date: Wed, 21 May 2025 10:07:39 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/TerminalBaseServiceImpl.java | 3 + .../njcn/system/api/FrontLogsFeignClient.java | 33 ++++++++ .../FrontLogsFeignClientFallbackFactory.java | 47 +++++++++++ .../njcn/system/pojo/dto/PqFrontLogsDTO.java | 27 +++++++ .../system/pojo/param/PqFrontLogsParam.java | 25 ++++++ .../com/njcn/system/pojo/po/PqFrontLogs.java | 31 ++++++++ .../njcn/system/pojo/vo/PqFrontLogsVO.java | 30 +++++++ .../controller/PqFrontLogsController.java | 79 +++++++++++++++++++ .../njcn/system/mapper/PqFrontLogsMapper.java | 24 ++++++ .../system/service/PqFrontLogsService.java | 27 +++++++ .../service/impl/PqFrontLogsServiceImpl.java | 48 +++++++++++ 11 files changed, 374 insertions(+) create mode 100644 pqs-system/system-api/src/main/java/com/njcn/system/api/FrontLogsFeignClient.java create mode 100644 pqs-system/system-api/src/main/java/com/njcn/system/api/fallback/FrontLogsFeignClientFallbackFactory.java create mode 100644 pqs-system/system-api/src/main/java/com/njcn/system/pojo/dto/PqFrontLogsDTO.java create mode 100644 pqs-system/system-api/src/main/java/com/njcn/system/pojo/param/PqFrontLogsParam.java create mode 100644 pqs-system/system-api/src/main/java/com/njcn/system/pojo/po/PqFrontLogs.java create mode 100644 pqs-system/system-api/src/main/java/com/njcn/system/pojo/vo/PqFrontLogsVO.java create mode 100644 pqs-system/system-boot/src/main/java/com/njcn/system/controller/PqFrontLogsController.java create mode 100644 pqs-system/system-boot/src/main/java/com/njcn/system/mapper/PqFrontLogsMapper.java create mode 100644 pqs-system/system-boot/src/main/java/com/njcn/system/service/PqFrontLogsService.java create mode 100644 pqs-system/system-boot/src/main/java/com/njcn/system/service/impl/PqFrontLogsServiceImpl.java diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/TerminalBaseServiceImpl.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/TerminalBaseServiceImpl.java index 0113ab7ca..8b3ab72c2 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/TerminalBaseServiceImpl.java +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/TerminalBaseServiceImpl.java @@ -3977,6 +3977,9 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple }else { throw new BusinessException("暂无变动的装置测点推送"); } + if(CollectionUtils.isEmpty(preCommandDTOList)){ + throw new BusinessException("暂无变动的装置测点推送"); + } return preCommandDTOList; } diff --git a/pqs-system/system-api/src/main/java/com/njcn/system/api/FrontLogsFeignClient.java b/pqs-system/system-api/src/main/java/com/njcn/system/api/FrontLogsFeignClient.java new file mode 100644 index 000000000..77744e2f7 --- /dev/null +++ b/pqs-system/system-api/src/main/java/com/njcn/system/api/FrontLogsFeignClient.java @@ -0,0 +1,33 @@ +package com.njcn.system.api; + +import com.njcn.common.pojo.annotation.OperateInfo; +import com.njcn.common.pojo.constant.OperateType; +import com.njcn.common.pojo.constant.ServerInfo; +import com.njcn.common.pojo.dto.LogInfoDTO; +import com.njcn.common.pojo.enums.common.LogEnum; +import com.njcn.common.pojo.response.HttpResult; +import com.njcn.system.api.fallback.FrontLogsFeignClientFallbackFactory; +import com.njcn.system.api.fallback.UserLogFeignClientFallbackFactory; +import com.njcn.system.pojo.dto.PqFrontLogsDTO; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiOperation; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; + +/** + * @author hongawen + * @version 1.0.0 + * @date 2022年07月12日 15:20 + */ +@FeignClient(value = ServerInfo.SYSTEM,path = "/frontLog",fallbackFactory = FrontLogsFeignClientFallbackFactory.class,contextId = "frontLog") +public interface FrontLogsFeignClient { + + /** + * 插入前置日志 + * + */ + @PostMapping("/add") + HttpResult addFrontLogs(@RequestBody PqFrontLogsDTO pqFrontLogsDTO); + +} diff --git a/pqs-system/system-api/src/main/java/com/njcn/system/api/fallback/FrontLogsFeignClientFallbackFactory.java b/pqs-system/system-api/src/main/java/com/njcn/system/api/fallback/FrontLogsFeignClientFallbackFactory.java new file mode 100644 index 000000000..7ef31d8d3 --- /dev/null +++ b/pqs-system/system-api/src/main/java/com/njcn/system/api/fallback/FrontLogsFeignClientFallbackFactory.java @@ -0,0 +1,47 @@ +package com.njcn.system.api.fallback; + +import com.njcn.common.pojo.dto.LogInfoDTO; +import com.njcn.common.pojo.enums.response.CommonResponseEnum; +import com.njcn.common.pojo.exception.BusinessException; +import com.njcn.common.pojo.response.HttpResult; +import com.njcn.system.api.FrontLogsFeignClient; +import com.njcn.system.api.UserLogFeignClient; +import com.njcn.system.pojo.dto.PqFrontLogsDTO; +import com.njcn.system.utils.SystemEnumUtil; +import feign.hystrix.FallbackFactory; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + + +/** + * @author hongawen + * @version 1.0.0 + * @date 2022年07月12日 15:21 + */ +@Slf4j +@Component +public class FrontLogsFeignClientFallbackFactory implements FallbackFactory { + + /** + * 输出远程请求接口异常日志 + * @param cause RPC请求异常 + */ + @Override + public FrontLogsFeignClient create(Throwable cause) { + //判断抛出异常是否为解码器抛出的业务异常 + Enum exceptionEnum = CommonResponseEnum.SERVICE_FALLBACK; + if(cause.getCause() instanceof BusinessException){ + BusinessException businessException = (BusinessException) cause.getCause(); + exceptionEnum = SystemEnumUtil.getExceptionEnum(businessException.getResult()); + } + Enum finalExceptionEnum = exceptionEnum; + return new FrontLogsFeignClient() { + @Override + public HttpResult addFrontLogs(PqFrontLogsDTO pqFrontLogsDTO) { + log.error("{}异常,降级处理,异常为:{}","插入前置日志",cause.toString()); + throw new BusinessException(finalExceptionEnum); + } + + }; + } +} diff --git a/pqs-system/system-api/src/main/java/com/njcn/system/pojo/dto/PqFrontLogsDTO.java b/pqs-system/system-api/src/main/java/com/njcn/system/pojo/dto/PqFrontLogsDTO.java new file mode 100644 index 000000000..e028bde83 --- /dev/null +++ b/pqs-system/system-api/src/main/java/com/njcn/system/pojo/dto/PqFrontLogsDTO.java @@ -0,0 +1,27 @@ +package com.njcn.system.pojo.dto; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.njcn.db.bo.BaseEntity; +import lombok.Data; + +/** + * Description: + * Date: 2025/05/15 下午 2:19【需求编号】 + * + * @author clam + * @version V1.0.0 + */ +@Data +public class PqFrontLogsDTO { + private String nodeId; + private String processNo; + private String businessId; + private String level; + private String logType; + private String grade; + private String frontType; + private String log; + +} diff --git a/pqs-system/system-api/src/main/java/com/njcn/system/pojo/param/PqFrontLogsParam.java b/pqs-system/system-api/src/main/java/com/njcn/system/pojo/param/PqFrontLogsParam.java new file mode 100644 index 000000000..ea4ffcfd9 --- /dev/null +++ b/pqs-system/system-api/src/main/java/com/njcn/system/pojo/param/PqFrontLogsParam.java @@ -0,0 +1,25 @@ +package com.njcn.system.pojo.param; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.njcn.db.bo.BaseEntity; +import com.njcn.web.pojo.param.BaseParam; +import lombok.Data; + +/** + * Description: + * Date: 2025/05/15 下午 2:19【需求编号】 + * + * @author clam + * @version V1.0.0 + */ +@Data +public class PqFrontLogsParam extends BaseParam { + + + private String level; + private String logType; + private String grade; + private String frontType; + +} diff --git a/pqs-system/system-api/src/main/java/com/njcn/system/pojo/po/PqFrontLogs.java b/pqs-system/system-api/src/main/java/com/njcn/system/pojo/po/PqFrontLogs.java new file mode 100644 index 000000000..2759c0466 --- /dev/null +++ b/pqs-system/system-api/src/main/java/com/njcn/system/pojo/po/PqFrontLogs.java @@ -0,0 +1,31 @@ +package com.njcn.system.pojo.po; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.njcn.db.bo.BaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * Description: + * Date: 2025/05/15 下午 2:19【需求编号】 + * + * @author clam + * @version V1.0.0 + */ +@Data +@TableName(value = "PQ_FRONT_LOGS") +public class PqFrontLogs extends BaseEntity { + @TableId(value = "id", type = IdType.ASSIGN_UUID) + private String id; + private String nodeId; + private String processNo; + private String businessId; + private String level; + private String logType; + private String grade; + private String frontType; + private String log; + private Integer state; +} diff --git a/pqs-system/system-api/src/main/java/com/njcn/system/pojo/vo/PqFrontLogsVO.java b/pqs-system/system-api/src/main/java/com/njcn/system/pojo/vo/PqFrontLogsVO.java new file mode 100644 index 000000000..b712abd7f --- /dev/null +++ b/pqs-system/system-api/src/main/java/com/njcn/system/pojo/vo/PqFrontLogsVO.java @@ -0,0 +1,30 @@ +package com.njcn.system.pojo.vo; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.njcn.db.bo.BaseEntity; +import lombok.Data; + +/** + * Description: + * Date: 2025/05/15 下午 2:19【需求编号】 + * + * @author clam + * @version V1.0.0 + */ +@Data +public class PqFrontLogsVO extends BaseEntity { + @TableId(value = "id", type = IdType.ASSIGN_UUID) + private String id; + private String nodeId; + private String processNo; + private String businessId; + private String businessName; + private String level; + private String logType; + private String grade; + private String frontType; + private String log; + private Integer state; +} diff --git a/pqs-system/system-boot/src/main/java/com/njcn/system/controller/PqFrontLogsController.java b/pqs-system/system-boot/src/main/java/com/njcn/system/controller/PqFrontLogsController.java new file mode 100644 index 000000000..8a4a7976e --- /dev/null +++ b/pqs-system/system-boot/src/main/java/com/njcn/system/controller/PqFrontLogsController.java @@ -0,0 +1,79 @@ +package com.njcn.system.controller; + + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.njcn.common.pojo.annotation.OperateInfo; +import com.njcn.common.pojo.constant.OperateType; +import com.njcn.common.pojo.constant.ServerInfo; +import com.njcn.common.pojo.dto.LogInfoDTO; +import com.njcn.common.pojo.enums.common.LogEnum; +import com.njcn.common.pojo.enums.response.CommonResponseEnum; +import com.njcn.common.pojo.response.HttpResult; +import com.njcn.common.utils.HttpResultUtil; +import com.njcn.system.pojo.dto.PqFrontLogsDTO; +import com.njcn.system.pojo.param.PqFrontLogsParam; +import com.njcn.system.pojo.po.UserLog; +import com.njcn.system.pojo.vo.PqFrontLogsVO; +import com.njcn.system.service.IUserLogService; +import com.njcn.system.service.PqFrontLogsService; +import com.njcn.web.controller.BaseController; +import com.njcn.web.pojo.param.BaseParam; +import com.njcn.web.utils.RequestUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiOperation; +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; +import java.util.stream.Collectors; +import java.util.stream.Stream; + + +/** + *

+ * 前端控制器(行政区域) + *

+ * + * @author hongawen + * @since 2021-12-13 + */ +@Validated +@Slf4j +@RestController +@RequestMapping("/frontLog") +@Api(tags = "前置日志管理") +@AllArgsConstructor +public class PqFrontLogsController extends BaseController { + + private final PqFrontLogsService pqFrontLogsService; + + /** + * 插入审计日志 + */ + @OperateInfo(info = LogEnum.SYSTEM_COMMON, operateType = OperateType.ADD) + @PostMapping("/add") + @ApiOperation("插入前置日志") + @ApiImplicitParam(name = "pqFrontLogsDTO", value = "插入日志参数", required = true) + public HttpResult addFrontLogs(@RequestBody PqFrontLogsDTO pqFrontLogsDTO) { + String methodDescribe = getMethodDescribe("addFrontLogs"); + pqFrontLogsService.addFrontLogs(pqFrontLogsDTO); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe); + } + + @OperateInfo(info = LogEnum.SYSTEM_COMMON, operateType = OperateType.QUERY) + @PostMapping("/query") + @ApiOperation("查询审计日志(治理模块)") + @ApiImplicitParam(name = "baseParam", value = "查询日志参数", required = true) + public HttpResult> queryFrontLogs(@RequestBody PqFrontLogsParam baseParam) { + String methodDescribe = getMethodDescribe("queryFrontLogs"); + Page list = pqFrontLogsService.queryPage(baseParam); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe); + } +} + diff --git a/pqs-system/system-boot/src/main/java/com/njcn/system/mapper/PqFrontLogsMapper.java b/pqs-system/system-boot/src/main/java/com/njcn/system/mapper/PqFrontLogsMapper.java new file mode 100644 index 000000000..117209ac6 --- /dev/null +++ b/pqs-system/system-boot/src/main/java/com/njcn/system/mapper/PqFrontLogsMapper.java @@ -0,0 +1,24 @@ +package com.njcn.system.mapper; + +import com.njcn.db.mapper.BatchBaseMapper; +import com.njcn.system.excel.UserLogExcel; +import com.njcn.system.pojo.po.PqFrontLogs; +import com.njcn.system.pojo.po.UserLog; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + + +/** + *

+ * Mapper 接口 + *

+ * + * @author hongawen + * @since 2021-12-13 + */ +public interface PqFrontLogsMapper extends BatchBaseMapper { + + + +} diff --git a/pqs-system/system-boot/src/main/java/com/njcn/system/service/PqFrontLogsService.java b/pqs-system/system-boot/src/main/java/com/njcn/system/service/PqFrontLogsService.java new file mode 100644 index 000000000..b6a0ffd3e --- /dev/null +++ b/pqs-system/system-boot/src/main/java/com/njcn/system/service/PqFrontLogsService.java @@ -0,0 +1,27 @@ +package com.njcn.system.service; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.njcn.common.pojo.dto.LogInfoDTO; +import com.njcn.system.pojo.dto.PqFrontLogsDTO; +import com.njcn.system.pojo.param.PqFrontLogsParam; +import com.njcn.system.pojo.po.PqFrontLogs; +import com.njcn.system.pojo.po.UserLog; +import com.njcn.system.pojo.vo.PqFrontLogsVO; + + +/** + *

+ * 服务类 + *

+ * + * @author hongawen + * @since 2021-12-13 + */ +public interface PqFrontLogsService extends IService { + + + void addFrontLogs(PqFrontLogsDTO pqFrontLogsDTO); + + Page queryPage(PqFrontLogsParam baseParam); +} diff --git a/pqs-system/system-boot/src/main/java/com/njcn/system/service/impl/PqFrontLogsServiceImpl.java b/pqs-system/system-boot/src/main/java/com/njcn/system/service/impl/PqFrontLogsServiceImpl.java new file mode 100644 index 000000000..a16842cbe --- /dev/null +++ b/pqs-system/system-boot/src/main/java/com/njcn/system/service/impl/PqFrontLogsServiceImpl.java @@ -0,0 +1,48 @@ +package com.njcn.system.service.impl; + +import cn.hutool.core.bean.BeanUtil; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.njcn.common.pojo.dto.LogInfoDTO; +import com.njcn.system.mapper.PqFrontLogsMapper; +import com.njcn.system.mapper.UserLogMapper; +import com.njcn.system.pojo.dto.PqFrontLogsDTO; +import com.njcn.system.pojo.param.PqFrontLogsParam; +import com.njcn.system.pojo.po.PqFrontLogs; +import com.njcn.system.pojo.po.UserLog; +import com.njcn.system.pojo.vo.PqFrontLogsVO; +import com.njcn.system.service.IUserLogService; +import com.njcn.system.service.PqFrontLogsService; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Service; + + +/** + *

+ * 服务实现类 + *

+ * + * @author hongawen + * @since 2021-12-13 + */ +@Service +@RequiredArgsConstructor +@Slf4j +public class PqFrontLogsServiceImpl extends ServiceImpl implements PqFrontLogsService { + + + @Override + public void addFrontLogs(PqFrontLogsDTO pqFrontLogsDTO) { + PqFrontLogs pqFrontLogs = new PqFrontLogs(); + BeanUtils.copyProperties(pqFrontLogsDTO,pqFrontLogs); + pqFrontLogs.setState(1); + this.save(pqFrontLogs); + } + + @Override + public Page queryPage(PqFrontLogsParam baseParam) { + return null; + } +}