From ce8c79dc003345469f092123e9679ec3e2a73992 Mon Sep 17 00:00:00 2001 From: zhaoxianglong Date: Wed, 8 May 2024 09:56:36 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=93=8D=E4=BD=9C?= =?UTF-8?q?=E8=AE=B0=E5=BD=95=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../interfaces/OperationLogAspect.java | 43 ++++++++++++++++++- 1 file changed, 41 insertions(+), 2 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 1402a3b8..2e622d94 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 @@ -14,8 +14,11 @@ import com.ruoyi.common.utils.spring.SpringUtils; import com.ruoyi.system.service.ISysDeptService; import com.zc.business.domain.DcDevice; import com.zc.business.domain.DcOperLog; +import com.zc.business.domain.DcPublishManage; import com.zc.business.service.IDcDeviceService; import com.zc.business.service.IDcOperLogService; +import com.zc.business.service.IDcPublishInfoService; +import com.zc.business.service.IDcPublishManageService; import org.aspectj.lang.JoinPoint; import org.aspectj.lang.ProceedingJoinPoint; import org.aspectj.lang.annotation.*; @@ -108,6 +111,7 @@ public class OperationLogAspect { ISysDeptService deptService = SpringUtils.getBean(ISysDeptService.class); IDcOperLogService dcOperLogService = SpringUtils.getBean(IDcOperLogService.class); IDcDeviceService dcDeviceService = SpringUtils.getBean(IDcDeviceService.class); + IDcPublishManageService dcPublishManageService = SpringUtils.getBean(IDcPublishManageService.class); try { DcOperLog operLog = new DcOperLog(); @@ -177,6 +181,7 @@ public class OperationLogAspect { deviceType = dcDevice.getDeviceType(); + deviceIds.add(String.valueOf(deviceId)); deviceNames.add(deviceName); @@ -190,7 +195,10 @@ public class OperationLogAspect { "发布语音广播" : String.valueOf( ((HashMap) (DEVICEFUNCTIONNAME.get(deviceType))) - .get(function.getString("functionId"))); + .get(function.getString("functionId")) == null ? + "未知方法" : + ((HashMap) (DEVICEFUNCTIONNAME.get(deviceType))) + .get(function.getString("functionId"))); remark.append("调用").append(hashMap).append("功能").append(sta); @@ -227,7 +235,38 @@ public class OperationLogAspect { operLog.setDcDeviceType(deviceType); operLog.setRemark(remark.toString()); operLog.setJsonResult(jsonResult.toString()); - dcOperLogService.addDcOperLog(operLog); + dcOperLogService.save(operLog); + + + if ((Objects.equals(deviceType, "2") || Objects.equals(deviceType, "5")) && Objects.nonNull(operLog.getId())) { + DcPublishManage dcPublishManage = new DcPublishManage(); + + if (Objects.equals(state, "0") && Objects.equals(String.valueOf(((AjaxResult) jsonResult).get("code")), "200")) { + dcPublishManage.setPublishStatus(1);//发布状态1-成功2-失败 + } else { + dcPublishManage.setPublishStatus(2);//发布状态1-成功2-失败 + } + + if (loginUser != null) { + dcPublishManage.setPublisher(loginUser.getUsername());//发布人 + } else { + dcPublishManage.setPublisher("系统定时调用");//发布人 + } + dcPublishManage.setPublishTime(new Date());//发布时间 + dcPublishManage.setCreateTime(new Date());//创建时间 + + if (Objects.equals(deviceType, "2")) { + dcPublishManage.setLogId(Long.valueOf(operLog.getId()));//发布的如果的情报板传对应id + dcPublishManage.setPublishChannels(4); + } else { + dcPublishManage.setVoiceId(Long.valueOf(operLog.getId()));//发布的如果是语音传对应id + dcPublishManage.setPublishChannels(7); + } + + dcPublishManage.setContentDetails(remark.toString()); + dcPublishManageService.insertDcPublishManage(dcPublishManage); + } + } else if (operUrl.contains("functions")) { From 1a241d1da4c12b23cc5ef960abbb9d843a33b220 Mon Sep 17 00:00:00 2001 From: zhaoxianglong Date: Wed, 8 May 2024 11:55:35 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=93=8D=E4=BD=9C?= =?UTF-8?q?=E8=AE=B0=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/zc/business/interfaces/OperationLogAspect.java | 3 +-- 1 file changed, 1 insertion(+), 2 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 2e622d94..f223851f 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 @@ -255,11 +255,10 @@ public class OperationLogAspect { dcPublishManage.setPublishTime(new Date());//发布时间 dcPublishManage.setCreateTime(new Date());//创建时间 + dcPublishManage.setLogId(Long.valueOf(operLog.getId()));//发布的如果的情报板传对应id if (Objects.equals(deviceType, "2")) { - dcPublishManage.setLogId(Long.valueOf(operLog.getId()));//发布的如果的情报板传对应id dcPublishManage.setPublishChannels(4); } else { - dcPublishManage.setVoiceId(Long.valueOf(operLog.getId()));//发布的如果是语音传对应id dcPublishManage.setPublishChannels(7); } From a0cb61db6c66a97d7358c13062a3da8db456412b Mon Sep 17 00:00:00 2001 From: zhaoxianglong Date: Wed, 8 May 2024 14:27:47 +0800 Subject: [PATCH 3/4] =?UTF-8?q?=E4=BC=98=E5=8C=96=E5=8D=95=E8=AE=BE?= =?UTF-8?q?=E5=A4=87=E5=9C=A8=E7=BA=BF=E8=B7=AF=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../business/controller/StatusController.java | 24 ++++++++++++++----- 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/zc-business/src/main/java/com/zc/business/controller/StatusController.java b/zc-business/src/main/java/com/zc/business/controller/StatusController.java index 957be29a..c86f20f8 100644 --- a/zc-business/src/main/java/com/zc/business/controller/StatusController.java +++ b/zc-business/src/main/java/com/zc/business/controller/StatusController.java @@ -1,4 +1,5 @@ package com.zc.business.controller; + import com.github.pagehelper.util.StringUtil; import com.ruoyi.common.annotation.Log; import com.ruoyi.common.core.controller.BaseController; @@ -21,7 +22,10 @@ import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; +import java.math.BigDecimal; +import java.math.RoundingMode; import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; import java.time.temporal.ChronoUnit; import java.util.*; import java.util.stream.Collectors; @@ -130,19 +134,27 @@ public class StatusController extends BaseController { List listStatus = statusService.deviceStatusListById(status); // Calculate average successRate by day - Map averageSuccessRateByDay = listStatus.stream() - .collect(Collectors.groupingBy(s -> s.getTime().getDayOfMonth(), + Map averageSuccessRateByDay = listStatus.stream() + .collect(Collectors.groupingBy(s -> { + // 使用 DateTimeFormatter 格式化日期 + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); + String formattedDate = s.getTime().format(formatter); + return formattedDate; + }, Collectors.averagingDouble(s -> Double.parseDouble(s.getSuccessRate().replace("%", ""))))); if (averageSuccessRateByDay.isEmpty()) { return AjaxResult.success("暂无数据"); } - // Round average successRate to two decimal places - Map roundedAverageSuccessRateByDay = averageSuccessRateByDay.entrySet().stream() - .collect(Collectors.toMap(Map.Entry::getKey, entry -> Math.round(entry.getValue() * 100.0) / 100.0)); + averageSuccessRateByDay.keySet().forEach(item -> { + + BigDecimal bigDecimal = new BigDecimal(averageSuccessRateByDay.get(item)); + averageSuccessRateByDay.put(item, bigDecimal.setScale(2, RoundingMode.HALF_UP).doubleValue()); + + }); - return AjaxResult.success(roundedAverageSuccessRateByDay); + return AjaxResult.success(new TreeMap<>(averageSuccessRateByDay)); } //按类型划分设备 From e14b28a563687670f7607f42992c6da3c8932dbe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=85=B4=E7=90=B3?= <1911390090@qq.com> Date: Wed, 8 May 2024 16:17:03 +0800 Subject: [PATCH 4/4] =?UTF-8?q?=E4=BC=98=E5=8C=96=20=E4=BA=8B=E4=BB=B6?= =?UTF-8?q?=E6=8E=A8=E9=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/zc/business/service/impl/DcEventServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/zc-business/src/main/java/com/zc/business/service/impl/DcEventServiceImpl.java b/zc-business/src/main/java/com/zc/business/service/impl/DcEventServiceImpl.java index 3feebbaf..9ed91296 100644 --- a/zc-business/src/main/java/com/zc/business/service/impl/DcEventServiceImpl.java +++ b/zc-business/src/main/java/com/zc/business/service/impl/DcEventServiceImpl.java @@ -219,7 +219,7 @@ public class DcEventServiceImpl extends ServiceImpl impl //TODO 插入多个收费站 if (dcEvent.getDcEventTrafficControl().getFacilityIds().length == 1) {//facilityIds==1 说明只选择了一个收费站 - if (dcEventId != null) {//不等于空 事件处置页面 修改 + if (dcEventId != null && !dcEventId.equals("")) {//不等于空 事件处置页面 修改 dcEventMapper.deleteDcEventById(uuid);//删除添加的事件主类 DcEvent dcEvent1 = new DcEvent(); dcEvent1.setId(dcEventId);//事件id