From fe318d1d277d5c78c155861c30c7ab378ead4903 Mon Sep 17 00:00:00 2001 From: zhaoxianglong Date: Fri, 26 Apr 2024 21:24:18 +0800 Subject: [PATCH 1/5] =?UTF-8?q?=E4=BC=98=E5=8C=96=E7=AE=A1=E6=8E=A7?= =?UTF-8?q?=E8=AE=B0=E5=BD=95=E5=AD=98=E5=82=A8=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../interfaces/OperationLogAspect.java | 100 ++++++++++++++++-- .../service/impl/DcOperLogServiceImpl.java | 5 +- 2 files changed, 97 insertions(+), 8 deletions(-) diff --git a/zc-business/src/main/java/com/zc/business/interfaces/OperationLogAspect.java b/zc-business/src/main/java/com/zc/business/interfaces/OperationLogAspect.java index 5117f35e..f65f09f2 100644 --- a/zc-business/src/main/java/com/zc/business/interfaces/OperationLogAspect.java +++ b/zc-business/src/main/java/com/zc/business/interfaces/OperationLogAspect.java @@ -27,6 +27,68 @@ import java.util.*; @Component public class OperationLogAspect { + + private final static Map DEVICEFUNCTIONNAME = new HashMap() {{ + put("1", new HashMap() {{ + }}); + put("2", new HashMap() {{ + put("11", "文件名发送"); + put("13", "文件发送"); + put("1B", "指定当前需要播放的清单"); + }}); + put("3", new HashMap() {{ + }}); + put("4", new HashMap() {{ + }}); + put("5", new HashMap() {{ + put("", "发布语音广播"); + }}); + put("6", new HashMap() {{ + }}); + put("7", new HashMap() {{ + }}); + put("8", new HashMap() {{ + put("01", "通信连接检查"); + put("0b", "配置装置参数"); + put("0d", "读取装置参数"); + put("0f", "读取装置状态数据"); + }}); + put("9", new HashMap() {{ + }}); + put("10", new HashMap() {{ + put("SETMD", "模式设定命令"); + put("ASKMD", "模式查询命令"); + put("SETTM", "工作时间设定命令"); + put("ASKTM", "工作时间查询命令"); + put("SETDF", "自定义模式设置"); + put("ASKDF", "自定义模式查询命令"); + }}); + put("11", new HashMap() {{ + }}); + put("12", new HashMap() {{ + put("51", "设备控制模式"); + put("52", "读取设备控制模式"); + put("30", "设置自动控制模式工作状态"); + put("3D", "读取自动控制模式工作状态"); + put("3C", "读取当前设备工作状态"); + }}); + put("13", new HashMap() {{ + }}); + put("14", new HashMap() {{ + }}); + put("15", new HashMap() {{ + put("A1", "查询数据"); + put("A2", "查询数据"); + put("A3", "查询数据"); + put("A4", "查询数据"); + put("A5", "查询数据"); + put("A6", "查询数据"); + }}); + put("16", new HashMap() {{ + }}); + }}; + + @AfterReturning(pointcut = "@annotation(operationLog)", returning = "jsonResult") public void AfterReturning(JoinPoint joinPoint, OperationLog operationLog, Object jsonResult) throws Throwable { System.out.println("运行成功"); @@ -110,10 +172,13 @@ public class OperationLogAspect { HashMap> pointArg = (HashMap>) pointArgs[0]; ArrayList devices = pointArg.get("devices"); ArrayList functions = pointArg.get("functions"); - //StringBuilder deviceIds = new StringBuilder(); - //StringBuilder functionIds = new StringBuilder(); + + //ArrayList deviceIds = new ArrayList<>(); - ArrayList functionIds = new ArrayList<>(); + //ArrayList functionIds = new ArrayList<>(); + String deviceType = ""; + + for (Object dev : devices) { JSONObject device = (JSONObject) JSON.toJSON(dev); LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); @@ -123,21 +188,42 @@ public class OperationLogAspect { DcDevice dcDevice = list.get(0); dcOperLog.setDcDeviceId(String.valueOf(dcDevice.getId())); dcOperLog.setDcDeviceName(dcDevice.getDeviceName()); - dcOperLog.setDcDeviceType(dcDevice.getDeviceType()); + deviceType = dcDevice.getDeviceType(); + dcOperLog.setDcDeviceType(deviceType); //deviceIds.add(String.valueOf(dcDevice.getId())); for (Object fun : functions) { JSONObject function = (JSONObject) JSON.toJSON(fun); dcOperLog.setOperParam(function.getString("params")); - //functionIds.add(function.getString("functionId")); - dcOperLog.setJsonResult(dcDevice.getDeviceName() + "设备在" + date + "调用" + sta + "ID为" + dcDevice.getId() + "的设备功能标识为" + function.getString("functionId") + "的方法"); + String functionId = function.getString("functionId"); + //functionIds.add(functionId); + String hashMap = String.valueOf(((HashMap) (DEVICEFUNCTIONNAME.get(deviceType))).get(functionId)); + dcOperLog.setJsonResult("设备" + dcDevice.getDeviceName() + "在" + date + "调用了" + hashMap + "功能并且调用" + sta + "了"); dcOperLogService.addDcOperLog(dcOperLog); } } } //String jsonResult1 = "设备在" + date + "调用" + sta + "ID为" + deviceIds + "的设备功能标识为" + functionIds + "的方法"; + //System.out.println(jsonResult1); //System.out.println(deviceIds.toString()); //System.out.println(functionIds.toString()); - //System.out.println(jsonResult1); + //DcOperLog operLog = new DcOperLog(); + //SysDept sysDept = deptService.selectDeptById(loginUser.getDeptId()); + //operLog.setOperParam((Arrays.toString(pointArgs))); + //operLog.setOperLocation(loginUser.getLoginLocation()); + //operLog.setOperName(loginUser.getUsername()); + //operLog.setDeptName(sysDept.getDeptName()); + //operLog.setDcDeviceId(deviceIds.toString()); + //operLog.setOperType("2"); + //operLog.setOperIp(IpUtils.getIpAddr(request)); + //operLog.setOperTime(new Date()); + //operLog.setDcDeviceType(deviceType); + //operLog.setJsonResult(jsonResult1); + //if (Objects.equals(state, "0")) { + // operLog.setStatus(0); + //} else { + // operLog.setStatus(1); + //} + //dcOperLogService.addDcOperLog(operLog); } else if (operUrl.contains("functions")) { LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); diff --git a/zc-business/src/main/java/com/zc/business/service/impl/DcOperLogServiceImpl.java b/zc-business/src/main/java/com/zc/business/service/impl/DcOperLogServiceImpl.java index 53bf6320..96362b29 100644 --- a/zc-business/src/main/java/com/zc/business/service/impl/DcOperLogServiceImpl.java +++ b/zc-business/src/main/java/com/zc/business/service/impl/DcOperLogServiceImpl.java @@ -52,7 +52,10 @@ public class DcOperLogServiceImpl extends ServiceImpl Date: Fri, 26 Apr 2024 21:24:53 +0800 Subject: [PATCH 2/5] =?UTF-8?q?=E4=BA=8B=E4=BB=B6=E5=A4=84=E7=BD=AE?= =?UTF-8?q?=E8=AE=B0=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/DcWarningServiceImpl.java | 15 --------------- 1 file changed, 15 deletions(-) diff --git a/zc-business/src/main/java/com/zc/business/service/impl/DcWarningServiceImpl.java b/zc-business/src/main/java/com/zc/business/service/impl/DcWarningServiceImpl.java index f547da0e..092a3abe 100644 --- a/zc-business/src/main/java/com/zc/business/service/impl/DcWarningServiceImpl.java +++ b/zc-business/src/main/java/com/zc/business/service/impl/DcWarningServiceImpl.java @@ -554,21 +554,6 @@ public class DcWarningServiceImpl implements IDcWarningService } } } - //事件处置流程记录 - DcEventProcess dcEventProcess = new DcEventProcess(); - dcEventProcess.setEventId(dcEvent.getId()); - dcEventProcess.setSource(1); - List processConfigList = dcProcessConfigMapper.selectDcProcessConfigByEventType(dcEvent.getEventType().intValue()); - if (processConfigList != null && processConfigList.size() > 0){ - DcProcessConfig dcProcessConfig = processConfigList.get(0); - dcEventProcess.setProcessType(1); - dcEventProcess.setProcessId(Long.valueOf(dcProcessConfig.getNodeNode())); - dcEventProcess.setProcessName(dcProcessConfig.getProcessNode()); - } - String sourceName = ValueConverter.eventSourceName(dcEvent.getEventSource().toString()); - String typeName = ValueConverter.eventTypeName(dcEvent.getEventType().toString()); - dcEventProcess.setContext("由" + sourceName + "上报了一起" + typeName + "事件"); - dcEventProcessService.insertDcEventProcess(dcEventProcess); return AjaxResult.success("操作成功"); From 4b81bce46732b5c057ff12c2b0f3c03448cc1a9b Mon Sep 17 00:00:00 2001 From: zhaoxianglong Date: Fri, 26 Apr 2024 23:41:06 +0800 Subject: [PATCH 3/5] =?UTF-8?q?=E4=BC=98=E5=8C=96=E5=AE=9A=E6=97=B6?= =?UTF-8?q?=E7=AE=A1=E6=8E=A7=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/zc/business/controller/DcDeviceController.java | 2 ++ .../com/zc/business/domain/DcBatchFunctionsJob.java | 5 ++++- .../service/impl/DcBatchFunctionsJobServiceImpl.java | 10 +++------- .../com/zc/business/utils/ScheduledTaskScheduling.java | 2 +- 4 files changed, 10 insertions(+), 9 deletions(-) diff --git a/zc-business/src/main/java/com/zc/business/controller/DcDeviceController.java b/zc-business/src/main/java/com/zc/business/controller/DcDeviceController.java index f18cefdd..fbb92c93 100644 --- a/zc-business/src/main/java/com/zc/business/controller/DcDeviceController.java +++ b/zc-business/src/main/java/com/zc/business/controller/DcDeviceController.java @@ -604,6 +604,8 @@ public class DcDeviceController extends BaseController { @ApiParam(value="方向", name="direction", required=true) @RequestParam ("direction") String direction){ return dcDeviceService.selectNearBoard(stakeMark,direction); } + + @OperationLog(operUrl = "/business/device/batchFunctions") public void batchInvokedFunction(Object object) throws HttpException, IOException, InterruptedException { Map map = new ObjectMapper().convertValue(object, Map.class); batchInvokedFunction(map); diff --git a/zc-business/src/main/java/com/zc/business/domain/DcBatchFunctionsJob.java b/zc-business/src/main/java/com/zc/business/domain/DcBatchFunctionsJob.java index 3bbb6d09..ea43a28f 100644 --- a/zc-business/src/main/java/com/zc/business/domain/DcBatchFunctionsJob.java +++ b/zc-business/src/main/java/com/zc/business/domain/DcBatchFunctionsJob.java @@ -12,9 +12,12 @@ import java.util.Date; public class DcBatchFunctionsJob { //@TableId(value = "jobId", type = IdType.AUTO) - private Integer jobId; + private Long jobId; @ApiModelProperty("任务组ID") private String jobGroup; + //@Excel(name = "任务名称") + @TableField(exist = false) + private String jobName; @ApiModelProperty("调用目标字符串") private String invokeTarget; @ApiModelProperty("调用参数") diff --git a/zc-business/src/main/java/com/zc/business/service/impl/DcBatchFunctionsJobServiceImpl.java b/zc-business/src/main/java/com/zc/business/service/impl/DcBatchFunctionsJobServiceImpl.java index 4be890a1..02f366f3 100644 --- a/zc-business/src/main/java/com/zc/business/service/impl/DcBatchFunctionsJobServiceImpl.java +++ b/zc-business/src/main/java/com/zc/business/service/impl/DcBatchFunctionsJobServiceImpl.java @@ -99,7 +99,7 @@ public class DcBatchFunctionsJobServiceImpl extends ServiceImpl ids) throws SchedulerException, TaskException { for (String id : ids) { DcBatchFunctionsJob job = new DcBatchFunctionsJob(); - job.setJobId(Integer.valueOf(id)); + job.setJobId(Long.valueOf(id)); List dcBatchFunctionsJobs = listDcBatchFunctionsJob(job); if (dcBatchFunctionsJobs.size() == 0) { return false; @@ -247,11 +247,7 @@ public class DcBatchFunctionsJobServiceImpl extends ServiceImpl Date: Fri, 26 Apr 2024 23:54:55 +0800 Subject: [PATCH 4/5] =?UTF-8?q?=E4=BC=98=E5=8C=96=E7=AE=A1=E6=8E=A7?= =?UTF-8?q?=E8=AE=B0=E5=BD=95=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/zc/business/interfaces/OperationLogAspect.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/zc-business/src/main/java/com/zc/business/interfaces/OperationLogAspect.java b/zc-business/src/main/java/com/zc/business/interfaces/OperationLogAspect.java index f65f09f2..8929f7f4 100644 --- a/zc-business/src/main/java/com/zc/business/interfaces/OperationLogAspect.java +++ b/zc-business/src/main/java/com/zc/business/interfaces/OperationLogAspect.java @@ -196,7 +196,7 @@ public class OperationLogAspect { dcOperLog.setOperParam(function.getString("params")); String functionId = function.getString("functionId"); //functionIds.add(functionId); - String hashMap = String.valueOf(((HashMap) (DEVICEFUNCTIONNAME.get(deviceType))).get(functionId)); + String hashMap = Objects.equals(deviceType, "5") ?"发布语音广播":String.valueOf(((HashMap) (DEVICEFUNCTIONNAME.get(deviceType))).get(functionId)); dcOperLog.setJsonResult("设备" + dcDevice.getDeviceName() + "在" + date + "调用了" + hashMap + "功能并且调用" + sta + "了"); dcOperLogService.addDcOperLog(dcOperLog); } From 6186cf6d7a9295b8e19a076793d249a732c26b20 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=85=B4=E7=90=B3?= <1911390090@qq.com> Date: Sun, 28 Apr 2024 14:28:32 +0800 Subject: [PATCH 5/5] =?UTF-8?q?AI=E4=BA=8B=E4=BB=B6=20=E5=BA=94=E6=80=A5?= =?UTF-8?q?=E8=BD=A6=E9=81=93=20=E4=B8=8A=E4=B8=8B=E8=A1=8C=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../device/handler/DeviceMessageHandler.java | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/zc-business/src/main/java/com/zc/business/message/device/handler/DeviceMessageHandler.java b/zc-business/src/main/java/com/zc/business/message/device/handler/DeviceMessageHandler.java index e5eb11de..c1410b23 100644 --- a/zc-business/src/main/java/com/zc/business/message/device/handler/DeviceMessageHandler.java +++ b/zc-business/src/main/java/com/zc/business/message/device/handler/DeviceMessageHandler.java @@ -181,6 +181,9 @@ public class DeviceMessageHandler { // 子类型 dcWarning.setWarningSubclass(warningSubclass); //桩号,方向 +//车道 + Integer relatedLaneNo = data.getInteger("relatedLaneNo"); + String stakeMarkDescription = data.getString("stakeMarkDescription"); String direction = ""; String[] arr = stakeMarkDescription.split(" "); @@ -188,18 +191,20 @@ public class DeviceMessageHandler { if (arr[2] != null) { if (arr[2].equals("上行")) { direction = arr[0] + " " + arr[1] + " 菏泽方向 "; - Integer relatedLaneNo = data.getInteger("relatedLaneNo"); - if (relatedLaneNo==5){ - relatedLaneNo=0; + if (warningSubclass.equals("4-7")) { + if (relatedLaneNo == 5) { + relatedLaneNo = 0; + } } - dcWarning.setLane(String.valueOf(relatedLaneNo)); - } if (arr[2].equals("下行")) { direction = arr[0] + " " + arr[1] + " 济南方向 "; - dcWarning.setLane(String.valueOf(data.getInteger("relatedLaneNo")-1)); + if (warningSubclass.equals("4-7")) { + relatedLaneNo = data.getInteger("relatedLaneNo") - 1; + } } } + dcWarning.setLane(String.valueOf(relatedLaneNo)); String title = direction + WarningSubclassEnum.getDecorateInfo(warningSubclass); // 标题