From 52eb3f0befcb397d2fdd645c8d7471d6ee477f87 Mon Sep 17 00:00:00 2001
From: zhanzhiqin <895896009@qq.com>
Date: 星期一, 09 五月 2022 16:36:38 +0800
Subject: [PATCH] 权限
---
ximon-admin/src/main/java/com/sandu/ximon/admin/service/MonitorService.java | 176 ++++++++++++++++++++++++++++++++++++----------------------
1 files changed, 109 insertions(+), 67 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 f8672af..be5e1dc 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
@@ -1,29 +1,30 @@
package com.sandu.ximon.admin.service;
-import cn.hutool.core.collection.CollUtil;
import cn.hutool.http.HttpUtil;
import com.alibaba.fastjson.JSON;
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
-import com.github.pagehelper.PageHelper;
+import com.sandu.common.domain.CommonPage;
import com.sandu.common.execption.BusinessException;
import com.sandu.common.object.BaseConditionVO;
import com.sandu.common.service.impl.BaseServiceImpl;
import com.sandu.ximon.admin.param.MonitorParam;
import com.sandu.ximon.admin.security.SecurityUtils;
-import com.sandu.ximon.dao.bo.AirEquipmentBo;
+import com.sandu.ximon.admin.utils.ListPagingUtils;
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.mapper.MonitorMapper;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Service;
+import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import java.util.concurrent.CountDownLatch;
@Service
@AllArgsConstructor
@@ -53,53 +54,68 @@
/**
* 妯$硦鏌ヨ
*/
- public List<MonitorBo> listMonitorByKeyword(BaseConditionVO baseConditionVO, MonitorParam monitorParam) {
- List<String> list;
- if (SecurityUtils.getClientId() == null) {
- list = monitorMapper.listMonitorDeviceSerial(null);
- } else {
- list = monitorMapper.listMonitorDeviceSerial(SecurityUtils.getUserId());
- }
-
- MonitorParam monitorParam1;
- for (String devices_serial : list) {
- monitorParam1 = new MonitorParam();
- monitorParam1.setAccessToken(getAccessToken());
- monitorParam1.setDeviceSerial(devices_serial);
- getYSYMonitorInfoAndaddMonitorToTable(monitorParam1);
- }
-
-
- Long clientId = SecurityUtils.getClientId();
- if (baseConditionVO != null) {
- PageHelper.startPage(baseConditionVO.getPageNo(), baseConditionVO.getPageSize());
- }
- List<MonitorBo> monitorList;
+ public CommonPage listMonitorByKeyword(BaseConditionVO baseConditionVO, MonitorParam monitorParam) {
//缁戝畾鐘舵�侊細宸茬粦瀹�/鏈粦瀹�/鍏ㄩ儴
if (monitorParam.getBindingState() == null) {
//鍏ㄩ儴
monitorParam.setBindingState(2);
+ }
+ List<MonitorBo> list;
+ if (SecurityUtils.getClientId() == null) {
+ list = monitorMapper.listMonitorDeviceSerial1(null, monitorParam.getKeyword(), monitorParam.getBindingState());
+ } else {
+ list = monitorMapper.listMonitorDeviceSerial1(SecurityUtils.getUserId(), monitorParam.getKeyword(), monitorParam.getBindingState());
+ }
+
+ //娌℃湁鏁版嵁鏃跺�欑洿鎺ヨ繑鍥炵┖鏁扮粍
+ if (list.size() == 0 || list == null) {
+ return new CommonPage();
+ }
+ List<String> device_serialList = new ArrayList<>(list.size());
+ CountDownLatch latch = new CountDownLatch(list.size());
+ for (Monitor demo : list) {
+ device_serialList.add(demo.getDeviceSerial());
+ getMonitorInfo_Async(demo, latch);
+ }
+ try {
+ latch.await();
+ } catch (InterruptedException e) {
+ e.printStackTrace();
}
if (monitorParam.getEquipmentState() == null) {
//鍏ㄩ儴
monitorParam.setEquipmentState(2);
}
- monitorList = monitorMapper.listMonitorByIds(list, monitorParam.getKeyword(), monitorParam.getBindingState(), monitorParam.getEquipmentState(), clientId);
+ List<MonitorBo> temp = new ArrayList<>();
+ if (monitorParam.getEquipmentState() == 2) {
+ temp.addAll(list);
+ } else {
+ for (MonitorBo monitorBo : list) {
+ //绛涢�夌姸鎬佹暟鎹�
+ if (monitorBo.getEquipmentState().equals(monitorParam.getEquipmentState())) {
+ temp.add(monitorBo);
+ }
+ }
+ }
- return monitorList;
+ if(baseConditionVO==null){
+ baseConditionVO = new BaseConditionVO();
+ baseConditionVO.setPageSize(null);
+ baseConditionVO.setPageNo(null);
+ }
+ CommonPage commonPage = ListPagingUtils.pages(temp, baseConditionVO.getPageNo(), baseConditionVO.getPageSize());
+ return commonPage;
}
- public Monitor getYSYMonitorInfoAndaddMonitorToTable(MonitorParam monitorParam) {
- YSY_MonitorDto getMonitorDto = getYSYMonitorInfo(getAccessToken(), monitorParam.getDeviceSerial());
+ public Monitor getYSYMonitorInfoAndaddMonitorToTable(String deviceSerial) {
+ YSY_MonitorDto getMonitorDto = getYSYMonitorInfo(getAccessToken(), deviceSerial);
if ("200".equals(getMonitorDto.getCode())) {
- Monitor monitor = getOne(Wrappers.lambdaQuery(Monitor.class).eq(Monitor::getDeviceSerial, monitorParam.getDeviceSerial()));
+ Monitor monitor = getOne(Wrappers.lambdaQuery(Monitor.class).eq(Monitor::getDeviceSerial, deviceSerial));
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());
@@ -111,9 +127,6 @@
} 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());
@@ -126,7 +139,7 @@
return monitor;
} else {
- throw new BusinessException(getMonitorDto.getMsg());
+ return null;
}
}
@@ -141,9 +154,11 @@
if (monitor == null) {
throw new BusinessException("鎵句笉鍒版憚鍍忓ご");
}
-
- //鍒犻櫎鎽勫儚澶磋澶囧墠闇�瑕佸厛瑙g粦
- poleBindingService.unBindPole(null, monitor.getDeviceSerial());
+ PoleBinding one = poleBindingService.getOne(Wrappers.lambdaQuery(PoleBinding.class).eq(PoleBinding::getDeviceCode, monitor.getDeviceSerial()));
+ if (one != null) {
+ //鍒犻櫎鎽勫儚澶磋澶囧墠闇�瑕佸厛瑙g粦
+ poleBindingService.unBindPole(null, monitor.getDeviceSerial());
+ }
return removeById(Id);
}
@@ -162,6 +177,36 @@
/**
+ * 鑾峰彇钀ょ煶浜戞憚鍍忓ご淇℃伅(寮傛)
+ *
+ * @return
+ */
+ public void getMonitorInfo_Async(Monitor monitor, CountDownLatch countDownLatch) {
+ Thread t = new Thread() {
+ @Override
+ public void run() {
+ String token = getAccessToken();
+ Map<String, Object> paramMap = new HashMap<>();
+ paramMap.put("accessToken", token);
+ paramMap.put("deviceSerial", monitor.getDeviceSerial());
+ String s = HttpUtil.post(YSY_URL + GET_DEVICE_URL, paramMap);
+ YSY_MonitorDto monitorDto = null;
+ try {
+ monitorDto = JSON.parseObject(s, YSY_MonitorDto.class);
+ System.out.println(s + " ----------");
+ monitor.setEquipmentState(monitorDto.getData().getStatus());
+ countDownLatch.countDown();
+ } catch (Exception e) {
+ monitor.setEquipmentState(0);
+ countDownLatch.countDown();
+ }
+ }
+ };
+ t.start();
+
+ }
+
+ /**
* 鑾峰彇钀ょ煶浜戞憚鍍忓ご淇℃伅 鏃犻渶楠岃瘉accessToken
*
* @return
@@ -172,48 +217,45 @@
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();
+ YSY_MonitorDto monitorDto = null;
+ try {
+ monitorDto = JSON.parseObject(s, YSY_MonitorDto.class);
+ return monitorDto.getData();
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ return null;
}
/**
* 娣诲姞钀ょ煶浜戞憚鍍忓ご
*
- * @param accessToken 鎺堟潈杩囩▼鑾峰彇鐨刟ccess_token
* @param deviceSerial 璁惧搴忓垪鍙�,瀛樺湪鑻辨枃瀛楁瘝鐨勮澶囧簭鍒楀彿锛屽瓧姣嶉渶涓哄ぇ鍐�
* // * @param validateCode 璁惧楠岃瘉鐮侊紝璁惧鏈鸿韩涓婄殑鍏綅澶у啓瀛楁瘝
*/
- public YSY_MonitorDto addYSYMonitor(String accessToken, String deviceSerial, String validateCode) {
-// public YSY_MonitorDto addYSYMonitor(String accessToken, String deviceSerial) {
-
+ public boolean addYSYMonitor(String deviceSerial, String validateCode) {
Map<String, Object> paramMap = new HashMap<>();
- paramMap.put("accessToken", accessToken);
+ paramMap.put("accessToken", getAccessToken());
paramMap.put("deviceSerial", deviceSerial);
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);
- return monitorDto;
- }
-
- /**
- * 鍒犻櫎钀ょ煶浜戞憚鍍忓ご
- *
- * @param accessToken 鎺堟潈杩囩▼鑾峰彇鐨刟ccess_token
- * @param deviceSerial 璁惧搴忓垪鍙�,瀛樺湪鑻辨枃瀛楁瘝鐨勮澶囧簭鍒楀彿锛屽瓧姣嶉渶涓哄ぇ鍐�
- */
- public YSY_MonitorDto deleteYSYMonitor(String accessToken, String deviceSerial) {
-
- Map<String, Object> paramMap = new HashMap<>();
- paramMap.put("accessToken", accessToken);
- paramMap.put("deviceSerial", deviceSerial);
- String s = HttpUtil.post(YSY_URL + DELETE_DEVICE_URL, paramMap);
- System.out.println(s);
- YSY_MonitorDto monitorDto = JSON.parseObject(s, YSY_MonitorDto.class);
- return monitorDto;
+ 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;
+ }
}
/**
--
Gitblit v1.9.3