From d9a9d8a2dad1d1e57b184bf8f972a03d654d883a Mon Sep 17 00:00:00 2001
From: liuhaonan <31457034@qq.com>
Date: 星期五, 22 七月 2022 15:07:01 +0800
Subject: [PATCH] 优化
---
ximon-admin/src/main/java/com/sandu/ximon/admin/service/MonitorService.java | 143 ++++++++++++++++++++++++++++++++++-------------
1 files changed, 102 insertions(+), 41 deletions(-)
diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/MonitorService.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/MonitorService.java
index 001bf33..1576f94 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/MonitorService.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/MonitorService.java
@@ -9,15 +9,17 @@
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.YSY_AccessTokenDto;
+import com.sandu.ximon.admin.dto.YSY_MonitorDto;
import com.sandu.ximon.admin.param.MonitorParam;
import com.sandu.ximon.admin.security.SecurityUtils;
import com.sandu.ximon.admin.utils.ListPagingUtils;
+import com.sandu.ximon.admin.utils.StoreOperationRecordsUtils;
import com.sandu.ximon.admin.vo.EquipmentInfomation;
import com.sandu.ximon.dao.bo.MonitorBo;
import com.sandu.ximon.dao.domain.Monitor;
-import com.sandu.ximon.admin.dto.YSY_AccessTokenDto;
-import com.sandu.ximon.admin.dto.YSY_MonitorDto;
import com.sandu.ximon.dao.domain.PoleBinding;
+import com.sandu.ximon.dao.enums.OrderByEnums;
import com.sandu.ximon.dao.enums.PoleBindingEnums;
import com.sandu.ximon.dao.mapper.MonitorMapper;
import lombok.AllArgsConstructor;
@@ -57,17 +59,47 @@
/**
* 妯$硦鏌ヨ
*/
- public CommonPage listMonitorByKeyword(BaseConditionVO baseConditionVO, MonitorParam monitorParam) {
+ public CommonPage listMonitorByKeyword(BaseConditionVO baseConditionVO,Integer order,Integer seq, MonitorParam monitorParam) {
//缁戝畾鐘舵�侊細宸茬粦瀹�/鏈粦瀹�/鍏ㄩ儴
if (monitorParam.getBindingState() == null) {
//鍏ㄩ儴
monitorParam.setBindingState(2);
}
+ //鎺掑簭瀛楁
+ String orderByResult = "id";
+ //姝e簭銆佸�掑彊
+ String orderBySeq =OrderByEnums.ASC.getCode();
+ if (order != null) {
+ switch (order) {
+ case 1:
+ orderByResult = OrderByEnums.MONITOR_POLE_NAME.getCode();
+ break;
+ case 2:
+ orderByResult = OrderByEnums.MONITOR_CREATE_TIME.getCode();
+ break;
+ default:
+ }
+ }
+ if (seq != null) {
+ switch (seq) {
+ case 1:
+ orderBySeq = " ASC";
+ break;
+ case 2:
+ orderBySeq = " DESC";
+ break;
+ default:
+ break;
+ }
+ }
+ //鎺掑簭鏂瑰紡
+ String orderBy = orderByResult + " " + orderBySeq;
+
List<MonitorBo> list;
if (SecurityUtils.getClientId() == null) {
- list = monitorMapper.listMonitorDeviceSerial1(null, monitorParam.getKeyword(), monitorParam.getBindingState());
+ list = monitorMapper.listMonitorDeviceSerial1(null, monitorParam.getKeyword(), monitorParam.getBindingState(),orderBy);
} else {
- list = monitorMapper.listMonitorDeviceSerial1(SecurityUtils.getUserId(), monitorParam.getKeyword(), monitorParam.getBindingState());
+ list = monitorMapper.listMonitorDeviceSerial1(SecurityUtils.getUserId(), monitorParam.getKeyword(), monitorParam.getBindingState(),orderBy);
}
//娌℃湁鏁版嵁鏃跺�欑洿鎺ヨ繑鍥炵┖鏁扮粍
@@ -162,6 +194,16 @@
//鍒犻櫎鎽勫儚澶磋澶囧墠闇�瑕佸厛瑙g粦
poleBindingService.unBindPole(null, monitor.getDeviceSerial());
}
+ /**
+ * 鍒犻櫎鎽勫儚澶存棩蹇楄褰曞紑濮�
+ */
+ String content = "{鎽勫儚澶碈ode锛�" + monitor.getDeviceSerial() + "锛� 鎽勫儚澶村悕绉帮細" + monitor.getDeviceName() + " }";
+ List<String> listCode = new ArrayList<>();
+ listCode.add(monitor.getDeviceSerial());
+ StoreOperationRecordsUtils.storeOperationData(listCode, null, "鍒犻櫎鎽勫儚澶�", content);
+ /**
+ * 鍒犻櫎鎽勫儚澶存棩蹇楄褰曠粨鏉�
+ */
return removeById(Id);
}
@@ -225,6 +267,7 @@
if (one != null) {
equipmentInfo.setEquipmentCreateTime(one.getAddTime());
equipmentInfo.setEquipmentMac(one.getDeviceSerial());
+ equipmentInfo.setEquipmentName(one.getDeviceName());
}
String token = getAccessToken();
@@ -256,6 +299,11 @@
* // * @param validateCode 璁惧楠岃瘉鐮侊紝璁惧鏈鸿韩涓婄殑鍏綅澶у啓瀛楁瘝
*/
public boolean addYSYMonitor(String deviceSerial, String validateCode) {
+ List<Monitor> list = list(Wrappers.lambdaQuery(Monitor.class).eq(Monitor::getDeviceSerial, deviceSerial));
+ if (list.size() != 0) {
+ throw new BusinessException("璇ユ憚鍍忓ご宸插瓨鍦紝鏃犳硶閲嶅娣诲姞锛�");
+ }
+
Map<String, Object> paramMap = new HashMap<>();
paramMap.put("accessToken", getAccessToken());
paramMap.put("deviceSerial", deviceSerial);
@@ -263,21 +311,46 @@
paramMap.put("validateCode", validateCode);
}
String s = HttpUtil.post(YSY_URL + ADD_DEVICE_URL, paramMap);
+ if (!s.startsWith("{") && !s.endsWith("}")) {
+ throw new BusinessException("钀ょ煶浜戞暟鎹紓甯�");
+ }
+
YSY_MonitorDto monitorDto = JSON.parseObject(s, YSY_MonitorDto.class);
- if ("200".equals(monitorDto.getCode()) || "20017".equals(monitorDto.getCode())) {
- Monitor monitor = new Monitor();
- monitor.setDeviceSerial(monitorDto.getData().getDeviceSerial());
- monitor.setDevicesCode(validateCode);
- monitor.setDeviceName(monitorDto.getData().getDeviceName());
- monitor.setEquipmentState(monitorDto.getData().getStatus());
- monitor.setIsEncrypt(monitorDto.getData().getIsEncrypt());
- monitor.setDeviceType(monitorDto.getData().getModel());
- monitor.setNetAddress(monitorDto.getData().getNetAddress());
- return addMonitorInfoToTable(monitor);
- } else {
- return false;
+ boolean result;
+ if ("20017".equals(monitorDto.getCode())) {
+ //褰撳墠鎽勫儚澶村凡缁忚钀ょ煶浜戝畼缃戞坊鍔犺繃,Code:20017
+ monitorDto = getYSYMonitorInfo(getAccessToken(), deviceSerial);
+
+ } else if (!"200".equals(monitorDto.getCode())) {
+ //褰撳墠鎽勫儚澶存垚鍔熻钀ょ煶浜戝畼缃戞坊鍔�,Code:200
+ throw new BusinessException(monitorDto.getMsg());
}
+
+ if (monitorDto.getData() == null) {
+ throw new BusinessException("钀ょ煶浜戞暟鎹紓甯革紒");
+ }
+ Monitor monitor = new Monitor();
+ monitor.setDeviceSerial(monitorDto.getData().getDeviceSerial());
+ monitor.setDevicesCode(validateCode);
+ monitor.setDeviceName(monitorDto.getData().getDeviceName());
+ monitor.setEquipmentState(monitorDto.getData().getStatus());
+ monitor.setIsEncrypt(monitorDto.getData().getIsEncrypt());
+ monitor.setDeviceType(monitorDto.getData().getModel());
+ monitor.setNetAddress(monitorDto.getData().getNetAddress());
+ result = addMonitorInfoToTable(monitor);
+
+ /**
+ * 鏂板鎽勫儚澶村紑濮�
+ */
+ String content = "{鎽勫儚澶碈ode锛�" + monitor.getDeviceSerial() + "锛� 鎽勫儚澶村悕绉帮細" + monitor.getDeviceName() + " }";
+ List<String> listCode = new ArrayList<>();
+ listCode.add(monitor.getDeviceSerial());
+ StoreOperationRecordsUtils.storeOperationData(listCode, null, "鏂板鎽勫儚澶�", content);
+ /**
+ * 鏂板鎽勫儚澶寸粨鏉�
+ */
+ return result;
}
/**
@@ -311,29 +384,6 @@
monitor.setId(one.getId());
return updateById(monitor);
}
- }
-
- /**
- * 灏嗘憚鍍忓ご璁惧鐩稿叧淇℃伅鏇存柊鍒版暟鎹簱
- *
- * @param monitor 鎽勫儚澶村璞�
- * @return
- */
- public boolean upDateMonitorInfo(Monitor monitor) {
- if (monitor.getId() == null) {
- throw new BusinessException("缂哄皯鎽勫儚澶寸浉鍏矷D鍙傛暟");
- }
-
- Monitor info = getById(monitor.getId());
-
- if (info == null) {
- throw new BusinessException("鎵句笉鍒扮浉鍏虫憚鍍忓ご");
- }
- if (!monitor.getDevicesCode().equals(info.getDevicesCode()) || !monitor.getDeviceSerial().equals(info.getDeviceSerial())) {
- throw new BusinessException("鐩戞帶搴忓垪鍙锋垨鐩戞帶楠岃瘉鐮佷笉姝g‘");
- }
-
- return updateById(monitor);
}
/**
@@ -401,10 +451,21 @@
boolean belong = SpringContextHolder.getBean(PoleBindingService.class).isBelong(one.getDeviceSerial(), PoleBindingEnums.MONITOR);
if (!belong) {
- throw new RuntimeException("璇ヨ澶囦笉灞炰簬鎮�,涓嶈兘淇敼璁惧淇℃伅");
+ throw new BusinessException("璇ヨ澶囦笉灞炰簬鎮�,涓嶈兘淇敼璁惧淇℃伅");
}
if (one != null) {
one.setNote(notes);
+
+ /**
+ * 娣诲姞鎽勫儚澶村娉ㄦ棩蹇楄褰曞紑濮�
+ */
+ String content = "缂栬緫鎽勫儚澶达細" + deviceSerial + "缂栬緫鍐呭锛�" + notes;
+ List<String> list = new ArrayList<>();
+ list.add(deviceSerial);
+ StoreOperationRecordsUtils.storeOperationData(list, null, "缂栬緫鎽勫儚澶�", content);
+ /**
+ * 娣诲姞鎽勫儚澶村娉ㄦ棩蹇楄褰曠粨鏉�
+ */
return updateById(one);
} else {
throw new BusinessException("鎽勫儚澶磋澶囦笉瀛樺湪锛�");
--
Gitblit v1.9.3