From c8ce26aac0004e249a0cef35fe15b2ddb280ad25 Mon Sep 17 00:00:00 2001
From: liuhaonan <konodioda2333@vip.qq.com>
Date: 星期三, 27 四月 2022 15:51:10 +0800
Subject: [PATCH] 大气数据推送到LED
---
ximon-admin/src/main/java/com/sandu/ximon/admin/service/MonitorService.java | 116 ++++++++++++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 109 insertions(+), 7 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 706f23f..9c98ae6 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
@@ -21,6 +21,7 @@
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Service;
+import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -54,8 +55,30 @@
* 妯$硦鏌ヨ
*/
public List<MonitorBo> listMonitorByKeyword(BaseConditionVO baseConditionVO, MonitorParam monitorParam) {
- Long clientId = SecurityUtils.getClientId();
- PageHelper.startPage(baseConditionVO.getPageNo(), baseConditionVO.getPageSize());
+ List<String> list;
+ if (SecurityUtils.getClientId() == null) {
+ list = monitorMapper.listMonitorDeviceSerial(null, monitorParam.getKeyword());
+ } else {
+ list = monitorMapper.listMonitorDeviceSerial(SecurityUtils.getUserId(), monitorParam.getKeyword());
+ }
+
+ //娌℃湁鏁版嵁鏃跺�欑洿鎺ヨ繑鍥炵┖鏁扮粍
+ if (list.size() == 0 || list == null) {
+ List<MonitorBo> nullList = new ArrayList<>();
+ return nullList;
+ }
+
+ MonitorParam monitorParam1;
+ for (String devices_serial : list) {
+ monitorParam1 = new MonitorParam();
+ monitorParam1.setAccessToken(getAccessToken());
+ monitorParam1.setDeviceSerial(devices_serial);
+ getYSYMonitorInfoAndaddMonitorToTable(monitorParam1);
+ }
+
+ if (baseConditionVO != null) {
+ PageHelper.startPage(baseConditionVO.getPageNo(), baseConditionVO.getPageSize());
+ }
List<MonitorBo> monitorList;
//缁戝畾鐘舵�侊細宸茬粦瀹�/鏈粦瀹�/鍏ㄩ儴
if (monitorParam.getBindingState() == null) {
@@ -67,9 +90,49 @@
monitorParam.setEquipmentState(2);
}
- monitorList = monitorMapper.listMonitorByIds(monitorParam.getKeyword(), clientId, monitorParam.getBindingState(), monitorParam.getEquipmentState());
+ monitorList = monitorMapper.listMonitorByIds(list, monitorParam.getBindingState(), monitorParam.getEquipmentState());
return monitorList;
+ }
+
+ public Monitor getYSYMonitorInfoAndaddMonitorToTable(MonitorParam monitorParam) {
+ YSY_MonitorDto getMonitorDto = getYSYMonitorInfo(getAccessToken(), monitorParam.getDeviceSerial());
+
+ if ("200".equals(getMonitorDto.getCode())) {
+ Monitor monitor = getOne(Wrappers.lambdaQuery(Monitor.class).eq(Monitor::getDeviceSerial, monitorParam.getDeviceSerial()));
+ if (monitor != null) {
+ monitor.setDeviceSerial(getMonitorDto.getData().getDeviceSerial());
+ if (monitorParam.getValidateCode() != null) {
+ monitor.setDevicesCode(monitorParam.getValidateCode());
+ }
+ monitor.setDeviceName(getMonitorDto.getData().getDeviceName());
+ monitor.setDeviceType(getMonitorDto.getData().getModel());
+ monitor.setEquipmentState(getMonitorDto.getData().getStatus());
+ monitor.setIsEncrypt(getMonitorDto.getData().getIsEncrypt());
+ monitor.setAddTime(getMonitorDto.getData().getUpdateTime());
+ monitor.setNetAddress(getMonitorDto.getData().getNetAddress());
+ //鏇存柊鎽勫儚澶寸姸鎬�
+ updateById(monitor);
+ } else {
+ monitor = new Monitor();
+ monitor.setDeviceSerial(getMonitorDto.getData().getDeviceSerial());
+ if (monitorParam.getValidateCode() != null) {
+ monitor.setDevicesCode(monitorParam.getValidateCode());
+ }
+ monitor.setDeviceName(getMonitorDto.getData().getDeviceName());
+ monitor.setDeviceType(getMonitorDto.getData().getModel());
+ monitor.setEquipmentState(getMonitorDto.getData().getStatus());
+ monitor.setIsEncrypt(getMonitorDto.getData().getIsEncrypt());
+ monitor.setAddTime(getMonitorDto.getData().getUpdateTime());
+ monitor.setNetAddress(getMonitorDto.getData().getNetAddress());
+ //鏇存柊鎽勫儚澶寸姸鎬�
+ save(monitor);
+ }
+
+ return monitor;
+ } else {
+ throw new BusinessException(getMonitorDto.getMsg());
+ }
}
/**
@@ -85,7 +148,7 @@
}
//鍒犻櫎鎽勫儚澶磋澶囧墠闇�瑕佸厛瑙g粦
- poleBindingService.unBindPole(monitor.getDeviceSerial());
+ poleBindingService.unBindPole(null, monitor.getDeviceSerial());
return removeById(Id);
}
@@ -102,6 +165,22 @@
return accessTokenDto.getData().getAccessToken();
}
+
+ /**
+ * 鑾峰彇钀ょ煶浜戞憚鍍忓ご淇℃伅 鏃犻渶楠岃瘉accessToken
+ *
+ * @return
+ */
+ public YSY_MonitorDto.MonitorDto getMonitorInfo(String deviceSerial) {
+ String token = getAccessToken();
+ Map<String, Object> paramMap = new HashMap<>();
+ paramMap.put("accessToken", token);
+ paramMap.put("deviceSerial", deviceSerial);
+ String s = HttpUtil.post(YSY_URL + GET_DEVICE_URL, paramMap);
+ YSY_MonitorDto monitorDto = JSON.parseObject(s, YSY_MonitorDto.class);
+ return monitorDto.getData();
+ }
+
/**
* 娣诲姞钀ょ煶浜戞憚鍍忓ご
*
@@ -109,13 +188,15 @@
* @param deviceSerial 璁惧搴忓垪鍙�,瀛樺湪鑻辨枃瀛楁瘝鐨勮澶囧簭鍒楀彿锛屽瓧姣嶉渶涓哄ぇ鍐�
* // * @param validateCode 璁惧楠岃瘉鐮侊紝璁惧鏈鸿韩涓婄殑鍏綅澶у啓瀛楁瘝
*/
-// public YSY_MonitorDto addYSYMonitor(String accessToken, String deviceSerial, String validateCode) {
- public YSY_MonitorDto addYSYMonitor(String accessToken, String deviceSerial) {
+ public YSY_MonitorDto addYSYMonitor(String accessToken, String deviceSerial, String validateCode) {
+// public YSY_MonitorDto addYSYMonitor(String accessToken, String deviceSerial) {
Map<String, Object> paramMap = new HashMap<>();
paramMap.put("accessToken", accessToken);
paramMap.put("deviceSerial", deviceSerial);
-// paramMap.put("validateCode", validateCode);
+ if (validateCode != null && validateCode.trim().length() != 0) {
+ paramMap.put("validateCode", validateCode);
+ }
String s = HttpUtil.post(YSY_URL + ADD_DEVICE_URL, paramMap);
System.out.println(s);
YSY_MonitorDto monitorDto = JSON.parseObject(s, YSY_MonitorDto.class);
@@ -246,4 +327,25 @@
}
+ /**
+ * 淇敼note
+ *
+ * @param deviceSerial
+ * @param notes
+ * @return
+ */
+ public boolean updateNotes(String deviceSerial, String notes) {
+ if (deviceSerial == null || deviceSerial.trim().length() == 0 || notes == null) {
+ throw new BusinessException("淇敼澶囨敞鍙傛暟鏈夎锛�");
+ }
+ Monitor one = getOne(Wrappers.lambdaQuery(Monitor.class).eq(Monitor::getDeviceSerial, deviceSerial));
+ if (one != null) {
+ one.setNote(notes);
+ return updateById(one);
+ } else {
+ throw new BusinessException("鎽勫儚澶磋澶囦笉瀛樺湪锛�");
+ }
+ }
+
+
}
--
Gitblit v1.9.3