From 5915ed87ac66bc66eb3ca34e9c26f41790091874 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=9B=A8=E6=9C=A8c?= <857448963@qq.com> Date: Fri, 24 Feb 2023 15:54:49 +0800 Subject: [PATCH] =?UTF-8?q?pms=E5=8F=B0=E8=B4=A6bug=E6=8F=90=E4=BA=A4,?= =?UTF-8?q?=E5=8F=B0=E8=B4=A6=E6=97=A5=E5=BF=97=E6=93=8D=E4=BD=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../annotation/TerminalOperationLogDesc.java | 28 ++ .../pms/enums/PmsDeviceResponseEnum.java | 2 +- .../pojo/dto/PmsDistributionMonitorDTO.java | 29 ++ .../pojo/param/DistributionMonitorParam.java | 2 + .../pms/pojo/param/PowerClientParam.java | 8 +- .../pojo/param/PowerGenerationUserParam.java | 8 +- .../pms/pojo/param/TerminalQueryParam.java | 3 + .../njcn/device/pms/pojo/po/TerminalLog.java | 66 +++ .../pms/component/TerminalLoggerAspect.java | 400 ++++++++++++++++++ .../PmsDistributionMonitorController.java | 56 +++ .../PmsGeneratrixWireController.java | 4 + .../ledgerManger/PmsMonitorController.java | 5 + .../PmsPowerClientController.java | 9 +- .../PmsPowerDistributionareaController.java | 4 + .../PmsPowerGenerationUserController.java | 9 +- .../PmsStatationStatController.java | 10 +- .../ledgerManger/PmsTerminalController.java | 3 + .../ledgerManger/TerminalLogController.java | 22 + .../DistributionMonitorMapper.java | 4 + .../majornetwork/TerminalLogMapper.java | 17 + .../mapping/StatationStatMapper.xml | 2 +- .../IDistributionMonitorService.java | 9 + .../majornetwork/ITerminalLogService.java | 17 + .../impl/DistributionMonitorServiceImpl.java | 137 ++++-- .../majornetwork/impl/MonitorServiceImpl.java | 7 +- .../impl/PowerGenerationUserServiceImpl.java | 4 + .../impl/StatationStatServiceImpl.java | 2 + .../impl/TerminalLogServiceImpl.java | 20 + 28 files changed, 836 insertions(+), 51 deletions(-) create mode 100644 pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/annotation/TerminalOperationLogDesc.java create mode 100644 pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/dto/PmsDistributionMonitorDTO.java create mode 100644 pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/po/TerminalLog.java create mode 100644 pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/component/TerminalLoggerAspect.java create mode 100644 pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/ledgerManger/TerminalLogController.java create mode 100644 pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/majornetwork/TerminalLogMapper.java create mode 100644 pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/ITerminalLogService.java create mode 100644 pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/impl/TerminalLogServiceImpl.java diff --git a/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/annotation/TerminalOperationLogDesc.java b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/annotation/TerminalOperationLogDesc.java new file mode 100644 index 000000000..17ed07bb4 --- /dev/null +++ b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/annotation/TerminalOperationLogDesc.java @@ -0,0 +1,28 @@ +package com.njcn.device.pms.annotation; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +/** + * pqs + * + * @author cdf + * @date 2023/2/23 + */ +@Target({ElementType.METHOD}) +@Retention(RetentionPolicy.RUNTIME) +public @interface TerminalOperationLogDesc { + + String value(); + /** + * 操作模块 0.电站 1.装置 2.线路 3.台区 4.发电用户 5.用电用户 6.主网监测点 7.配网监测点 + */ + int module(); + + /** + * 操作事件 + */ + String events() default ""; +} diff --git a/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/enums/PmsDeviceResponseEnum.java b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/enums/PmsDeviceResponseEnum.java index b12b6a026..dca56ec81 100644 --- a/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/enums/PmsDeviceResponseEnum.java +++ b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/enums/PmsDeviceResponseEnum.java @@ -32,7 +32,7 @@ public enum PmsDeviceResponseEnum { GENWIRE_SAME("A00373","母线编号重复"), POWER_CODE_SAME("A00374","台区名称或编号重复"), POWER_CLIENT_DIS_EMPTY("A00375","发电用电用户参数不可为空"), - DIS_ADD_REPEAT("A00376","当前配网中存在该监测点"), + DIS_ADD_REPEAT("A00376","当前配网中存在相同编号该监测点"), STATION_REPEAT("A00377","已存在相同电站"), DEPT_STATION_REPEAT("A00378","单位下存在同名电站"), DEPT_MONITOR_REPEAT("A00379","单位下存在同名监测点"), diff --git a/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/dto/PmsDistributionMonitorDTO.java b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/dto/PmsDistributionMonitorDTO.java new file mode 100644 index 000000000..4904d38cd --- /dev/null +++ b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/dto/PmsDistributionMonitorDTO.java @@ -0,0 +1,29 @@ +package com.njcn.device.pms.pojo.dto; + +import lombok.Data; + +/** + * pqs + * + * @author cdf + * @date 2023/2/24 + */ +@Data +public class PmsDistributionMonitorDTO { + + + private String id; + + private String name; + + private String orgName; + + private String powerStationName; + + private String platformName; + + private String lineName; + + private Integer monitorSort; + +} diff --git a/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/param/DistributionMonitorParam.java b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/param/DistributionMonitorParam.java index 8d21043f9..fde3bc084 100644 --- a/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/param/DistributionMonitorParam.java +++ b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/param/DistributionMonitorParam.java @@ -38,6 +38,8 @@ public class DistributionMonitorParam { @ApiModelProperty(value = "III类监测点小类 0.用电用户 1.发电用户 默认用电") private Integer smallType; + private Integer ifPowerUser; + @ApiModelProperty(value = "终端id") private String terminalId; diff --git a/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/param/PowerClientParam.java b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/param/PowerClientParam.java index 7cf123a09..4f66a8e75 100644 --- a/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/param/PowerClientParam.java +++ b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/param/PowerClientParam.java @@ -86,14 +86,14 @@ public class PowerClientParam { * 合同容量 */ @ApiModelProperty(value = "合同容量",required = true) - @NotBlank(message = "合同容量不可为空") + @NotNull(message = "合同容量不可为空") private Float contractCapacity; /** * 运行容量 */ @ApiModelProperty(value = "运行容量",required = true) - @NotBlank(message = "运行容量不可为空") + @NotNull(message = "运行容量不可为空") private Float operatingCapacity; /** @@ -157,14 +157,14 @@ public class PowerClientParam { * 是否影响电能质量:0-否;1:是; */ @ApiModelProperty(value = "是否影响电能质量:0-否;1:是;",required = true) - @NotBlank(message = "是否影响电能质量不可为空") + @NotNull(message = "是否影响电能质量不可为空") private Integer ifPowerQuality; /** * 是否重要客户:0-否;1:是; */ @ApiModelProperty(value = "是否重要客户:0-否;1:是;",required = true) - @NotBlank(message = "是否重要客户不可为空") + @NotNull(message = "是否重要客户不可为空") private Integer ifKeyCustomers; /** diff --git a/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/param/PowerGenerationUserParam.java b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/param/PowerGenerationUserParam.java index a7548b184..53c8d9c1e 100644 --- a/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/param/PowerGenerationUserParam.java +++ b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/param/PowerGenerationUserParam.java @@ -1,5 +1,6 @@ package com.njcn.device.pms.pojo.param; +import com.njcn.web.pojo.annotation.DateTimeStrValid; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -9,7 +10,7 @@ import java.time.LocalDate; /** * pms-device - * + * 发电用户 * @author cdf * @date 2022/10/27 */ @@ -93,7 +94,7 @@ public class PowerGenerationUserParam { * 总装机容量 */ @ApiModelProperty(value = "总装机容量",required = true) - @NotBlank(message = "总装机容量不可为空") + @NotNull(message = "总装机容量不可为空") private Float sourceCapacity; /** @@ -101,7 +102,8 @@ public class PowerGenerationUserParam { */ @ApiModelProperty(value = "并网日期",required = true) @NotBlank(message = "并网日期不可为空") - private LocalDate connectionDate; + @DateTimeStrValid(format = "yyyy-MM-dd",message = "并网日期格式有误") + private String connectionDate; /** * 能源消纳方式(字典) diff --git a/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/param/TerminalQueryParam.java b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/param/TerminalQueryParam.java index f7e4059ca..03d4bc078 100644 --- a/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/param/TerminalQueryParam.java +++ b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/param/TerminalQueryParam.java @@ -22,4 +22,7 @@ public class TerminalQueryParam extends BaseParam { @ApiModelProperty(value = "装置类别(字典)") private String deviceCategory; + @ApiModelProperty(value = "监测点标签(字典)") + private String monitorTag; + } diff --git a/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/po/TerminalLog.java b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/po/TerminalLog.java new file mode 100644 index 000000000..a4fa41e03 --- /dev/null +++ b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/po/TerminalLog.java @@ -0,0 +1,66 @@ +package com.njcn.device.pms.pojo.po; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.njcn.db.bo.BaseEntity; +import java.io.Serializable; +import java.time.LocalDateTime; + +import lombok.Data; +import lombok.Getter; +import lombok.Setter; +import lombok.extern.slf4j.Slf4j; + +/** + *

+ * + *

+ * + * @author hongawen + * @since 2023-02-23 + */ +@Data +@TableName("pms_terminal_log") +public class TerminalLog extends BaseEntity implements Serializable,Cloneable { + + private static final long serialVersionUID = 1L; + + private String id; + + /** + * 0.电站 1.装置 2.台区 3.线路 4.监测点 + */ + private Integer type; + + /** + * 0.非监测点 1.主网监测点 2.配网监测点 + */ + private Integer monitorType; + + /** + * 操作对象索引(外键) + */ + private String objId; + + /** + * 操作描述 + */ + private String operatorDescribe; + + /** + * 操作结果 0.失败 1.成功 + */ + private Integer results; + + /** + * 0.删除 1.正常 + */ + private Integer status; + + + + @TableField(exist = false) + private Boolean operationStatus; + + +} diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/component/TerminalLoggerAspect.java b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/component/TerminalLoggerAspect.java new file mode 100644 index 000000000..eb46f918b --- /dev/null +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/component/TerminalLoggerAspect.java @@ -0,0 +1,400 @@ +package com.njcn.device.pms.component; + +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.json.JSONArray; +import cn.hutool.json.JSONObject; +import com.alibaba.fastjson.JSON; +import com.njcn.common.pojo.enums.common.DataStateEnum; +import com.njcn.common.pojo.enums.response.CommonResponseEnum; +import com.njcn.common.pojo.response.HttpResult; +import com.njcn.device.pms.annotation.TerminalOperationLogDesc; +import com.njcn.device.pms.mapper.majornetwork.*; +import com.njcn.device.pms.pojo.dto.PmsDistributionMonitorDTO; +import com.njcn.device.pms.pojo.param.*; +import com.njcn.device.pms.pojo.po.*; +import com.njcn.device.pms.service.majornetwork.IDistributionMonitorService; +import com.njcn.device.pms.service.majornetwork.ITerminalLogService; +import com.njcn.device.pms.service.majornetwork.ITerminalService; +import com.njcn.web.utils.RequestUtil; +import io.netty.util.concurrent.FastThreadLocal; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.aspectj.lang.JoinPoint; +import org.aspectj.lang.annotation.*; +import org.aspectj.lang.reflect.MethodSignature; +import org.springframework.stereotype.Component; +import org.springframework.validation.BindingResult; +import org.springframework.web.context.request.RequestContextHolder; +import org.springframework.web.context.request.ServletRequestAttributes; +import org.springframework.web.multipart.MultipartFile; + +import javax.security.auth.Subject; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.lang.reflect.Method; +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; +import java.util.*; + +/** + * pqs + * + * @author cdf + * @date 2023/2/23 + */ +@Aspect +@Component +@Slf4j +@RequiredArgsConstructor +public class TerminalLoggerAspect { + + private final ITerminalLogService iTerminalLogService; + + private final IDistributionMonitorService iDistributionMonitorService; + + private final MonitorMapper monitorMapper; + + private final StatationStatMapper statationStatMapper; + + private final TerminalMapper terminalMapper; + + private final PmsGeneratrixWireMapper pmsGeneratrixWireMapper; + + private final PowerDistributionareaMapper powerDistributionareaMapper; + + private final PowerGenerationUserMapper powerGenerationUserMapper; + + private final PowerClientMapper powerClientMapper; + + + /** + * FastThreadLocal 依赖于 netty,如果不想用netty,可以使用jdk自带的 ThreadLocal + */ + final FastThreadLocal> logFastThreadLocal = new FastThreadLocal<>(); + final DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy年MM月dd日 HH:mm:ss"); + + + /** + * 切入连接点,使用固定 controller层下的所有文件 + */ + @Pointcut(value = "execution(* com.njcn.device.pms.controller.ledgerManger..*(..)))") + public void logPointcut() { + } + + /** + * 请求前置通知 + */ + @Before("logPointcut()") + public void beforLogger(JoinPoint joinPoint) { + + String userName = RequestUtil.getUsername(); + + // 验证请求方法是否带有操作日志注解 + Method signature = ((MethodSignature) joinPoint.getSignature()).getMethod(); + TerminalOperationLogDesc operationLogDesc = signature.getAnnotation(TerminalOperationLogDesc.class); + if (operationLogDesc != null) { + log.info("--------台账日志操作开始记录--------"); + int type = operationLogDesc.module(); + // 操作日志记录 + List terminalLogList = new ArrayList<>(); + String msg = argsArrayToString(joinPoint.getArgs()); + if (msg.startsWith("[")) { + JSONArray jsonArray = new JSONArray(msg); + + switch (type) { + case 0: + jsonArray.forEach(item -> { + StatationStat statationStat = statationStatMapper.selectById(item.toString()); + if (Objects.nonNull(statationStat)) { + String mubiao = statationStat.getOrgName() + "_" + statationStat.getPowerName(); + TerminalLog terminalLog = assTerminalLog(type, operationLogDesc.value(), mubiao); + terminalLogList.add(terminalLog); + } + }); + break; + case 1: + jsonArray.forEach(item -> { + PmsTerminal pmsTerminal = terminalMapper.selectById(item.toString()); + if (Objects.nonNull(pmsTerminal)) { + String mubiao = pmsTerminal.getOrgName() + "_" + pmsTerminal.getPowerrName() + "_" + pmsTerminal.getName(); + TerminalLog terminalLog = assTerminalLog(type, operationLogDesc.value(), mubiao); + terminalLogList.add(terminalLog); + } + }); + break; + case 2: + jsonArray.forEach(item -> { + GeneratrixWire generatrixWire = pmsGeneratrixWireMapper.selectById(item.toString()); + if (Objects.nonNull(generatrixWire)) { + String mubiao = generatrixWire.getStationName() + "_" + generatrixWire.getName(); + TerminalLog terminalLog = assTerminalLog(type, operationLogDesc.value(), mubiao); + terminalLogList.add(terminalLog); + } + }); + + break; + case 3: + jsonArray.forEach(item -> { + PowerDistributionarea powerDistributionarea = powerDistributionareaMapper.selectById(item.toString()); + if (Objects.nonNull(powerDistributionarea)) { + String mubiao = powerDistributionarea.getOrgName() + "_" + powerDistributionarea.getPowerrName() + "_" + powerDistributionarea.getLineName() + "_" + powerDistributionarea.getName(); + TerminalLog terminalLog = assTerminalLog(type, operationLogDesc.value(), mubiao); + terminalLogList.add(terminalLog); + } + }); + break; + case 4: + jsonArray.forEach(item -> { + PowerGenerationUser powerGenerationUser = powerGenerationUserMapper.selectById(item.toString()); + if (Objects.nonNull(powerGenerationUser)) { + String mubiao = powerGenerationUser.getOrgName() + "_" + powerGenerationUser.getName(); + TerminalLog terminalLog = assTerminalLog(type, operationLogDesc.value(), mubiao); + terminalLogList.add(terminalLog); + } + }); + break; + case 5: + jsonArray.forEach(item -> { + PowerClient powerClient = powerClientMapper.selectById(item.toString()); + if (Objects.nonNull(powerClient)) { + String mubiao = powerClient.getOrgName() + "_" + powerClient.getName(); + TerminalLog terminalLog = assTerminalLog(type, operationLogDesc.value(), mubiao); + terminalLogList.add(terminalLog); + } + }); + break; + case 6: + jsonArray.forEach(item -> { + Monitor monitor = monitorMapper.selectById(item.toString()); + if (Objects.nonNull(monitor)) { + String mubiao = monitor.getOrgName() + "_" + monitor.getPowerrName() + "_" + monitor.getName(); + TerminalLog terminalLog = assTerminalLog(type, operationLogDesc.value(), mubiao); + terminalLogList.add(terminalLog); + } + }); + break; + case 7: + + jsonArray.forEach(item -> { + DistributionMonitor distributionMonitor = iDistributionMonitorService.getById(item.toString()); + if (Objects.nonNull(distributionMonitor)) { + PmsDistributionMonitorDTO pmsDistributionMonitorDTO = iDistributionMonitorService.distributionMonitorDetail(distributionMonitor.getMonitorId(), distributionMonitor.getMonitorSort(), distributionMonitor.getIfPowerUser()); + if (Objects.nonNull(pmsDistributionMonitorDTO)) { + if (pmsDistributionMonitorDTO.getMonitorSort() == 1) { + String mubiao = pmsDistributionMonitorDTO.getOrgName() + "_" + pmsDistributionMonitorDTO.getPowerStationName() + "_" + pmsDistributionMonitorDTO.getLineName() + "_" + pmsDistributionMonitorDTO.getName(); + TerminalLog terminalLog = assTerminalLog(type, operationLogDesc.value(), mubiao); + terminalLogList.add(terminalLog); + } else if (pmsDistributionMonitorDTO.getMonitorSort() == 2) { + String mubiao = pmsDistributionMonitorDTO.getOrgName() + "_" + pmsDistributionMonitorDTO.getPowerStationName() + "_" + pmsDistributionMonitorDTO.getLineName() + "_" + pmsDistributionMonitorDTO.getName(); + TerminalLog terminalLog = assTerminalLog(type, operationLogDesc.value(), mubiao); + terminalLogList.add(terminalLog); + } else { + String mubiao = pmsDistributionMonitorDTO.getOrgName() + "_" + pmsDistributionMonitorDTO.getPowerStationName() + "_" + pmsDistributionMonitorDTO.getLineName() + "_" + pmsDistributionMonitorDTO.getPlatformName() + "_" + pmsDistributionMonitorDTO.getName(); + TerminalLog terminalLog = assTerminalLog(type, operationLogDesc.value(), mubiao); + terminalLogList.add(terminalLog); + } + } + } + }); + break; + default: + break; + } + } else { + TerminalLog operationLog = new TerminalLog(); + operationLog.setStatus(DataStateEnum.ENABLE.getCode()); + operationLog.setOperationStatus(true); + operationLog.setCreateBy(RequestUtil.getUserIndex()); + operationLog.setUpdateBy(RequestUtil.getUserIndex()); + operationLog.setCreateTime(LocalDateTime.now()); + operationLog.setUpdateTime(LocalDateTime.now()); + JSONObject jsonObject = new JSONObject(msg); + operationLog.setType(type); + switch (type) { + + case 0: + StatationStatParam statationStat = jsonObject.toBean(StatationStatParam.class); + if (Objects.nonNull(statationStat)) { + operationLog.setOperatorDescribe(userName + "进行" + operationLogDesc.value() + "操作,目标电站:" + statationStat.getOrgName() + "_" + statationStat.getPowerName()); + } + break; + case 1: + PmsTerminalParam terminalParam = jsonObject.toBean(PmsTerminalParam.class); + if (Objects.nonNull(terminalParam)) { + operationLog.setOperatorDescribe(userName + "进行" + operationLogDesc.value() + "操作,目标终端:" + terminalParam.getOrgName() + "_" + terminalParam.getPowerrName() + "_" + terminalParam.getName()); + } + break; + case 2: + GeneratrixWireParam generatrixWireParam = jsonObject.toBean(GeneratrixWireParam.class); + if (Objects.nonNull(generatrixWireParam)) { + operationLog.setOperatorDescribe(userName + "进行" + operationLogDesc.value() + "操作,目标线路:" + generatrixWireParam.getStationName() + "_" + generatrixWireParam.getName()); + } + break; + case 3: + PowerDistributionareaParam powerDistributionareaParam = jsonObject.toBean(PowerDistributionareaParam.class); + if (Objects.nonNull(powerDistributionareaParam)) { + operationLog.setOperatorDescribe(userName + "进行" + operationLogDesc.value() + "操作,目标台区:" + powerDistributionareaParam.getOrgName() + "_" + powerDistributionareaParam.getPowerrName() + "_" + powerDistributionareaParam.getLineName() + "_" + powerDistributionareaParam.getName()); + } + break; + case 4: + PowerGenerationUserParam powerGenerationUserParam = jsonObject.toBean(PowerGenerationUserParam.class); + if (Objects.nonNull(powerGenerationUserParam)) { + operationLog.setOperatorDescribe(userName + "进行" + operationLogDesc.value() + "操作,目标发电用户:" + powerGenerationUserParam.getOrgName() + "_" + powerGenerationUserParam.getName()); + } + break; + case 5: + PowerClientParam powerClientParam = jsonObject.toBean(PowerClientParam.class); + if (Objects.nonNull(powerClientParam)) { + operationLog.setOperatorDescribe(userName + "进行" + operationLogDesc.value() + "操作,目标用电用户:" + powerClientParam.getOrgName() + "_" + powerClientParam.getName()); + } + break; + case 6: + MonitorParam monitorParam = jsonObject.toBean(MonitorParam.class); + if (Objects.nonNull(monitorParam)) { + operationLog.setOperatorDescribe(userName + "进行" + operationLogDesc.value() + "操作,目标主网监测点:" + monitorParam.getOrgName() + "_" + monitorParam.getPowerrName() + "_" + monitorParam.getName()); + } + break; + case 7: + DistributionMonitorParam distributionMonitorParam = jsonObject.toBean(DistributionMonitorParam.class); + if (Objects.nonNull(distributionMonitorParam)) { + PmsDistributionMonitorDTO pmsDistributionMonitorDTO = iDistributionMonitorService.distributionMonitorDetail(distributionMonitorParam.getMonitorId(), distributionMonitorParam.getMonitorSort(), distributionMonitorParam.getIfPowerUser()); + if (Objects.nonNull(pmsDistributionMonitorDTO)) { + if (pmsDistributionMonitorDTO.getMonitorSort() == 1) { + operationLog.setOperatorDescribe(userName + "进行" + operationLogDesc.value() + "操作,目标配网监测点:" + pmsDistributionMonitorDTO.getOrgName() + "_" + pmsDistributionMonitorDTO.getPowerStationName() + "_" + pmsDistributionMonitorDTO.getLineName() + "_" + pmsDistributionMonitorDTO.getName()); + } else if (pmsDistributionMonitorDTO.getMonitorSort() == 2) { + operationLog.setOperatorDescribe(userName + "进行" + operationLogDesc.value() + "操作,目标配网监测点:" + pmsDistributionMonitorDTO.getOrgName() + "_" + pmsDistributionMonitorDTO.getPowerStationName() + "_" + pmsDistributionMonitorDTO.getLineName() + "_" + pmsDistributionMonitorDTO.getName()); + } else { + operationLog.setOperatorDescribe(userName + "进行" + operationLogDesc.value() + "操作,目标配网监测点:" + pmsDistributionMonitorDTO.getOrgName() + "_" + pmsDistributionMonitorDTO.getPlatformName() + "_" + pmsDistributionMonitorDTO.getName()); + } + } + } + break; + default: + break; + } + terminalLogList.add(operationLog); + } + + if (CollectionUtil.isNotEmpty(terminalLogList)) { + logFastThreadLocal.set(terminalLogList); + } + + } + } + + + + private TerminalLog assTerminalLog(Integer type, String top, String mubiao) { + TerminalLog operationLog = new TerminalLog(); + operationLog.setStatus(DataStateEnum.ENABLE.getCode()); + operationLog.setOperationStatus(true); + operationLog.setCreateBy(RequestUtil.getUserIndex()); + operationLog.setUpdateBy(RequestUtil.getUserIndex()); + operationLog.setCreateTime(LocalDateTime.now()); + operationLog.setUpdateTime(LocalDateTime.now()); + operationLog.setType(type); + operationLog.setOperatorDescribe(RequestUtil.getUsername() + "进行" + top + "操作,目标:" + mubiao); + return operationLog; + } + + /** + * 请求后置通知,请求完成会进入到这个方法 + * + * @param result 响应结果json + */ + @AfterReturning(value = "logPointcut()", returning = "result") + public void afterReturningLogger(Object result) { + // 保存操作日志 + if (logFastThreadLocal.isSet()) { + List operationLogList = logFastThreadLocal.get(); + + if (CollectionUtil.isNotEmpty(operationLogList)) { + for (TerminalLog terminalLog : operationLogList) { + boolean flag = terminalLog.getOperationStatus(); + if (flag) { + JSONObject jsonObject = new JSONObject(result); + HttpResult httpResult = jsonObject.toBean(HttpResult.class); + if (CommonResponseEnum.SUCCESS.getCode().equals(httpResult.getCode())) { + terminalLog.setResults(1); + } else { + terminalLog.setResults(0); + } + } else { + terminalLog.setResults(0); + } + + // 调用具体的 service 保存到数据库中 + iTerminalLogService.save(terminalLog); + + } + } + // 移除本地线程数据 + logFastThreadLocal.remove(); + } + + } + + + /** + * 异常通知,请求异常会进入到这个方法 + */ + @AfterThrowing(value = "logPointcut()", throwing = "throwable") + public void throwingLogger(Throwable throwable) { + + //log.error("ErrorMessage:请根据异常产生时间前往异常日志查看相关信息"); + // 保存操作日志 + if (logFastThreadLocal.isSet()) { + List operationLogList = logFastThreadLocal.get(); + if (CollectionUtil.isNotEmpty(operationLogList)) { + operationLogList.forEach(item -> item.setOperationStatus(false)); + // 移除本地线程数据 + logFastThreadLocal.remove(); + } + } + + } + + + /** + * 参数拼装 + */ + private String argsArrayToString(Object[] paramsArray) { + String params = ""; + if (paramsArray != null && paramsArray.length > 0) { + for (Object o : paramsArray) { + if (null != o && !isFilterObject(o)) { + try { + Object jsonObj = JSON.toJSON(o); + params += jsonObj.toString() + " "; + } catch (Exception e) { + } + } + } + } + return params.trim(); + } + + @SuppressWarnings("rawtypes") + public boolean isFilterObject(final Object o) { + Class clazz = o.getClass(); + if (clazz.isArray()) { + return clazz.getComponentType().isAssignableFrom(MultipartFile.class); + } else if (Collection.class.isAssignableFrom(clazz)) { + Collection collection = (Collection) o; + for (Object value : collection) { + return value instanceof MultipartFile; + } + } else if (Map.class.isAssignableFrom(clazz)) { + Map map = (Map) o; + for (Object value : map.entrySet()) { + Map.Entry entry = (Map.Entry) value; + return entry.getValue() instanceof MultipartFile; + } + } + return o instanceof MultipartFile || o instanceof HttpServletRequest || o instanceof HttpServletResponse + || o instanceof BindingResult; + } + + +} diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/ledgerManger/PmsDistributionMonitorController.java b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/ledgerManger/PmsDistributionMonitorController.java index 36ee02918..0d7223734 100644 --- a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/ledgerManger/PmsDistributionMonitorController.java +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/ledgerManger/PmsDistributionMonitorController.java @@ -2,18 +2,25 @@ package com.njcn.device.pms.controller.ledgerManger; import cn.hutool.core.collection.CollectionUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.njcn.common.pojo.annotation.OperateInfo; import com.njcn.common.pojo.constant.OperateType; +import com.njcn.common.pojo.enums.common.DataStateEnum; 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.device.pms.annotation.TerminalOperationLogDesc; +import com.njcn.device.pms.pojo.dto.PmsDistributionMonitorDTO; import com.njcn.device.pms.pojo.param.DistributionMonitorParam; import com.njcn.device.pms.pojo.param.MonitorStatus; import com.njcn.device.pms.pojo.param.TaiZhangDelParam; import com.njcn.device.pms.pojo.po.DistributionMonitor; +import com.njcn.device.pms.pojo.po.TerminalLog; import com.njcn.device.pms.pojo.vo.DoubleUserVO; import com.njcn.device.pms.service.majornetwork.IDistributionMonitorService; +import com.njcn.device.pms.service.majornetwork.ITerminalLogService; +import com.njcn.web.utils.RequestUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; @@ -25,8 +32,11 @@ import org.springframework.web.bind.annotation.*; import com.njcn.web.controller.BaseController; +import java.time.LocalDateTime; +import java.util.ArrayList; import java.util.List; import java.util.Objects; +import java.util.stream.Collectors; /** *

@@ -45,6 +55,8 @@ public class PmsDistributionMonitorController extends BaseController { private final IDistributionMonitorService iDistributionMonitorService; + private final ITerminalLogService iTerminalLogService; + /** * 新增配网监测点表 * @author cdf @@ -54,6 +66,7 @@ public class PmsDistributionMonitorController extends BaseController { @ApiImplicitParam(name = "distributionMonitorParam",value = "配网监测点实体",required = true) @OperateInfo(info = LogEnum.BUSINESS_COMMON,operateType = OperateType.ADD) @ApiOperation("新增配网监测点") + @TerminalOperationLogDesc(value = "新增配网监测点",module = 7) public HttpResult addDistributionMonitor(@RequestBody @Validated DistributionMonitorParam distributionMonitorParam){ String methodDescribe = getMethodDescribe("addDistributionMonitor"); boolean res= iDistributionMonitorService.addDistributionMonitor(distributionMonitorParam); @@ -74,6 +87,7 @@ public class PmsDistributionMonitorController extends BaseController { @ApiImplicitParam(name = "distributionMonitorParam",value = "配网监测点实体",required = true) @OperateInfo(info = LogEnum.BUSINESS_COMMON,operateType = OperateType.UPDATE) @ApiOperation("修改配网监测点") + @TerminalOperationLogDesc(value = "修改配网监测点",module = 7) public HttpResult updateDistributionMonitor(@RequestBody @Validated DistributionMonitorParam distributionMonitorParam){ String methodDescribe = getMethodDescribe("updateDistributionMonitor"); boolean res= iDistributionMonitorService.updateDistributionMonitor(distributionMonitorParam); @@ -175,14 +189,56 @@ public class PmsDistributionMonitorController extends BaseController { @ApiOperation("删除配网监测点") public HttpResult delDistributionMonitor(@RequestBody @Validated TaiZhangDelParam taiZhangDelParam){ String methodDescribe = getMethodDescribe("delDistributionMonitor"); + + List terminalLogList = new ArrayList<>(); + for(String item : taiZhangDelParam.getIds()){ + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper.eq(DistributionMonitor::getMonitorId,item); + DistributionMonitor distributionMonitor = iDistributionMonitorService.getOne(lambdaQueryWrapper); + if (Objects.nonNull(distributionMonitor)) { + PmsDistributionMonitorDTO pmsDistributionMonitorDTO = iDistributionMonitorService.distributionMonitorDetail(distributionMonitor.getMonitorId(), distributionMonitor.getMonitorSort(), distributionMonitor.getIfPowerUser()); + if (Objects.nonNull(pmsDistributionMonitorDTO)) { + String mubiao = ""; + if (pmsDistributionMonitorDTO.getMonitorSort() == 1) { + mubiao = pmsDistributionMonitorDTO.getOrgName() + "_" + pmsDistributionMonitorDTO.getPowerStationName() + "_" + pmsDistributionMonitorDTO.getLineName() + "_" + pmsDistributionMonitorDTO.getName(); + } else if (pmsDistributionMonitorDTO.getMonitorSort() == 2) { + mubiao = pmsDistributionMonitorDTO.getOrgName() + "_" + pmsDistributionMonitorDTO.getPowerStationName() + "_" + pmsDistributionMonitorDTO.getLineName() + "_" + pmsDistributionMonitorDTO.getName(); + } else { + mubiao = pmsDistributionMonitorDTO.getOrgName() +"_"+ pmsDistributionMonitorDTO.getPlatformName() + "_" + pmsDistributionMonitorDTO.getName(); + } + TerminalLog terminalLog = assTerminalLog(7, "删除配网监测点", mubiao); + terminalLog.setResults(1); + terminalLogList.add(terminalLog); + } + } + }; boolean res= iDistributionMonitorService.delDistributionMonitor(taiZhangDelParam); + + + if(res){ + iTerminalLogService.saveBatch(terminalLogList); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe); }else { + terminalLogList = terminalLogList.stream().peek(item->item.setResults(0)).collect(Collectors.toList()); + iTerminalLogService.saveBatch(terminalLogList); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.FAIL, null, methodDescribe); } } + private TerminalLog assTerminalLog(Integer type, String top, String mubiao) { + TerminalLog operationLog = new TerminalLog(); + operationLog.setStatus(DataStateEnum.ENABLE.getCode()); + operationLog.setOperationStatus(true); + operationLog.setCreateBy(RequestUtil.getUserIndex()); + operationLog.setUpdateBy(RequestUtil.getUserIndex()); + operationLog.setCreateTime(LocalDateTime.now()); + operationLog.setUpdateTime(LocalDateTime.now()); + operationLog.setType(type); + operationLog.setOperatorDescribe(RequestUtil.getUsername() + "进行" + top + "操作,目标:" + mubiao); + return operationLog; + } + @OperateInfo(info = LogEnum.BUSINESS_COMMON,operateType = OperateType.UPDATE) @PostMapping("/updateStatus") @ApiOperation("修改配网监测点数据状态") diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/ledgerManger/PmsGeneratrixWireController.java b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/ledgerManger/PmsGeneratrixWireController.java index 6641b8828..5e1c94437 100644 --- a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/ledgerManger/PmsGeneratrixWireController.java +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/ledgerManger/PmsGeneratrixWireController.java @@ -8,6 +8,7 @@ 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.device.pms.annotation.TerminalOperationLogDesc; import com.njcn.device.pms.pojo.dto.GeneratrixAndPowerStationDTO; import com.njcn.device.pms.pojo.dto.GeneratrixAndPowerStationSonDTO; import com.njcn.device.pms.pojo.dto.PmsGeneratrixDTO; @@ -51,6 +52,7 @@ public class PmsGeneratrixWireController extends BaseController { @PostMapping("/addGeneratrixWire") @ApiOperation("新增线路") @ApiImplicitParam(name = "generatrixWireParam", value = "线路实体", required = true) + @TerminalOperationLogDesc(value = "新增线路",module = 2) public HttpResult addGeneratrixWire(@RequestBody @Validated GeneratrixWireParam generatrixWireParam) { String methodDescribe = getMethodDescribe("addGeneratrixWire"); boolean result = iGeneratrixWireService.addGeneratrixWire(generatrixWireParam); @@ -65,6 +67,7 @@ public class PmsGeneratrixWireController extends BaseController { @PostMapping("/updateGeneratrixWire") @ApiOperation("修改线路") @ApiImplicitParam(name = "generatrixWireParam", value = "线路实体", required = true) + @TerminalOperationLogDesc(value = "修改线路",module = 2) public HttpResult updateGeneratrixWire(@RequestBody @Validated GeneratrixWireParam generatrixWireParam) { String methodDescribe = getMethodDescribe("updateGeneratrixWire"); boolean result = iGeneratrixWireService.updateGeneratrixWire(generatrixWireParam); @@ -79,6 +82,7 @@ public class PmsGeneratrixWireController extends BaseController { @DeleteMapping("/delGeneratrixWire") @ApiOperation("删除线路") @ApiImplicitParam(name = "generatrixWireIds", value = "线路ids", required = true) + @TerminalOperationLogDesc(value = "删除线路",module = 2) public HttpResult delGeneratrixWire(@RequestBody @NotEmpty(message = "线路id不可为空") List generatrixWireIds) { String methodDescribe = getMethodDescribe("delGeneratrixWire"); boolean result = iGeneratrixWireService.delGeneratrixWire(generatrixWireIds); diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/ledgerManger/PmsMonitorController.java b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/ledgerManger/PmsMonitorController.java index 8d471f64a..ea58686ef 100644 --- a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/ledgerManger/PmsMonitorController.java +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/ledgerManger/PmsMonitorController.java @@ -8,6 +8,7 @@ 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.device.pms.annotation.TerminalOperationLogDesc; import com.njcn.device.pms.pojo.dto.PmsMonitorDTO; import com.njcn.device.pms.pojo.dto.PmsMonitorInfoDTO; import com.njcn.device.pms.pojo.param.TerminalQueryParam; @@ -175,6 +176,7 @@ public class PmsMonitorController extends BaseController { @PostMapping("/addMonitor") @ApiOperation("新增主网监测点") @ApiImplicitParam(name = "monitorParam", value = "主网监测点实体", required = true) + @TerminalOperationLogDesc(value = "新增主网监测点",module = 6) public HttpResult addMonitor(@RequestBody @Validated MonitorParam monitorParam) { String methodDescribe = getMethodDescribe("addMonitor"); boolean result = monitorService.addMonitor(monitorParam); @@ -188,6 +190,7 @@ public class PmsMonitorController extends BaseController { @OperateInfo(info = LogEnum.BUSINESS_COMMON,operateType = OperateType.UPDATE) @PostMapping("/updateMonitor") @ApiOperation("修改主网监测点") + @TerminalOperationLogDesc(value = "修改主网监测点",module = 6) @ApiImplicitParam(name = "monitorParam", value = "主网监测点实体", required = true) public HttpResult updateMonitor(@RequestBody @Validated MonitorParam monitorParam) { String methodDescribe = getMethodDescribe("updateMonitor"); @@ -202,6 +205,7 @@ public class PmsMonitorController extends BaseController { @OperateInfo(info = LogEnum.BUSINESS_COMMON,operateType = OperateType.UPDATE) @DeleteMapping("/delMonitor") @ApiOperation("删除主网监测点") + @TerminalOperationLogDesc(value = "删除主网监测点",module = 6) @ApiImplicitParam(name = "monitorIds", value = "主网监测点ids", required = true) public HttpResult delMonitor(@RequestBody @NotEmpty(message = "主网监测点id不可为空") List monitorIds) { String methodDescribe = getMethodDescribe("delMonitor"); @@ -227,6 +231,7 @@ public class PmsMonitorController extends BaseController { @ApiImplicitParam(name = "type", value = "0.主网 1.配网", required = true), @ApiImplicitParam(name = "lineIds", value = "监测点ids", required = true) }) + @TerminalOperationLogDesc(value = "退役服役监测点",module = 6) public HttpResult retirementMonitor(@NotNull(message = "监测类别不可为空") @RequestParam("type") Integer type, @NotEmpty(message = "监测点不可为空") @RequestBody List lineIds) { String methodDescribe = getMethodDescribe("retirementMonitor"); diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/ledgerManger/PmsPowerClientController.java b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/ledgerManger/PmsPowerClientController.java index e6e445ccf..4eb375714 100644 --- a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/ledgerManger/PmsPowerClientController.java +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/ledgerManger/PmsPowerClientController.java @@ -8,6 +8,7 @@ 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.device.pms.annotation.TerminalOperationLogDesc; import com.njcn.device.pms.pojo.param.PowerClientParam; import com.njcn.device.pms.pojo.param.PowerUserParam; import com.njcn.device.pms.pojo.po.PowerClient; @@ -18,6 +19,7 @@ import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; +import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import com.njcn.web.controller.BaseController; @@ -46,7 +48,8 @@ public class PmsPowerClientController extends BaseController { @PostMapping("/addPowerClient") @ApiOperation("新增用电用户") @ApiImplicitParam(name = "powerClientParam", value = "用电用户实体", required = true) - public HttpResult addPowerClient(@RequestBody PowerClientParam powerClientParam) { + @TerminalOperationLogDesc(value = "新增用电用户",module = 5) + public HttpResult addPowerClient(@RequestBody @Validated PowerClientParam powerClientParam) { String methodDescribe = getMethodDescribe("addPowerClient"); boolean result = iPowerClientService.addPowerClient(powerClientParam); if(result){ @@ -60,7 +63,8 @@ public class PmsPowerClientController extends BaseController { @PostMapping("/updatePowerClient") @ApiOperation("修改用电用户") @ApiImplicitParam(name = "powerClientParam", value = "用电用户实体", required = true) - public HttpResult updatePowerClient(@RequestBody PowerClientParam powerClientParam) { + @TerminalOperationLogDesc(value = "修改用电用户",module = 5) + public HttpResult updatePowerClient(@RequestBody @Validated PowerClientParam powerClientParam) { String methodDescribe = getMethodDescribe("updatePowerClient"); boolean result = iPowerClientService.updatePowerClient(powerClientParam); if(result){ @@ -74,6 +78,7 @@ public class PmsPowerClientController extends BaseController { @DeleteMapping("/delPowerClient") @ApiOperation("删除用电用户") @ApiImplicitParam(name = "powerClientIds", value = "用电用户ids", required = true) + @TerminalOperationLogDesc(value = "删除用电用户",module = 5) public HttpResult delPowerClient(@RequestBody @NotEmpty(message = "用电用户id不可为空") List powerClientIds) { String methodDescribe = getMethodDescribe("delPowerClient"); boolean result = iPowerClientService.delPowerClient(powerClientIds); diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/ledgerManger/PmsPowerDistributionareaController.java b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/ledgerManger/PmsPowerDistributionareaController.java index d238832fe..c4d1e1d33 100644 --- a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/ledgerManger/PmsPowerDistributionareaController.java +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/ledgerManger/PmsPowerDistributionareaController.java @@ -9,6 +9,7 @@ import com.njcn.common.pojo.enums.response.CommonResponseEnum; import com.njcn.common.pojo.response.HttpResult; import com.njcn.common.utils.HttpResultUtil; import com.njcn.common.utils.LogUtil; +import com.njcn.device.pms.annotation.TerminalOperationLogDesc; import com.njcn.device.pms.pojo.param.PmsBaseParam; import com.njcn.device.pms.pojo.param.PowerDistributionareaParam; import com.njcn.device.pms.pojo.po.PowerDistributionarea; @@ -91,6 +92,7 @@ public class PmsPowerDistributionareaController extends BaseController { @OperateInfo(info = LogEnum.SYSTEM_COMMON,operateType=OperateType.ADD) @ApiOperation("新增台区信息") @ApiImplicitParam(name = "newParam", value = "模板实体", required = true) + @TerminalOperationLogDesc(value = "新增台区信息",module = 3) public HttpResult add(@RequestBody @Validated PowerDistributionareaParam newParam){ String methodDescribe = getMethodDescribe("add"); boolean result = iPowerDistributionareaService.add(newParam); @@ -110,6 +112,7 @@ public class PmsPowerDistributionareaController extends BaseController { @OperateInfo(info = LogEnum.SYSTEM_COMMON,operateType = OperateType.UPDATE) @ApiOperation("修改台区信息") @ApiImplicitParam(name = "UpdateParam", value = "更新实体", required = true) + @TerminalOperationLogDesc(value = "修改台区信息",module = 3) public HttpResult update(@RequestBody @Validated PowerDistributionareaParam UpdateParam){ String methodDescribe = getMethodDescribe("update"); boolean result = iPowerDistributionareaService.update(UpdateParam); @@ -130,6 +133,7 @@ public class PmsPowerDistributionareaController extends BaseController { @OperateInfo(info = LogEnum.SYSTEM_COMMON, operateType = OperateType.DELETE) @ApiOperation("删除台区信息") @ApiImplicitParam(name = "ids", value = "ID索引", required = true) + @TerminalOperationLogDesc(value = "删除台区信息",module = 3) public HttpResult delete(@RequestBody List ids){ String methodDescribe = getMethodDescribe("delete"); boolean result = iPowerDistributionareaService.delete(ids); diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/ledgerManger/PmsPowerGenerationUserController.java b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/ledgerManger/PmsPowerGenerationUserController.java index 3a1f87b66..d9f90049f 100644 --- a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/ledgerManger/PmsPowerGenerationUserController.java +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/ledgerManger/PmsPowerGenerationUserController.java @@ -8,6 +8,7 @@ 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.device.pms.annotation.TerminalOperationLogDesc; import com.njcn.device.pms.pojo.param.PowerDistributionareaParam; import com.njcn.device.pms.pojo.param.PowerGenerationUserParam; import com.njcn.device.pms.pojo.param.PowerUserParam; @@ -18,6 +19,7 @@ import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; +import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import com.njcn.web.controller.BaseController; @@ -46,7 +48,8 @@ public class PmsPowerGenerationUserController extends BaseController { @PostMapping("/addPowerGenerationUser") @ApiOperation("新增发电用户") @ApiImplicitParam(name = "powerGenerationUserParam", value = "发电用户实体", required = true) - public HttpResult addPowerGenerationUser(@RequestBody PowerGenerationUserParam powerGenerationUserParam) { + @TerminalOperationLogDesc(value = "新增发电用户",module = 4) + public HttpResult addPowerGenerationUser(@RequestBody @Validated PowerGenerationUserParam powerGenerationUserParam) { String methodDescribe = getMethodDescribe("addPowerGenerationUser"); boolean result = iPowerGenerationUserService.addPowerGenerationUser(powerGenerationUserParam); if(result){ @@ -60,7 +63,8 @@ public class PmsPowerGenerationUserController extends BaseController { @PostMapping("/updatePowerGenerationUser") @ApiOperation("修改发电用户") @ApiImplicitParam(name = "powerGenerationUserParam", value = "发电用户实体", required = true) - public HttpResult updatePowerGenerationUser(@RequestBody PowerGenerationUserParam powerGenerationUserParam) { + @TerminalOperationLogDesc(value = "修改发电用户",module = 4) + public HttpResult updatePowerGenerationUser(@RequestBody @Validated PowerGenerationUserParam powerGenerationUserParam) { String methodDescribe = getMethodDescribe("updatePowerGenerationUser"); boolean result = iPowerGenerationUserService.updatePowerGenerationUser(powerGenerationUserParam); if(result){ @@ -74,6 +78,7 @@ public class PmsPowerGenerationUserController extends BaseController { @DeleteMapping("/delPowerGenerationUser") @ApiOperation("删除发电用户") @ApiImplicitParam(name = "powerGenerationUserIds", value = "发电用户ids", required = true) + @TerminalOperationLogDesc(value = "删除发电用户",module = 4) public HttpResult delPowerGenerationUser(@RequestBody @NotEmpty(message = "发电用户id不可为空") List powerGenerationUserIds) { String methodDescribe = getMethodDescribe("delPowerGenerationUser"); boolean result = iPowerGenerationUserService.delPowerGenerationUser(powerGenerationUserIds); diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/ledgerManger/PmsStatationStatController.java b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/ledgerManger/PmsStatationStatController.java index ee0a07001..c9c09a366 100644 --- a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/ledgerManger/PmsStatationStatController.java +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/ledgerManger/PmsStatationStatController.java @@ -8,6 +8,7 @@ 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.device.pms.annotation.TerminalOperationLogDesc; import com.njcn.device.pms.pojo.dto.PmsStatationStatInfoDTO; import com.njcn.device.pms.pojo.param.PmsBaseParam; import com.njcn.device.pms.pojo.param.StatationStatParam; @@ -72,7 +73,8 @@ public class PmsStatationStatController extends BaseController { @PostMapping("/addstatationStat") @ApiOperation("新增电站") @ApiImplicitParam(name = "statationStatParam", value = "电站实体", required = true) - public HttpResult addstatationStat(@RequestBody StatationStatParam statationStatParam) { + @TerminalOperationLogDesc(value = "新增电站",module = 0, events = "") + public HttpResult addstatationStat(@RequestBody @Validated StatationStatParam statationStatParam) { String methodDescribe = getMethodDescribe("addstatationStat"); boolean result = statationStatService.addStatationStat(statationStatParam); if (result) { @@ -80,13 +82,16 @@ public class PmsStatationStatController extends BaseController { } return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.FAIL, null, methodDescribe); + + } @OperateInfo(info = LogEnum.BUSINESS_COMMON, operateType = OperateType.UPDATE) @PostMapping("/updatestatationStat") @ApiOperation("修改电站") @ApiImplicitParam(name = "statationStatParam", value = "电站实体", required = true) - public HttpResult updatestatationStat(@RequestBody StatationStatParam statationStatParam) { + @TerminalOperationLogDesc(value = "修改电站",module = 0) + public HttpResult updatestatationStat(@RequestBody @Validated StatationStatParam statationStatParam) { String methodDescribe = getMethodDescribe("updatestatationStat"); boolean result = statationStatService.updateStatationStat(statationStatParam); if (result) { @@ -100,6 +105,7 @@ public class PmsStatationStatController extends BaseController { @DeleteMapping("/delstatationStat") @ApiOperation("删除电站") @ApiImplicitParam(name = "statationStatIds", value = "电站ids", required = true) + @TerminalOperationLogDesc(value = "删除电站",module = 0, events = "") public HttpResult delstatationStat(@RequestBody @NotEmpty(message = "电站id不可为空") List statationStatIds) { String methodDescribe = getMethodDescribe("delstatationStat"); boolean result = statationStatService.delStatationStat(statationStatIds); diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/ledgerManger/PmsTerminalController.java b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/ledgerManger/PmsTerminalController.java index 1d6a53f00..e11451feb 100644 --- a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/ledgerManger/PmsTerminalController.java +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/ledgerManger/PmsTerminalController.java @@ -9,6 +9,7 @@ import com.njcn.common.pojo.enums.response.CommonResponseEnum; import com.njcn.common.pojo.response.HttpResult; import com.njcn.common.utils.HttpResultUtil; import com.njcn.common.utils.LogUtil; +import com.njcn.device.pms.annotation.TerminalOperationLogDesc; import com.njcn.device.pms.pojo.param.PmsBaseParam; import com.njcn.device.pms.pojo.param.PmsTerminalParam; import com.njcn.device.pms.pojo.param.TerminalQueryParam; @@ -91,6 +92,7 @@ public class PmsTerminalController extends BaseController { @OperateInfo(info = LogEnum.SYSTEM_COMMON,operateType= OperateType.ADD) @ApiOperation("新增监测终端台账信息") @ApiImplicitParam(name = "terminalParam", value = "新增实体", required = true) + @TerminalOperationLogDesc(value = "新增监测终端台账信息",module = 1) public HttpResult add(@RequestBody @Validated PmsTerminalParam terminalParam){ String methodDescribe = getMethodDescribe("add"); boolean result = iTerminalService.add(terminalParam); @@ -110,6 +112,7 @@ public class PmsTerminalController extends BaseController { @OperateInfo(info = LogEnum.SYSTEM_COMMON,operateType = OperateType.UPDATE) @ApiOperation("修改监测终端台账信息") @ApiImplicitParam(name = "updateParam", value = "更新实体", required = true) + @TerminalOperationLogDesc(value = "修改监测终端台账信息",module = 1) public HttpResult update(@RequestBody @Validated PmsTerminalParam updateParam){ String methodDescribe = getMethodDescribe("update"); boolean result = iTerminalService.update(updateParam); diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/ledgerManger/TerminalLogController.java b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/ledgerManger/TerminalLogController.java new file mode 100644 index 000000000..d4df50f27 --- /dev/null +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/ledgerManger/TerminalLogController.java @@ -0,0 +1,22 @@ +package com.njcn.device.pms.controller.ledgerManger; + + +import org.springframework.web.bind.annotation.RequestMapping; + +import org.springframework.web.bind.annotation.RestController; +import com.njcn.web.controller.BaseController; + +/** + *

+ * 前端控制器 + *

+ * + * @author hongawen + * @since 2023-02-23 + */ +@RestController +@RequestMapping("/pms/terminalLog") +public class TerminalLogController extends BaseController { + +} + diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/majornetwork/DistributionMonitorMapper.java b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/majornetwork/DistributionMonitorMapper.java index 6041299d1..4fcb3d3c6 100644 --- a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/majornetwork/DistributionMonitorMapper.java +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/majornetwork/DistributionMonitorMapper.java @@ -65,4 +65,8 @@ public interface DistributionMonitorMapper extends BaseMapper distributionMonitorListByCondition(@Param("deptIds")List deptIds, @Param("monitorSort")String monitorSort); + + + + } diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/majornetwork/TerminalLogMapper.java b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/majornetwork/TerminalLogMapper.java new file mode 100644 index 000000000..7f7ca9c65 --- /dev/null +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/majornetwork/TerminalLogMapper.java @@ -0,0 +1,17 @@ +package com.njcn.device.pms.mapper.majornetwork; + + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.njcn.device.pms.pojo.po.TerminalLog; + +/** + *

+ * Mapper 接口 + *

+ * + * @author hongawen + * @since 2023-02-23 + */ +public interface TerminalLogMapper extends BaseMapper { + +} diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/majornetwork/mapping/StatationStatMapper.xml b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/majornetwork/mapping/StatationStatMapper.xml index 0c072c554..8e5c14b0a 100644 --- a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/majornetwork/mapping/StatationStatMapper.xml +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/majornetwork/mapping/StatationStatMapper.xml @@ -48,7 +48,7 @@