From dda268997ca8f8a364f7c19b45d7a43a50a98efe Mon Sep 17 00:00:00 2001
From: liuhaonan <31457034@qq.com>
Date: 星期二, 25 十月 2022 18:00:11 +0800
Subject: [PATCH] changes
---
ximon-admin/src/main/java/com/sandu/ximon/admin/service/IpVolumeService.java | 252 ++++++++++++++++++++++++++++++++++++++------------
1 files changed, 192 insertions(+), 60 deletions(-)
diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/IpVolumeService.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/IpVolumeService.java
index b6cd814..f8cf860 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/IpVolumeService.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/IpVolumeService.java
@@ -1,18 +1,25 @@
package com.sandu.ximon.admin.service;
+import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.github.pagehelper.PageHelper;
import com.sandu.common.execption.BusinessException;
import com.sandu.common.object.BaseConditionVO;
import com.sandu.common.service.impl.BaseServiceImpl;
import com.sandu.common.util.SpringContextHolder;
+import com.sandu.ximon.admin.dto.TerminalDto;
import com.sandu.ximon.admin.param.BroadcastTerminalV2Param;
+import com.sandu.ximon.admin.redis.DeviceRedisKey;
import com.sandu.ximon.admin.security.SecurityUtils;
+import com.sandu.ximon.admin.utils.RedisUtils;
+import com.sandu.ximon.admin.utils.StoreOperationRecordsUtils;
import com.sandu.ximon.admin.utils.TerminalAPIUtils;
import com.sandu.ximon.admin.vo.EquipmentInfomation;
-import com.sandu.ximon.admin.vo.TerminalVO;
+import com.sandu.ximon.admin.vo.RedisDeviceStatus;
import com.sandu.ximon.dao.bo.BroadcastTerminalV2EntityBo;
import com.sandu.ximon.dao.domain.BroadcastTerminalV2Entity;
+import com.sandu.ximon.dao.enums.AdministratorEnums;
+import com.sandu.ximon.dao.enums.OrderByEnums;
import com.sandu.ximon.dao.enums.PoleBindingEnums;
import com.sandu.ximon.dao.mapper.IPBroadcastMapper;
import org.springframework.beans.factory.annotation.Autowired;
@@ -26,20 +33,16 @@
@Autowired
private IPBroadcastMapper broadcastTerminalV2EntityMapper;
+ @Autowired
+ private RedisUtils redisUtils;
/**
* 鍚屾缁堢
*/
public void synchTerminal() {
- List<BroadcastTerminalV2Entity> server;
- //涓虹┖鏄秴绠�
- if (SecurityUtils.getClientId() == null) {
- server = broadcastTerminalV2EntityMapper.listAll(null);
- } else {
- server = broadcastTerminalV2EntityMapper.listAll(SecurityUtils.getUserId());
- }
+ List<BroadcastTerminalV2Entity> server = broadcastTerminalV2EntityMapper.listAll();
- List<TerminalVO> list = TerminalAPIUtils.getTerminalList();
+ List<TerminalDto> list = TerminalAPIUtils.getTerminalList();
System.out.println(list);
list.stream().forEach(item -> {
// 闊虫煴鏈嶅姟鍣ㄧ粓绔疘D
@@ -62,16 +65,63 @@
save(b);
}
});
+ /**
+ * IP闊虫煴鍚屾 鏃ュ織璁板綍寮�濮�
+ */
+ StoreOperationRecordsUtils.storeOperationData(null, null, "IP闊虫煴鍚屾", "IP闊虫煴鍚屾璁惧");
+ /**
+ * IP闊虫煴鍚屾 鏃ュ織璁板綍缁撴潫
+ */
}
- public List<BroadcastTerminalV2EntityBo> getBroadcastTerminalList(BaseConditionVO baseConditionVO, BroadcastTerminalV2Param broadcastTerminalV2Param) {
+ /**
+ * IP闊虫煴鍒楄〃
+ *
+ * @param baseConditionVO
+ * @param order
+ * @param seq
+ * @param broadcastTerminalV2Param
+ * @return
+ */
+ public List<BroadcastTerminalV2EntityBo> getBroadcastTerminalList(BaseConditionVO baseConditionVO, Integer order, Integer seq, BroadcastTerminalV2Param broadcastTerminalV2Param) {
if (broadcastTerminalV2Param == null) {
broadcastTerminalV2Param = new BroadcastTerminalV2Param();
}
+ //鎺掑簭瀛楁
+ String orderByResult = OrderByEnums.IP_VOLUME_ID.getCode();
+ //姝e簭銆佸�掑彊
+ String orderBySeq = OrderByEnums.ASC.getCode();
+ if (order != null) {
+ switch (order) {
+ case 1:
+ orderByResult = OrderByEnums.IP_VOLUME_ID.getCode();
+ break;
+ case 2:
+ orderByResult = OrderByEnums.IP_VOLUME_NAME.getCode();
+ case 3:
+ orderByResult = OrderByEnums.IP_VOLUME_POLE_NAME.getCode();
+ default:
+ }
+ }
+ if (seq != null) {
+ switch (seq) {
+ case 1:
+ orderBySeq = " ASC";
+ break;
+ case 2:
+ orderBySeq = " DESC";
+ break;
+ default:
+ break;
+ }
+ }
+ //鎺掑簭鏂瑰紡
+ String orderBy = orderByResult + " " + orderBySeq;
+
//鍦ㄧ嚎鐘舵�佸叏閮ㄧ殑璇濋渶瑕佸垎椤�
if (baseConditionVO != null && 2 == broadcastTerminalV2Param.getWorkState()) {
- PageHelper.startPage(baseConditionVO.getPageNo(), baseConditionVO.getPageSize());
+ PageHelper.startPage(baseConditionVO.getPageNo(), baseConditionVO.getPageSize(), orderBy);
}
List<BroadcastTerminalV2EntityBo> broadcastTerminalV2EntityBos;
@@ -93,23 +143,23 @@
}
}
- List<TerminalVO> list = TerminalAPIUtils.getTerminalList();
+ List<TerminalDto> list = TerminalAPIUtils.getTerminalList();
for (BroadcastTerminalV2EntityBo bean : broadcastTerminalV2EntityBos) {
- for (TerminalVO terminalVO : list) {
- if (bean.getId().equals(terminalVO.getId())) {
- bean.setStatus(terminalVO.getStatus());
- bean.setIp(terminalVO.getIp());
- bean.setVolumn(terminalVO.getVolumn());
- bean.setDefaultVolumn(terminalVO.getDefaultVolumn());
- bean.setPower(terminalVO.getPower());
- bean.setDefaultPower(terminalVO.getDefaultPower());
- bean.setLast(terminalVO.getLast());
- bean.setTaskType(terminalVO.getTaskType());
- bean.setTaskID(terminalVO.getTaskID());
+ for (TerminalDto terminalDto : list) {
+ if (bean.getId().equals(terminalDto.getId())) {
+ bean.setStatus(terminalDto.getStatus());
+ bean.setIp(terminalDto.getIp());
+ bean.setVolumn(terminalDto.getVolumn());
+ bean.setDefaultVolumn(terminalDto.getDefaultVolumn());
+ bean.setPower(terminalDto.getPower());
+ bean.setDefaultPower(terminalDto.getDefaultPower());
+ bean.setLast(terminalDto.getLast());
+ bean.setTaskType(terminalDto.getTaskType());
+ bean.setTaskID(terminalDto.getTaskID());
- if (0 == broadcastTerminalV2Param.getWorkState() && 0 == terminalVO.getStatus()) {
+ if (0 == broadcastTerminalV2Param.getWorkState() && 0 == terminalDto.getStatus()) {
broadcastTerminalV2EntityBos_final.add(bean);
- } else if (1 == broadcastTerminalV2Param.getWorkState() && 1 == terminalVO.getStatus()) {
+ } else if (1 == broadcastTerminalV2Param.getWorkState() && 1 == terminalDto.getStatus()) {
broadcastTerminalV2EntityBos_final.add(bean);
}
break;
@@ -121,6 +171,49 @@
} else {
return broadcastTerminalV2EntityBos_final;
}
+ }
+
+ /**
+ * IP闊虫煴鍒楄〃锛堢敤浜庨椤垫暟鎹粺璁★級
+ *
+ * @return
+ */
+ public List<BroadcastTerminalV2EntityBo> getBroadcastTerminalListOnHome() {
+ List<BroadcastTerminalV2EntityBo> broadcastTerminalV2EntityBos;
+
+ if (SecurityUtils.getClientId() == null) {
+ broadcastTerminalV2EntityBos = broadcastTerminalV2EntityMapper.getBroadcastTerminalList(null, null, 2);
+ } else {
+ broadcastTerminalV2EntityBos = broadcastTerminalV2EntityMapper.getBroadcastTerminalList(null, SecurityUtils.getUserId(), 2);
+ }
+
+ return broadcastTerminalV2EntityBos;
+ }
+
+ public List<BroadcastTerminalV2EntityBo> newIpTerminalList(String keyword) {
+
+ List<BroadcastTerminalV2EntityBo> broadcastTerminalV2EntityBos = broadcastTerminalV2EntityMapper.getListTerminalOnBind(SecurityUtils.getClientId(), keyword);
+
+
+ List<TerminalDto> list = TerminalAPIUtils.getTerminalList();
+ for (BroadcastTerminalV2EntityBo bean : broadcastTerminalV2EntityBos) {
+ for (TerminalDto terminalDto : list) {
+ if (bean.getId().equals(terminalDto.getId())) {
+ bean.setStatus(terminalDto.getStatus());
+ bean.setIp(terminalDto.getIp());
+ bean.setVolumn(terminalDto.getVolume());
+ bean.setDefaultVolumn(terminalDto.getDefaultVolumn());
+ bean.setPower(terminalDto.getPower());
+ bean.setDefaultPower(terminalDto.getDefaultPower());
+ bean.setLast(terminalDto.getLast());
+ bean.setTaskType(terminalDto.getTaskType());
+ bean.setTaskID(terminalDto.getTaskID());
+ break;
+ }
+ }
+ }
+
+ return broadcastTerminalV2EntityBos;
}
/**
@@ -147,42 +240,26 @@
}
/**
- * 淇敼缁堢
- * @param params
- * @return 0:鎴愬姛 1:鍚嶇О涓嶈兘涓虹┖
- *//*
- public Integer updateTerminal(BroadcastParams params, Long userId) {
-
- // 鏍¢獙鍚嶇О鍚堟硶鎬�
- if(null == params.getTerminalName() || "".equals(params.getTerminalName())){
- return 1;
- }
- if(null == params.getDefaultVolumn() || params.getDefaultVolumn() < 0) {
- params.setDefaultVolumn(0);
- }
-
- BroadcastTerminalV2Entity b = new BroadcastTerminalV2Entity();
- b.setId(params.getTerminalId());
- b.setTerminalName(params.getTerminalName());
- b.setStreetlightId(params.getStreetlightId());
- b.setExist(1);
- // API璋冪敤淇敼缁堢闊抽噺
- TerminalAPIUtils.changeVol(params.getTerminalId(),params.getDefaultVolumn(),userId);
-
- broadcastTerminalV2Dao.update(b);
- return 0;
- }
-
- */
-
- /**
* 闊抽噺淇敼
*
* @param params
* @return
*/
public boolean changeVol(BroadcastTerminalV2Param params) {
- return TerminalAPIUtils.changeVol(params.getId(), params.getDefaultVolumn());
+ if (params.getId() == null || params.getDefaultVolumn() == null || params.getDefaultVolumn() < 0) {
+ throw new BusinessException("璁惧ID鎴栦慨鏀圭殑闊抽噺鍊间笉姝g‘");
+ }
+
+ boolean flag = TerminalAPIUtils.changeVol(params.getId(), params.getDefaultVolumn());
+ /**
+ * IP闊虫煴闊抽噺淇敼 鏃ュ織璁板綍寮�濮�
+ */
+// String content = "{璁惧Id:" + params.getId() + "锛屼慨鏀瑰悗闊抽噺锛�" + params.getDefaultVolumn() + "}";
+// StoreOperationRecordsUtils.storeOperationData(null, null, "IP闊虫煴闊抽噺淇敼", content);
+ /**
+ * IP闊虫煴闊抽噺淇敼 鏃ュ織璁板綍缁撴潫
+ */
+ return flag;
}
/**
@@ -199,7 +276,7 @@
equipmentInfo.setEquipmentMac(id);
equipmentInfo.setEquipmentName(one.getTerminalName());
}
- TerminalVO terminalInfo = TerminalAPIUtils.getTerminalInfo(Integer.valueOf(id));
+ TerminalDto terminalInfo = TerminalAPIUtils.getTerminalInfo(Integer.valueOf(id));
if (terminalInfo != null) {
//绌洪棽 1銆� 宸ヤ綔涓� 2 鎴栬�� 4銆� 鏂嚎 0锛� 鎶� 閿� 8
switch (terminalInfo.getStatus()) {
@@ -235,15 +312,70 @@
* @return
*/
public boolean updateBroadcastTerminalName(String name, Integer id) {
+ if (name == null || name.trim().length() == 0) {
+ throw new BusinessException("璁惧鍚嶄笉鑳戒负绌�");
+ }
BroadcastTerminalV2Entity byId = getById(id);
if (byId == null) {
throw new BusinessException("缁堢涓嶅瓨鍦�");
}
- boolean belong = SpringContextHolder.getBean(PoleBindingService.class).isBelong(String.valueOf(byId.getId()), PoleBindingEnums.IPVOLUME);
- if (!belong) {
- throw new BusinessException("璇ヨ澶囦笉灞炰簬鎮�,涓嶈兘淇敼璁惧淇℃伅");
+ if (AdministratorEnums.NORMAL.getCode().equals(SecurityUtils.getAdministratorIdentity())) {
+ boolean belong = SpringContextHolder.getBean(PoleBindingService.class).isBelong(String.valueOf(byId.getId()), PoleBindingEnums.IPVOLUME);
+ if (!belong) {
+ throw new BusinessException("璇ヨ澶囦笉灞炰簬鎮�,涓嶈兘淇敼璁惧淇℃伅");
+ }
}
byId.setTerminalName(name);
- return updateById(byId);
+ boolean flag = updateById(byId);
+ /**
+ * IP闊虫煴淇敼璁惧鍚嶇О鏃ュ織璁板綍寮�濮�
+ */
+ String content = "{璁惧Id:" + id + "锛屼慨鏀瑰悗鍚嶇О锛�" + name + "}";
+ StoreOperationRecordsUtils.storeOperationData(null, null, "IP闊虫煴淇敼璁惧鍚�", content);
+ /**
+ * IP闊虫煴鏀硅澶囧悕绉版棩蹇楄褰曠粨鏉�
+ */
+ return flag;
+ }
+
+
+ public static Object getInfo() {
+ return TerminalAPIUtils.getTerminalInfo(25);
+ }
+
+ /**
+ * 鍚慠edis涓瓨鍏ヨ澶囩姸鎬�
+ */
+ public void setCacheData() {
+ //鏈嶅姟鍣ㄦ墍鏈夐煶鏌变俊鎭�
+ List<TerminalDto> list = TerminalAPIUtils.getTerminalList();
+ list.forEach(
+ device -> {
+ RedisDeviceStatus deviceStatus = new RedisDeviceStatus();
+ deviceStatus.setDeviceId(device.getId().toString());
+ if (device != null) {
+ //绌洪棽 1銆� 宸ヤ綔涓� 2 鎴栬�� 4銆� 鏂嚎 0锛� 鎶� 閿� 8
+ switch (device.getStatus()) {
+ case 1:
+ case 2:
+ case 4:
+ deviceStatus.setStatus(0);
+ break;
+ case 0:
+ deviceStatus.setStatus(1);
+ break;
+ case 8:
+ deviceStatus.setStatus(0);
+ break;
+ default:
+ deviceStatus.setStatus(1);
+
+ }
+ }
+ redisUtils.set(DeviceRedisKey.IP_BROADCAST + device.getId(), JSON.toJSONString(deviceStatus));
+// redisUtils.delete(DeviceRedisKey.IP_BROADCAST + device.getId());
+ }
+ );
+
}
}
--
Gitblit v1.9.3