From 32889c5139b77575fa2cd6d4d1f5aea578ece160 Mon Sep 17 00:00:00 2001
From: zhanzhiqin <895896009@qq.com>
Date: 星期一, 16 五月 2022 15:58:19 +0800
Subject: [PATCH] 操作日志
---
dao/src/main/resources/mapper/PoleBindingMapper.xml | 21 ++++--
ximon-admin/src/main/java/com/sandu/ximon/admin/service/ClientService.java | 10 +++
ximon-admin/src/main/java/com/sandu/ximon/admin/service/LightTaskService.java | 12 ++--
ximon-admin/src/main/java/com/sandu/ximon/admin/controller/AdminController.java | 4
ximon-admin/src/main/java/com/sandu/ximon/admin/utils/StoreOperationRecordsUtils.java | 26 +++++++-
ximon-admin/src/main/java/com/sandu/ximon/admin/controller/PlayPlanNvController.java | 5 -
ximon-admin/src/main/java/com/sandu/ximon/admin/service/AdminService.java | 10 +++
ximon-admin/src/main/java/com/sandu/ximon/admin/controller/AirDataController.java | 16 +++++
ximon-admin/src/main/java/com/sandu/ximon/admin/service/PlayPlanNvService.java | 25 ++++++++
9 files changed, 104 insertions(+), 25 deletions(-)
diff --git a/dao/src/main/resources/mapper/PoleBindingMapper.xml b/dao/src/main/resources/mapper/PoleBindingMapper.xml
index fd5c862..888d905 100644
--- a/dao/src/main/resources/mapper/PoleBindingMapper.xml
+++ b/dao/src/main/resources/mapper/PoleBindingMapper.xml
@@ -24,13 +24,18 @@
SELECT t2.*
FROM `pole_binding` t1
LEFT JOIN pole t2 ON t1.pole_id = t2.id
- WHERE t1.device_type = #{type}
- AND t1.device_code = #{Mac}
- <if test="userId != null">
- AND (
- t2.user_id = #{userId}
- OR t2.client_id = #{userId}
- )
- </if>
+ t1.device_code = #{Mac}
+ <where>
+ <if test="type != null">
+ AND t1.device_type = #{type}
+ </if>
+ <if test="userId != null">
+ AND (
+ t2.user_id = #{userId}
+ OR t2.client_id = #{userId}
+ )
+ </if>
+ </where>
+
</select>
</mapper>
diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/AdminController.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/AdminController.java
index 7887eaf..e217563 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/AdminController.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/AdminController.java
@@ -131,7 +131,7 @@
OperatingSystem os = userAgent.getOperatingSystem();
String content = "鐧诲綍IP鍦板潃锛�" + IPUtils.getPublicIp() + "锛屾搷浣滅郴缁燂細" + os + "锛屾祻瑙堝櫒锛�" + browser;
- StoreOperationRecordsUtils.storeOperationData(null, null, "鐢ㄦ埛鐧诲綍", content, null);
+ StoreOperationRecordsUtils.storeOperationData(null, null, "鐢ㄦ埛鐧诲綍", content);
return ResponseUtil.success(authInfo);
}
@@ -180,7 +180,7 @@
@GetMapping(value = "/logout")
public ResponseVO<Object> LogOut() {
String content = "鐢ㄦ埛鍚嶏細" + SecurityUtils.getUsername();
- StoreOperationRecordsUtils.storeOperationData(null, null, "鐢ㄦ埛閫�鍑虹櫥褰�", content, null);
+ StoreOperationRecordsUtils.storeOperationData(null, null, "鐢ㄦ埛閫�鍑虹櫥褰�", content);
String key = String.format("%d_%d", SecurityUtils.getUserDetails().getUserId(), SecurityUtils.getUserDetails().getAdministratorType());
redisService.set(key, null);
return ResponseUtil.success("閫�鍑虹櫥褰曟垚鍔�");
diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/AirDataController.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/AirDataController.java
index 6bf865a..c2b38e2 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/AirDataController.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/AirDataController.java
@@ -3,6 +3,7 @@
import com.sandu.common.domain.ResponseVO;
import com.sandu.common.object.BaseConditionVO;
import com.sandu.common.util.ResponseUtil;
+import com.sandu.common.util.SpringContextHolder;
import com.sandu.ximon.admin.manager.iot.amqp.processor.AirDataProcessor;
import com.sandu.ximon.admin.manager.iot.frame.A5Frame;
import com.sandu.ximon.admin.manager.iot.frame.inner.request.AirDataReqInnerFrame;
@@ -12,10 +13,14 @@
import com.sandu.ximon.admin.manager.iot.rrpc.mainboard.MainBoardInvokeSyncService;
import com.sandu.ximon.admin.security.PermissionConfig;
import com.sandu.ximon.admin.service.AirDataService;
+import com.sandu.ximon.admin.service.PoleBindingService;
import com.sandu.ximon.admin.utils.RedisUtils;
import com.sandu.ximon.admin.utils.StoreOperationRecordsUtils;
import com.sandu.ximon.dao.bo.AirDataBo;
+import com.sandu.ximon.dao.domain.Pole;
import com.sandu.ximon.dao.enums.MenuEnum;
+import com.sandu.ximon.dao.enums.PoleBindingEnums;
+import com.sandu.ximon.dao.mapper.PoleBindingMapper;
import lombok.AllArgsConstructor;
import org.springframework.web.bind.annotation.*;
@@ -88,6 +93,17 @@
resultMap.put("success", success);
resultMap.put("failed", failed);
+ /**
+ * 鏈嶅姟绔洿鏂板ぇ姘旀暟鎹棩蹇楄褰曞紑濮�
+ */
+ String content = "鏇存柊缁撴灉锛�" + resultMap.toString();
+
+
+ StoreOperationRecordsUtils.storeOperationData(listMac, null, "鏈嶅姟绔洿鏂板ぇ姘旀暟鎹�", content);
+ /**
+ * 鏈嶅姟绔洿鏂板ぇ姘旀暟鎹棩蹇楄褰曠粨鏉�
+ */
+
return ResponseUtil.success(resultMap);
}
diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/PlayPlanNvController.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/PlayPlanNvController.java
index 2290424..543084d 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/PlayPlanNvController.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/PlayPlanNvController.java
@@ -33,7 +33,6 @@
private final PlayPlanNvService playPlanNvService;
private PermissionConfig permissionConfig;
- @AnonymousAccess
@PostMapping("/add")
public ResponseVO<Object> addLEDPlan(@RequestBody @Validated PlayPlanParam param) {
if (!permissionConfig.check(MenuEnum.LED_N_PLAY_PLAN_ADD.getCode())) {
@@ -42,7 +41,6 @@
return ResponseUtil.success(playPlanNvService.addPlan(param));
}
- @AnonymousAccess
@GetMapping("/getByPlanId/{planId}")
public ResponseVO<Object> getPlan(@PathVariable Long planId) {
if (!permissionConfig.check(MenuEnum.LED_N_PLAY_PLAN_DETAIL.getCode())) {
@@ -67,7 +65,6 @@
return ResponseUtil.success(playPlanNvService.deletePlan(plianIds));
}
- @AnonymousAccess
@PostMapping(value = "/push/{plianId}", produces = "application/json;charset=UTF-8")
public ResponseVO<Object> pushToLed(@PathVariable Long plianId, @RequestBody List<NovaPushResultVO> playerIds) {
if (!permissionConfig.check(MenuEnum.LED_N_PLAY_PLAN_PUSH.getCode())) {
@@ -77,7 +74,6 @@
}
- @AnonymousAccess
@PostMapping(value = "/pushSchedule/{planId}", produces = "application/json;charset=UTF-8")
public ResponseVO<Object> pushSchedule(@PathVariable Long planId, @RequestBody List<NovaPushResultVO> playerIds) {
if (!permissionConfig.check(MenuEnum.LED_N_PLAY_PLAN_PUSH_SCHEDULE.getCode())) {
@@ -86,7 +82,6 @@
return ResponseUtil.success(playPlanNvService.pushSchedule(planId, playerIds));
}
- @AnonymousAccess
@GetMapping("/listPlan")
public ResponseVO<Object> list(BaseConditionVO baseConditionVO, @RequestParam(value = "keyword", required = false) String keyword) {
if (!permissionConfig.check(MenuEnum.PLAYPLAN_LIST.getCode())) {
diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/AdminService.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/AdminService.java
index 2b07378..258ac6a 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/AdminService.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/AdminService.java
@@ -13,6 +13,7 @@
import com.sandu.ximon.admin.param.PwdParam;
import com.sandu.ximon.admin.param.UserPwsParm;
import com.sandu.ximon.admin.security.SecurityUtils;
+import com.sandu.ximon.admin.utils.StoreOperationRecordsUtils;
import com.sandu.ximon.dao.bo.AdminBo;
import com.sandu.ximon.dao.bo.MenuNode;
import com.sandu.ximon.dao.domain.*;
@@ -76,6 +77,15 @@
if (!adminRoleRelationService.save(adminRoleRelation)) {
throw new BusinessException("娣诲姞绠$悊鍛樿鑹插け璐�");
}
+
+ /**
+ * 娣诲姞绠$悊鍛樻棩蹇楄褰曞紑濮�
+ */
+ String content = "鏂版敞鍐岀敤鎴凤細" + param.getUsername();
+ StoreOperationRecordsUtils.storeOperationData(null, null, "娣诲姞绠$悊鍛�", content);
+ /**
+ * 娣诲姞绠$悊鍛樻棩蹇楄褰曠粨鏉�
+ */
return true;
}
diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/ClientService.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/ClientService.java
index 7a4c25d..9938ac1 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/ClientService.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/ClientService.java
@@ -12,6 +12,7 @@
import com.sandu.ximon.admin.param.UpdateClientPrarm;
import com.sandu.ximon.admin.param.UserPwsParm;
import com.sandu.ximon.admin.security.SecurityUtils;
+import com.sandu.ximon.admin.utils.StoreOperationRecordsUtils;
import com.sandu.ximon.dao.bo.MenuNode;
import com.sandu.ximon.dao.domain.*;
import com.sandu.ximon.dao.mapper.AdminMapper;
@@ -95,6 +96,15 @@
throw new BusinessException("娣诲姞绠$悊鍛樿鑹插け璐�");
}
+ /**
+ * 娣诲姞绠$悊鍛樻棩蹇楄褰曞紑濮�
+ */
+ String content = "鏂版敞鍐岀敤鎴凤細" + addClientPrarm.getClientName();
+ StoreOperationRecordsUtils.storeOperationData(null, null, "娣诲姞鏅�氱敤鎴�", content);
+ /**
+ * 娣诲姞绠$悊鍛樻棩蹇楄褰曠粨鏉�
+ */
+
return flag;
}
diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/LightTaskService.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/LightTaskService.java
index ab12306..c00ad15 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/LightTaskService.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/LightTaskService.java
@@ -105,7 +105,7 @@
+ "锛� 鐏潌ID锛�" + param.getPoleIdList().toString()
+ "锛� 鎺у埗鐨勭伅澶村湴鍧�锛�" + param.getLightAddress()
+ " }";
- StoreOperationRecordsUtils.storeOperationData(poleCodeList.toString(), null, "鏂板璺伅浠诲姟", content, poleCodeList.toString());
+ StoreOperationRecordsUtils.storeOperationData(poleCodeList, null, "鏂板璺伅浠诲姟", content);
/**
* 鏂板璺伅浠诲姟鏃ュ織璁板綍缁撴潫
*/
@@ -131,7 +131,7 @@
+ "锛� 浠诲姟鍚嶏細" + lightTask.getTaskName()
+ "}," + " 鐏潌ID锛�" + param.getPoleIdList().toString()
+ " }";
- StoreOperationRecordsUtils.storeOperationData(poleCodeList.toString(), null, "涓嬪彂璺伅浠诲姟", content1, poleCodeList.toString());
+ StoreOperationRecordsUtils.storeOperationData(poleCodeList, null, "涓嬪彂璺伅浠诲姟", content1);
/**
* 涓嬪彂璺伅浠诲姟鏃ュ織璁板綍缁撴潫
*/
@@ -181,7 +181,7 @@
+ "锛� 鐏潌ID锛�" + param.getPoleIdList().toString()
+ "锛� 鎺у埗鐨勭伅澶村湴鍧�锛�" + param.getLightAddress()
+ " }";
- StoreOperationRecordsUtils.storeOperationData(poleCodeList.toString(), null, "缂栬緫璺伅浠诲姟", content, poleCodeList.toString());
+ StoreOperationRecordsUtils.storeOperationData(poleCodeList, null, "缂栬緫璺伅浠诲姟", content);
/**
* 缂栬緫璺伅浠诲姟鏃ュ織璁板綍缁撴潫
*/
@@ -208,7 +208,7 @@
+ "锛� 浠诲姟鍚嶏細" + lightTask.getTaskName()
+ "}," + " 鐏潌ID锛�" + param.getPoleIdList().toString()
+ " }";
- StoreOperationRecordsUtils.storeOperationData(poleCodeList.toString(), null, "涓嬪彂璺伅浠诲姟", content1, poleCodeList.toString());
+ StoreOperationRecordsUtils.storeOperationData(poleCodeList, null, "涓嬪彂璺伅浠诲姟", content1);
/**
* 涓嬪彂璺伅浠诲姟鏃ュ織璁板綍缁撴潫
*/
@@ -416,11 +416,11 @@
if (CollectionUtil.isNotEmpty(list)) {
poleCodeList = list.stream().map(Pole::getDeviceCode).collect(Collectors.toList());
}
- String content1 = "{浠诲姟ID锛�" + lightTask.getTaskId()
+ String content = "{浠诲姟ID锛�" + lightTask.getTaskId()
+ "锛� 浠诲姟鍚嶏細" + lightTask.getTaskName()
+ "}," + " 鐏潌ID锛�" + param.getPoleId()
+ " }";
- StoreOperationRecordsUtils.storeOperationData(poleCodeList.toString(), null, "涓嬪彂璺伅浠诲姟", content1, poleCodeList.toString());
+ StoreOperationRecordsUtils.storeOperationData(poleCodeList, null, "涓嬪彂璺伅浠诲姟", content);
/**
* 涓嬪彂璺伅浠诲姟鏃ュ織璁板綍缁撴潫
*/
diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/PlayPlanNvService.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/PlayPlanNvService.java
index b8c82ce..a63ca7b 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/PlayPlanNvService.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/PlayPlanNvService.java
@@ -6,6 +6,7 @@
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.sandu.common.execption.BusinessException;
import com.sandu.common.service.impl.BaseServiceImpl;
+import com.sandu.common.util.SpringContextHolder;
import com.sandu.ximon.admin.config.VnnoxConstant;
import com.sandu.ximon.admin.dto.PlanDto;
import com.sandu.ximon.admin.dto.SchedulesDTO;
@@ -14,6 +15,7 @@
import com.sandu.ximon.admin.entity.Plans;
import com.sandu.ximon.admin.param.PlayPlanParam;
import com.sandu.ximon.admin.security.SecurityUtils;
+import com.sandu.ximon.admin.utils.StoreOperationRecordsUtils;
import com.sandu.ximon.admin.utils.VnnoxAPIUtil;
import com.sandu.ximon.admin.utils.VnnoxProgramAPIUtil;
import com.sandu.ximon.admin.utils.response.VnnoxResultResponse;
@@ -21,6 +23,7 @@
import com.sandu.ximon.admin.vo.NovaPushResultVO;
import com.sandu.ximon.admin.vo.PlansVO;
import com.sandu.ximon.dao.domain.LEDProgram;
+import com.sandu.ximon.dao.domain.LedPlayerEntity;
import com.sandu.ximon.dao.domain.PlayPlanNv;
import com.sandu.ximon.dao.domain.PushToLed;
import com.sandu.ximon.dao.mapper.PlayPlanNvMapper;
@@ -212,6 +215,9 @@
//鎺ㄩ�佸畾鏃跺埌LED
public Map<String, Object> pushSchedule(Long planId, List<NovaPushResultVO> nova) {
PlayPlanNv one = getOne(Wrappers.lambdaQuery(PlayPlanNv.class).eq(PlayPlanNv::getId, planId));
+ if (one == null) {
+ throw new BusinessException("鏈壘鍒拌妭鐩�");
+ }
List<SchedulesDTO> schedulesDTOS = JSON.parseArray(one.getSchedules(), SchedulesDTO.class);
ProgramSchedule programSchedule = new ProgramSchedule();
programSchedule.setSchedules(schedulesDTOS);
@@ -250,6 +256,25 @@
result.put("success", successList);
result.put("fail", faileList);
+
+ /**
+ * 璇虹摝鎺ㄩ�佸畾鏃舵棩蹇楄褰曞紑濮�
+ */
+ List<LedPlayerEntity> list = SpringContextHolder.getBean(LedPlayerEntityService.class)
+ .list(Wrappers.lambdaQuery(LedPlayerEntity.class).in(LedPlayerEntity::getId, nova.stream().map(NovaPushResultVO::getPlayerId).toArray()));
+ List<String> listCode = new ArrayList<>();
+ for (LedPlayerEntity temp : list) {
+ listCode.add(temp.getSn());
+ }
+
+ String content = "{鑺傜洰ID锛�" + one.getId()
+ + "锛� 鑺傜洰鍚嶇О锛�" + one.getName()
+ + "}," + " 鎺ㄩ�佺粨鏋滐細" + result
+ + " }";
+ StoreOperationRecordsUtils.storeOperationData(listCode, null, "璇虹摝鎺ㄩ�佸畾鏃朵换鍔�", content);
+ /**
+ * 璇虹摝鎺ㄩ�佸畾鏃舵棩蹇楄褰曠粨鏉�
+ */
return result;
}
diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/utils/StoreOperationRecordsUtils.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/utils/StoreOperationRecordsUtils.java
index 35416a8..eca911c 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/utils/StoreOperationRecordsUtils.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/utils/StoreOperationRecordsUtils.java
@@ -5,6 +5,12 @@
import com.sandu.ximon.admin.manager.iot.rrpc.dto.CommonFrame;
import com.sandu.ximon.admin.service.DeviceOperationLogService;
import com.sandu.ximon.admin.service.InnerFrameDataService;
+import com.sandu.ximon.dao.domain.Pole;
+import com.sandu.ximon.dao.enums.PoleBindingEnums;
+import com.sandu.ximon.dao.mapper.PoleBindingMapper;
+
+import java.util.ArrayList;
+import java.util.List;
/**
* @author ZZQ
@@ -37,13 +43,25 @@
/**
* 淇濆瓨鎿嶄綔鏁版嵁
*
- * @param deviceCode
+ * @param deviceCodeList
* @param deviceName
* @param operation
* @param content
- * @param poleCode
*/
- public static void storeOperationData(String deviceCode, String deviceName, String operation, String content, String poleCode) {
- SpringContextHolder.getBean(DeviceOperationLogService.class).saveDeviceOperationLog(deviceCode, deviceName, operation, content, poleCode);
+ public static void storeOperationData(List<String> deviceCodeList, String deviceName, String operation, String content) {
+ if (deviceCodeList == null) {
+ deviceCodeList = new ArrayList<>();
+ }
+ List<String> poleCodeList = new ArrayList<>();
+ for (String str : deviceCodeList) {
+ Pole pole = SpringContextHolder.getBean(PoleBindingMapper.class).getPoleByBinding(null, str, null);
+ if (pole != null) {
+ poleCodeList.add(pole.getDeviceCode());
+ } else {
+ poleCodeList.add("");
+ }
+ }
+ SpringContextHolder.getBean(DeviceOperationLogService.class)
+ .saveDeviceOperationLog(deviceCodeList.toString(), deviceName, operation, content, poleCodeList.toString());
}
}
--
Gitblit v1.9.3