From af4cd17b9851e940dd1dc8a43b3b21fbdd452f76 Mon Sep 17 00:00:00 2001
From: liuhaonan <31457034@qq.com>
Date: 星期五, 23 九月 2022 17:09:54 +0800
Subject: [PATCH] changes
---
ximon-admin/src/main/java/com/sandu/ximon/admin/service/PoleService.java | 83 +++++++++++++++++++++++++++++++++--------
1 files changed, 66 insertions(+), 17 deletions(-)
diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/PoleService.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/PoleService.java
index d50db30..fb5656d 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/PoleService.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/PoleService.java
@@ -14,7 +14,6 @@
import com.sandu.common.service.impl.BaseServiceImpl;
import com.sandu.common.util.SpringContextHolder;
import com.sandu.ximon.admin.dto.DeviceStatus;
-import com.sandu.ximon.admin.dto.WaterQualityDataDto;
import com.sandu.ximon.admin.manager.iot.frame.A1Frame;
import com.sandu.ximon.admin.manager.iot.frame.FrameBuilder;
import com.sandu.ximon.admin.manager.iot.frame.IRequestFrame;
@@ -25,14 +24,19 @@
import com.sandu.ximon.admin.manager.iot.frame.inner.response.A1DeviceMacRespInnerFrame;
import com.sandu.ximon.admin.manager.iot.frame.inner.response.A1TernaryCodeRespInnerFrame;
import com.sandu.ximon.admin.manager.iot.rrpc.dto.CommonFrame;
-import com.sandu.ximon.admin.manager.iot.rrpc.enums.*;
+import com.sandu.ximon.admin.manager.iot.rrpc.enums.A1OrderEnum;
+import com.sandu.ximon.admin.manager.iot.rrpc.enums.A2OrderEnum;
+import com.sandu.ximon.admin.manager.iot.rrpc.enums.A5OrderEnum;
+import com.sandu.ximon.admin.manager.iot.rrpc.enums.DeviceStateEnum;
import com.sandu.ximon.admin.manager.iot.rrpc.mainboard.MainBoardInvokeSyncService;
-import com.sandu.ximon.admin.param.*;
+import com.sandu.ximon.admin.param.PoleBindingParam;
+import com.sandu.ximon.admin.param.PoleParam;
+import com.sandu.ximon.admin.param.PoleStatesParam;
+import com.sandu.ximon.admin.param.PushAirDataToNovaParam;
import com.sandu.ximon.admin.redis.LightKey;
import com.sandu.ximon.admin.security.SecurityUtils;
import com.sandu.ximon.admin.utils.LightemitUtils;
import com.sandu.ximon.admin.utils.ListPagingUtils;
-import com.sandu.ximon.admin.utils.RedisUtils;
import com.sandu.ximon.admin.utils.StoreOperationRecordsUtils;
import com.sandu.ximon.admin.utils.response.VnnoxResult;
import com.sandu.ximon.admin.vo.PoleBindVO;
@@ -71,6 +75,7 @@
BeanUtils.copyProperties(param, pole);
pole.setPoleCode(generatePoleCode());
pole.setDeviceType(-1);
+ pole.setCentre(1);
boolean save = save(pole);
/**
@@ -99,6 +104,9 @@
Pole update = new Pole();
BeanUtils.copyProperties(param, update);
update.setId(poleId);
+ if (param.getIsCenter() != null) {
+ update.setCentre(param.getIsCenter());
+ }
/**
* 淇敼鐏潌鏃ュ織璁板綍寮�濮�
*/
@@ -255,14 +263,22 @@
String orderBy = "t1." + orderByResult + " " + orderBySeq;
List<Pole> poleList;
+ Integer center = param.getCenter();
if (SecurityUtils.getClientId() == null) {
poleList = poleMapper.queryPoleOnLineStatesList(null, param.getIsTrue(),
- param.getBingStates(), param.getGroupid(), param.getKeyword(), orderBy);
+ param.getBingStates(), param.getGroupid(), param.getKeyword(), center, orderBy);
} else {
poleList = poleMapper.queryPoleOnLineStatesList(SecurityUtils.getUserId(),
- param.getIsTrue(), param.getBingStates(), param.getGroupid(), param.getKeyword(), orderBy);
+ param.getIsTrue(), param.getBingStates(), param.getGroupid(), param.getKeyword(), center, orderBy);
}
+ poleList.forEach(
+ centre -> {
+ if (centre.getCentre() == 0) {
+ centre.setCenter(true);
+ }
+ }
+ );
List<Pole> PoleResult = isOnLine(poleList, param);
setCount(PoleResult);
@@ -628,10 +644,13 @@
boolean result = saveOrUpdate(pole);
if (result) {
- Light light = new Light();
- light.setDeviceCode(uniqueMac);
- light.setLightCount(2);
- SpringContextHolder.getBean(LightService.class).save(light);
+ Light light = SpringContextHolder.getBean(LightService.class).getOne(Wrappers.lambdaQuery(Light.class).eq(Light::getDeviceCode, pole.getDeviceCode()).last("limit 1"));
+ if (light == null) {
+ light = new Light();
+ light.setDeviceCode(uniqueMac);
+ light.setLightCount(2);
+ SpringContextHolder.getBean(LightService.class).save(light);
+ }
}
/**
@@ -698,10 +717,36 @@
if (pole == null) {
throw new BusinessException("鐏潌涓嶅瓨鍦�");
}
- pole.setUserId(clientId);
- if (!clientService.findClientId(clientId)) {
- pole.setClientId(clientService.getClientId(clientId));
+ pole.setClientId(clientId);
+ if (clientService.findClientId(clientId)) {
+ pole.setUserId(clientService.getClientId(clientId));
+
}
+ r = updateById(pole);
+
+ if (!r) {
+ throw new BusinessException("鐏潌ID涓�" + poleId + "璁剧疆澶辫触,鑷姩鍋滄");
+ }
+
+ }
+ return r;
+ }
+
+ /**
+ * 鐢ㄦ埛瑙g粦鐏潌
+ *
+ * @param clientId
+ * @param poleIds
+ * @return
+ */
+ public boolean ClientUnBindingPole(long clientId, int[] poleIds) {
+ boolean r = false;
+ for (int poleId : poleIds) {
+ Pole pole = getById(poleId);
+ if (pole == null) {
+ throw new BusinessException("鐏潌涓嶅瓨鍦�");
+ }
+ pole.setClientId(-1L);
r = updateById(pole);
if (!r) {
@@ -884,14 +929,17 @@
throw new BusinessException("璁惧涓嶅瓨鍦�");
}
//鍏抽棴鎺ㄩ��
- SpringContextHolder.getBean(LightemitUtils.class).clear(xixun.getDeviceCode());
-
+ String clear = SpringContextHolder.getBean(LightemitUtils.class).clear(xixun.getDeviceCode());
+ if (clear.contains("is not") || clear.contains("does not")) {
+ throw new BusinessException("璁惧涓嶅湪绾挎垨璁惧鏈瓨鍦ㄤ簬鏈嶅姟鍣�");
+ }
}
/**
* 鎺ㄩ�佸ぇ姘旂洃娴嬫暟鎹埌novaLED
*/
- public VnnoxResult pushAirDataToNova(Long poleId) {
+ public VnnoxResult pushAirDataToNova(PushAirDataToNovaParam param) {
+ Long poleId=param.getPoleId();
Pole pole = getById(poleId);
PoleBinding air = poleBindingService.getOne(Wrappers.lambdaQuery(PoleBinding.class).eq(PoleBinding::getPoleId, poleId).eq(PoleBinding::getDeviceType, 3));
PoleBinding nova = poleBindingService.getOne(Wrappers.lambdaQuery(PoleBinding.class).eq(PoleBinding::getPoleId, poleId).eq(PoleBinding::getDeviceType, 1));
@@ -908,7 +956,8 @@
//鑾峰彇澶ф皵鐩戞祴鏁版嵁
A5AtmosphereHeartbeatReportInnerFrame.HeartBeatDataPackage data = SpringContextHolder.getBean(AirDataService.class).getDataByPoleid(poleId);
//鎺ㄩ�佹暟鎹�
- return SpringContextHolder.getBean(VnnoxService.class).publishWaterData(LED.getPlayerId(), data);
+// return SpringContextHolder.getBean(VnnoxService.class).publishWaterData(LED.getPlayerId(),param.getDuration(), data);
+ return SpringContextHolder.getBean(VnnoxService.class).WaterData(LED.getPlayerId(),param.getDuration(), data);
}
--
Gitblit v1.9.3