From 9dd4f3549911f1253ccd9b934e8a5a90a7b2ce8c Mon Sep 17 00:00:00 2001
From: liuhaonan <konodioda2333@vip.qq.com>
Date: 星期四, 28 四月 2022 18:24:56 +0800
Subject: [PATCH] 大气数据推送到LED
---
ximon-admin/src/main/java/com/sandu/ximon/admin/controller/PoleController.java | 196 ++++++++++++++++++++++++++++++++++++++++++++-----
1 files changed, 176 insertions(+), 20 deletions(-)
diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/PoleController.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/PoleController.java
index 172a6be..30f6786 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/PoleController.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/PoleController.java
@@ -2,26 +2,32 @@
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.ArrayUtil;
-import cn.hutool.core.util.StrUtil;
-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.domain.ResponseVO;
import com.sandu.common.object.BaseConditionVO;
+import com.sandu.common.security.annotation.AnonymousAccess;
import com.sandu.common.util.ResponseUtil;
+import com.sandu.common.util.SpringContextHolder;
import com.sandu.ximon.admin.dto.DeviceStatus;
import com.sandu.ximon.admin.param.PoleBindParam;
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.security.PermissionConfig;
+import com.sandu.ximon.admin.service.AirEquipmentService;
+import com.sandu.ximon.admin.service.IpVolumeService;
+import com.sandu.ximon.admin.service.MonitorService;
import com.sandu.ximon.admin.service.PoleService;
import com.sandu.ximon.dao.domain.Pole;
+import com.sandu.ximon.dao.enums.MenuEnum;
import lombok.AllArgsConstructor;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
-import java.util.Arrays;
+import java.sql.Wrapper;
import java.util.List;
-import java.util.Map;
/**
* 鐏潌妯″潡浠ュ強璁剧疆鍒嗙粍鍒板搴旂伅鏉�
@@ -34,6 +40,10 @@
public class PoleController {
private final PoleService poleService;
+ private MonitorService monitorService;
+ private IpVolumeService broadcastTerminalV2Service;
+ private AirEquipmentService airEquipmentService;
+ private final PermissionConfig permissionConfig;
@PostMapping("/add")
public ResponseVO<Object> addPole(@RequestBody @Validated PoleParam param) {
@@ -50,26 +60,38 @@
return ResponseUtil.success(poleService.deletePole(poleId));
}
- @GetMapping("/list")
- public ResponseVO<Object> listPole(BaseConditionVO baseConditionVO, @RequestParam(value = "keyword", required = false) String keyword) {
- PageHelper.startPage(baseConditionVO.getPageNo(), baseConditionVO.getPageSize());
- LambdaQueryWrapper<Pole> wrapper = Wrappers.lambdaQuery(Pole.class).orderByDesc(Pole::getId);
- if (StrUtil.isNotBlank(keyword)) {
- wrapper.like(Pole::getPoleCode, keyword)
- .or(lampPostLambdaQueryWrapper -> {
- lampPostLambdaQueryWrapper.like(Pole::getPoleName, keyword);
- });
+ @PostMapping("/list")
+ public ResponseVO<Object> listPole(BaseConditionVO baseConditionVO, @RequestBody PoleStatesParam param) {
+ if (!permissionConfig.check(MenuEnum.POLE_LIST.getCode())) {
+ return ResponseUtil.fail("缂哄皯瀵瑰簲鐢ㄦ埛鏉冮檺");
}
- List<Pole> list = poleService.list(wrapper);
- return ResponseUtil.successPage(list);
+ PageHelper.startPage(baseConditionVO.getPageNo(), baseConditionVO.getPageSize());
+ List<Pole> results = poleService.queryAllStatesAndList(baseConditionVO.getPageNo(), baseConditionVO.getPageSize(), param);
+ CommonPage commonPage = CommonPage.restPage(results);
+ int size = results.size();
+ commonPage.setTotal((long) size);
+ commonPage.setTotalPage(size / baseConditionVO.getPageSize() + 1);
+ if (size % baseConditionVO.getPageSize() == 0) {
+ commonPage.setTotalPage(size / baseConditionVO.getPageSize());
+ }
+ return ResponseUtil.success(commonPage);
+ // return ResponseUtil.success(poles);
}
@GetMapping("/listPoleAndState")
- public ResponseVO<Object> listPoleAndState(BaseConditionVO baseConditionVO, @RequestParam(value = "keyword", required = false) String keyword) {
+ public ResponseVO<Object> listPoleAndState(BaseConditionVO baseConditionVO, @RequestParam(value = "keyword", required = false) String keyword,
+ @RequestParam(value = "groupid", required = false) Long groupid) {
PageHelper.startPage(baseConditionVO.getPageNo(), baseConditionVO.getPageSize());
-
- List<Pole> poles = poleService.queryStatesAndList(baseConditionVO.getPageNo(), baseConditionVO.getPageSize());
+ List<Pole> poles = poleService.queryStatesAndList(baseConditionVO.getPageNo(), baseConditionVO.getPageSize(), keyword, groupid);
return ResponseUtil.successPage(poles);
+ }
+
+ /**
+ * 鍦ㄧ嚎鏁伴噺
+ */
+ @GetMapping("/online")
+ public ResponseVO<Object> online() {
+ return ResponseUtil.success(poleService.poleCount());
}
@@ -78,9 +100,9 @@
*/
@PostMapping("/setMac/{baseMac}")
public ResponseVO<Object> setMac(@PathVariable String baseMac) {
- //public ResponseVO<Object> setMac() {
+ //public ResponseVO<Object> setMac() {
return ResponseUtil.success(poleService.setMac(baseMac));
- // return ResponseUtil.success(poleService.setMac());
+ // return ResponseUtil.success(poleService.setMac());
}
/**
@@ -91,6 +113,7 @@
return ResponseUtil.success(poleService.poleReset(poleId));
}
+//TODO 璁惧鐨勭粦瀹氳В缁戦兘瑕佸崟鐙噸鏂板鐞�
/**
* 鐏潌缁戝畾璁惧
@@ -99,9 +122,97 @@
public ResponseVO<Object> bindPole(@PathVariable Long poleId, @RequestBody @Validated PoleBindingParam param) {
boolean result = poleService.bindPole(poleId, param);
if (result) {
+ //璁惧绫诲瀷锛�0璺伅锛�1nove锛�2鍏呯數妗╋紝3澶ф皵鐩戞祴锛�4姘磋川鐩戞祴锛�5ip闊虫煴锛�6lcd骞垮憡鏈猴紝7鎽勫儚澶达紝8鏉嗕綋鍊炬祴锛�9涓�閿晳鍔�, 10鐔欒, 11鍐滆��
+ switch (param.getDeviceType()) {
+ case 0:
+ Pole pole = poleService.getById(poleId);
+ if (pole != null) {
+ pole.setPoleName(param.getDeviceName());
+ pole.setDeviceCode(param.getDeviceCode());
+ poleService.updateById(pole);
+ }
+ break;
+ case 1:
+ break;
+ case 2:
+ break;
+ case 3:
+ break;
+ case 4:
+ break;
+ case 5:
+ broadcastTerminalV2Service.updateBingdingState(true, Integer.valueOf(param.getDeviceCode()).intValue());
+ break;
+ case 6:
+ break;
+ case 7:
+ monitorService.updateBingdingState(true, param.getDeviceCode());
+ break;
+ case 8:
+ break;
+ case 9:
+ break;
+ case 10:
+ break;
+ case 11:
+ break;
+ default:
+ break;
+ }
+
return ResponseUtil.success("缁戝畾鎴愬姛");
} else {
return ResponseUtil.fail("缁戝畾澶辫触");
+ }
+ }
+
+ /**
+ * 鐏潌缁戝畾璁惧
+ */
+ @PostMapping("/unBind/{poleId}")
+ public ResponseVO<Object> unBindPole(@PathVariable Long poleId, @RequestBody @Validated PoleBindingParam param) {
+ boolean result = poleService.unBindPole(poleId, param.getDeviceCode());
+ if (result) {
+ //璁惧绫诲瀷锛�0璺伅锛�1led灞忓箷锛�2鍏呯數妗╋紝3澶ф皵鐩戞祴锛�4姘磋川鐩戞祴锛�5ip闊虫煴锛�6lcd骞垮憡鏈猴紝7鎽勫儚澶达紝8鏉嗕綋鍊炬祴锛�9涓�閿晳鍔�, 10鐔欒, 11鍐滆��
+ switch (param.getDeviceType()) {
+ case 0:
+ //鍒犻櫎鐏潌鐨刣evicescode
+ Pole pole = poleService.getOne(Wrappers.lambdaQuery(Pole.class).eq(Pole::getId, poleId));
+ if (pole != null) {
+ poleService.updateDeviceCode(pole.getId());
+ }
+ break;
+ case 1:
+ break;
+ case 2:
+ break;
+ case 3:
+ break;
+ case 4:
+ break;
+ case 5:
+ broadcastTerminalV2Service.updateBingdingState(false, Integer.valueOf(param.getDeviceCode()).intValue());
+ break;
+ case 6:
+ break;
+ case 7:
+ monitorService.updateBingdingState(false, param.getDeviceCode());
+ break;
+ case 8:
+ break;
+ case 9:
+ break;
+ case 10:
+ break;
+ case 11:
+ break;
+ default:
+ break;
+ }
+
+ return ResponseUtil.success("瑙g粦鎴愬姛");
+ } else {
+ return ResponseUtil.fail("瑙g粦澶辫触");
}
}
@@ -126,4 +237,49 @@
}
+ /**
+ * 鏌ユ壘鑷繁鎷ユ湁鐨勭伅鏉�
+ */
+ @PostMapping("/getOwnerPole/{cilentId}")
+ public ResponseVO<Object> getOwnerPole(BaseConditionVO baseConditionVO, @RequestParam(value = "keyword", required = false) String keyword
+ , @PathVariable Long cilentId) {
+ List<Pole> results = poleService.getOwnerPole(baseConditionVO, keyword, cilentId);
+// CommonPage commonPage = CommonPage.restPage(results);
+// int size = results.size();
+// commonPage.setTotal((long) size);
+// commonPage.setTotalPage(size / baseConditionVO.getPageSize() + 1);
+// if (size % baseConditionVO.getPageSize() == 0) {
+// commonPage.setTotalPage(size / baseConditionVO.getPageSize());
+// }
+// return ResponseUtil.success(commonPage);
+ return ResponseUtil.success(results);
+ }
+
+ /**
+ * 鏌ョ湅鐏潌缁戝畾鐨勮澶�
+ */
+ @PostMapping("/getPoleBindDevice/{poleId}")
+ public ResponseVO<Object> getPoleBindDevice(@PathVariable Long poleId) {
+ return ResponseUtil.success(poleService.getBindByPoleId(poleId));
+ }
+
+
+ /**
+ * 鎺ㄩ�佸ぇ姘旇澶囧埌璇虹摝
+ */
+ @AnonymousAccess
+ @GetMapping("/pushAidDataToNova/{poleId}")
+ public ResponseVO<Object> pushAirDataToNova(@PathVariable Long poleId) {
+ return ResponseUtil.success(poleService.pushAirDataToNova(poleId));
+ }
+
+ /**
+ * 鎺ㄩ�佸ぇ姘旇澶囧埌鐔欒
+ */
+ @AnonymousAccess
+ @GetMapping("/pushAirDataToXiXun/{poleId}")
+ public ResponseVO<Object> pushAirDataToXiXun(@PathVariable Long poleId) {
+ return ResponseUtil.success(poleService.pushAirDataToXiXun(poleId));
+ }
+
}
--
Gitblit v1.9.3