From c7be2ef037c5aebb0cd8f1f33e5fa934389e6083 Mon Sep 17 00:00:00 2001
From: liuhaonan <31457034@qq.com>
Date: 星期三, 26 十月 2022 17:51:43 +0800
Subject: [PATCH] changes
---
ximon-admin/src/main/java/com/sandu/ximon/admin/controller/PoleController.java | 284 ++++++++++++++++++++++++++++++++++++++++++++------------
1 files changed, 224 insertions(+), 60 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 2a58f9c..675a20b 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
@@ -6,26 +6,28 @@
import com.github.pagehelper.PageHelper;
import com.sandu.common.domain.CommonPage;
import com.sandu.common.domain.ResponseVO;
+import com.sandu.common.execption.BusinessException;
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.dto.DeviceStatusDto;
+import com.sandu.ximon.admin.param.*;
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.admin.utils.response.VnnoxResult;
+import com.sandu.ximon.admin.vo.PoleBindVO;
import com.sandu.ximon.dao.domain.Pole;
import com.sandu.ximon.dao.enums.MenuEnum;
+import com.sandu.ximon.dao.enums.PoleBindingEnums;
import lombok.AllArgsConstructor;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
-import java.sql.Wrapper;
+import java.util.ArrayList;
import java.util.List;
/**
@@ -46,40 +48,69 @@
@PostMapping("/add")
public ResponseVO<Object> addPole(@RequestBody @Validated PoleParam param) {
+ if (!permissionConfig.check(MenuEnum.POLE_VIRTUAL_ADD.getCode())) {
+ return ResponseUtil.fail("缂哄皯瀵瑰簲鐢ㄦ埛鏉冮檺");
+ }
return ResponseUtil.success(poleService.addPole(param));
}
@PostMapping("/update/{poleId}")
public ResponseVO<Object> updatePole(@PathVariable Long poleId, @RequestBody @Validated PoleParam param) {
+ if (!permissionConfig.check(MenuEnum.POLE_UPDATE.getCode())) {
+ return ResponseUtil.fail("缂哄皯瀵瑰簲鐢ㄦ埛鏉冮檺");
+ }
return ResponseUtil.success(poleService.updatePole(poleId, param));
}
@PostMapping("/delete/{poleId}")
public ResponseVO<Object> deletePole(@PathVariable Long poleId) {
+ if (!permissionConfig.check(MenuEnum.POLE_DELETE.getCode())) {
+ return ResponseUtil.fail("缂哄皯瀵瑰簲鐢ㄦ埛鏉冮檺");
+ }
return ResponseUtil.success(poleService.deletePole(poleId));
}
- @PostMapping("/list")
- public ResponseVO<Object> listPole(BaseConditionVO baseConditionVO, @RequestBody PoleStatesParam param) {
+ @PostMapping("/listDetail")
+ public ResponseVO<Object> listPoleDetail(BaseConditionVO baseConditionVO,
+ @RequestBody PoleStatesParam param,
+ @RequestParam(value = "order", required = false) Integer order,
+ @RequestParam(value = "seq", required = false) Integer seq) {
if (!permissionConfig.check(MenuEnum.POLE_LIST.getCode())) {
return ResponseUtil.fail("缂哄皯瀵瑰簲鐢ㄦ埛鏉冮檺");
}
- 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());
+ CommonPage commonPage = poleService.queryAllStatesAndList(baseConditionVO.getPageNo(), baseConditionVO.getPageSize(), param, order, seq);
+ List<Pole> listCommonPage = (List<Pole>) commonPage.getList();
+
+ List<PoleBindVO> listResult = new ArrayList<>();
+ for (Pole pole : listCommonPage) {
+ PoleBindVO bindByPoleId = poleService.getBindByPoleId(pole.getId());
+ bindByPoleId.setPole(pole);
+ listResult.add(bindByPoleId);
}
+ commonPage.setList(listResult);
return ResponseUtil.success(commonPage);
- // return ResponseUtil.success(poles);
}
+ @PostMapping("/list")
+ public ResponseVO<Object> listPole(BaseConditionVO baseConditionVO,
+ @RequestBody PoleStatesParam param,
+ @RequestParam(value = "order", required = false) Integer order,
+ @RequestParam(value = "seq", required = false) Integer seq) {
+ if (!permissionConfig.check(MenuEnum.POLE_LIST.getCode())) {
+ return ResponseUtil.fail("缂哄皯瀵瑰簲鐢ㄦ埛鏉冮檺");
+ }
+ CommonPage commonPage = poleService.queryAllStatesAndList(baseConditionVO.getPageNo(), baseConditionVO.getPageSize(), param, order, seq);
+
+ return ResponseUtil.success(commonPage);
+ }
+
+ //宸插惎鐢�
@GetMapping("/listPoleAndState")
public ResponseVO<Object> listPoleAndState(BaseConditionVO baseConditionVO, @RequestParam(value = "keyword", required = false) String keyword,
@RequestParam(value = "groupid", required = false) Long groupid) {
+ if (!permissionConfig.check(MenuEnum.POLE_LIST.getCode())) {
+ return ResponseUtil.fail("缂哄皯瀵瑰簲鐢ㄦ埛鏉冮檺");
+ }
PageHelper.startPage(baseConditionVO.getPageNo(), baseConditionVO.getPageSize());
List<Pole> poles = poleService.queryStatesAndList(baseConditionVO.getPageNo(), baseConditionVO.getPageSize(), keyword, groupid);
return ResponseUtil.successPage(poles);
@@ -88,6 +119,7 @@
/**
* 鍦ㄧ嚎鏁伴噺
*/
+// @AnonymousAccess
@GetMapping("/online")
public ResponseVO<Object> online() {
return ResponseUtil.success(poleService.poleCount());
@@ -97,33 +129,51 @@
/**
* 璁剧疆涓夊厓鐮�
*/
+ @AnonymousAccess
@PostMapping("/setMac/{baseMac}")
public ResponseVO<Object> setMac(@PathVariable String baseMac) {
- //public ResponseVO<Object> setMac() {
+ //鍒ゆ柇鏄惁鏄湁璁剧疆涓夊厓鐮佹潈闄�
+ if (!permissionConfig.check(MenuEnum.BASE_DEVICE_01.getCode()) && MenuEnum.BASE_DEVICE_01.getCode().equals(baseMac)) {
+ return ResponseUtil.fail("缂哄皯瀵瑰簲鐢ㄦ埛鏉冮檺");
+ } else if (!permissionConfig.check(MenuEnum.BASE_DEVICE_02.getCode()) && MenuEnum.BASE_DEVICE_02.getCode().equals(baseMac)) {
+ return ResponseUtil.fail("缂哄皯瀵瑰簲鐢ㄦ埛鏉冮檺");
+ } else if (!permissionConfig.check(MenuEnum.BASE_DEVICE_03.getCode()) && MenuEnum.BASE_DEVICE_03.getCode().equals(baseMac)) {
+ return ResponseUtil.fail("缂哄皯瀵瑰簲鐢ㄦ埛鏉冮檺");
+ } else if (!permissionConfig.check(MenuEnum.BASE_DEVICE_04.getCode()) && MenuEnum.BASE_DEVICE_04.getCode().equals(baseMac)) {
+ return ResponseUtil.fail("缂哄皯瀵瑰簲鐢ㄦ埛鏉冮檺");
+ } else if (!permissionConfig.check(MenuEnum.BASE_DEVICE_05.getCode()) && MenuEnum.BASE_DEVICE_05.getCode().equals(baseMac)) {
+ return ResponseUtil.fail("缂哄皯瀵瑰簲鐢ㄦ埛鏉冮檺");
+ }
+
return ResponseUtil.success(poleService.setMac(baseMac));
- // return ResponseUtil.success(poleService.setMac());
}
/**
* 鎭㈠鐏潌鍑哄巶璁剧疆
*/
+ @AnonymousAccess
@PostMapping("/poleReset/{poleId}")
public ResponseVO<Object> poleReset(@PathVariable Long poleId) {
+ if (!permissionConfig.check(MenuEnum.POLE_REAL_RESET.getCode())) {
+ return ResponseUtil.fail("缂哄皯瀵瑰簲鐢ㄦ埛鏉冮檺");
+ }
return ResponseUtil.success(poleService.poleReset(poleId));
}
-//TODO 璁惧鐨勭粦瀹氳В缁戦兘瑕佸崟鐙噸鏂板鐞�
/**
* 鐏潌缁戝畾璁惧
*/
@PostMapping("/bind/{poleId}")
public ResponseVO<Object> bindPole(@PathVariable Long poleId, @RequestBody @Validated PoleBindingParam param) {
+ if (!permissionConfig.check(MenuEnum.BINDING.getCode())) {
+ return ResponseUtil.fail("缂哄皯瀵瑰簲鐢ㄦ埛鏉冮檺");
+ }
boolean result = poleService.bindPole(poleId, param);
if (result) {
- //璁惧绫诲瀷锛�0璺伅锛�1nove锛�2鍏呯數妗╋紝3澶ф皵鐩戞祴锛�4姘磋川鐩戞祴锛�5ip闊虫煴锛�6lcd骞垮憡鏈猴紝7鎽勫儚澶达紝8鏉嗕綋鍊炬祴锛�9涓�閿晳鍔�, 10鐔欒
- switch (param.getDeviceType()) {
- case 0:
+ //璁惧绫诲瀷锛�0璺伅锛�1nove锛�2鍏呯數妗╋紝3澶ф皵鐩戞祴锛�4姘磋川鐩戞祴锛�5ip闊虫煴锛�6lcd骞垮憡鏈猴紝7鎽勫儚澶达紝8鏉嗕綋鍊炬祴锛�9涓�閿晳鍔�, 10鐔欒, 11鍐滆��
+ switch (param.getDeviceType().toString()) {
+ case PoleBindingEnums.LIGHT:
Pole pole = poleService.getById(poleId);
if (pole != null) {
pole.setPoleName(param.getDeviceName());
@@ -131,27 +181,29 @@
poleService.updateById(pole);
}
break;
- case 1:
+ case PoleBindingEnums.VONNOX:
break;
- case 2:
+ case PoleBindingEnums.CHARGING_PILE:
break;
- case 3:
+ case PoleBindingEnums.ATMOSPHERIC:
break;
- case 4:
+ case PoleBindingEnums.WATER:
break;
- case 5:
+ case PoleBindingEnums.IPVOLUME:
broadcastTerminalV2Service.updateBingdingState(true, Integer.valueOf(param.getDeviceCode()).intValue());
break;
- case 6:
+ case PoleBindingEnums.LCD_ADVERTISING:
break;
- case 7:
+ case PoleBindingEnums.MONITOR:
monitorService.updateBingdingState(true, param.getDeviceCode());
break;
- case 8:
+ case PoleBindingEnums.LIGHTPOLEHEELING:
break;
- case 9:
+ case PoleBindingEnums.FOR_HELP:
break;
- case 10:
+ case PoleBindingEnums.XIXUN:
+ break;
+ case PoleBindingEnums.ATMOSPHERIC_NONG_GENG:
break;
default:
break;
@@ -164,42 +216,47 @@
}
/**
- * 鐏潌缁戝畾璁惧
+ * 鐏潌瑙g粦璁惧
*/
@PostMapping("/unBind/{poleId}")
- public ResponseVO<Object> unBindPole(@PathVariable Long poleId, @RequestBody PoleBindingParam param) {
- boolean result = poleService.unBindPole(poleId, param.getDeviceCode());
+ public ResponseVO<Object> unBindPole(@PathVariable Long poleId, @RequestBody @Validated PoleBindingParam param) {
+ if (!permissionConfig.check(MenuEnum.UNBIND.getCode())) {
+ return ResponseUtil.fail("缂哄皯瀵瑰簲鐢ㄦ埛鏉冮檺");
+ }
+ boolean result = poleService.unBindPole(poleId, param.getDeviceCode(),param.getDeviceType());
if (result) {
- //璁惧绫诲瀷锛�0璺伅锛�1led灞忓箷锛�2鍏呯數妗╋紝3澶ф皵鐩戞祴锛�4姘磋川鐩戞祴锛�5ip闊虫煴锛�6lcd骞垮憡鏈猴紝7鎽勫儚澶达紝8鏉嗕綋鍊炬祴锛�9涓�閿晳鍔�, 10鐔欒
- switch (param.getDeviceType()) {
- case 0:
+ //璁惧绫诲瀷锛�0璺伅锛�1led灞忓箷锛�2鍏呯數妗╋紝3澶ф皵鐩戞祴锛�4姘磋川鐩戞祴锛�5ip闊虫煴锛�6lcd骞垮憡鏈猴紝7鎽勫儚澶达紝8鏉嗕綋鍊炬祴锛�9涓�閿晳鍔�, 10鐔欒, 11鍐滆��
+ switch (param.getDeviceType().toString()) {
+ case PoleBindingEnums.LIGHT:
//鍒犻櫎鐏潌鐨刣evicescode
Pole pole = poleService.getOne(Wrappers.lambdaQuery(Pole.class).eq(Pole::getId, poleId));
if (pole != null) {
poleService.updateDeviceCode(pole.getId());
}
break;
- case 1:
+ case PoleBindingEnums.VONNOX:
break;
- case 2:
+ case PoleBindingEnums.CHARGING_PILE:
break;
- case 3:
+ case PoleBindingEnums.ATMOSPHERIC:
break;
- case 4:
+ case PoleBindingEnums.WATER:
break;
- case 5:
+ case PoleBindingEnums.IPVOLUME:
broadcastTerminalV2Service.updateBingdingState(false, Integer.valueOf(param.getDeviceCode()).intValue());
break;
- case 6:
+ case PoleBindingEnums.LCD_ADVERTISING:
break;
- case 7:
+ case PoleBindingEnums.MONITOR:
monitorService.updateBingdingState(false, param.getDeviceCode());
break;
- case 8:
+ case PoleBindingEnums.LIGHTPOLEHEELING:
break;
- case 9:
+ case PoleBindingEnums.FOR_HELP:
break;
- case 10:
+ case PoleBindingEnums.XIXUN:
+ break;
+ case PoleBindingEnums.ATMOSPHERIC_NONG_GENG:
break;
default:
break;
@@ -211,8 +268,12 @@
}
}
+ @AnonymousAccess
@PostMapping("/listStatusByDeviceCode")
public ResponseVO<Object> getStatusById(@RequestBody String[] deviceCodeList) {
+ if (!permissionConfig.check(MenuEnum.GET_STATE_BY_DEVICECODE.getCode())) {
+ return ResponseUtil.fail("缂哄皯瀵瑰簲鐢ㄦ埛鏉冮檺");
+ }
for (String s : deviceCodeList) {
if (s == null) {
return ResponseUtil.fail("鍙傛暟涓嶈兘涓虹┖");
@@ -226,37 +287,140 @@
return ResponseUtil.success(statusList);
}
+
+ /**
+ * 鏌ヨ鏄惁瀛樺湪鍙敞鍐岃澶�
+ *
+ * @param
+ * @return
+ */
+ @AnonymousAccess
+ @PostMapping("/isRegisterByCode")
+ public ResponseVO<Object> getStatusByCode() {
+ if (!permissionConfig.check(MenuEnum.GET_STATE_BY_DEVICECODE.getCode())) {
+ return ResponseUtil.fail("缂哄皯瀵瑰簲鐢ㄦ埛鏉冮檺");
+ }
+ ArrayList<String> deviceCodeList = new ArrayList<>();
+ deviceCodeList.add("baseDevice01");
+ deviceCodeList.add("baseDevice02");
+ deviceCodeList.add("baseDevice03");
+ deviceCodeList.add("baseDevice04");
+ deviceCodeList.add("baseDevice05");
+ for (String s : deviceCodeList) {
+ if (s == null) {
+ return ResponseUtil.fail("鍙傛暟涓嶈兘涓虹┖");
+ }
+
+ }
+ if (ArrayUtil.isEmpty(deviceCodeList)) {
+ return ResponseUtil.fail("鍙傛暟涓嶈兘涓虹┖");
+ }
+ List<DeviceStatus> statusList = poleService.listStatusByDeviceCode(deviceCodeList);
+ List<DeviceStatusDto> list = new ArrayList<>();
+ String s = "baseDevice0";
+ for (int i = 0; i < deviceCodeList.size(); i++) {
+ DeviceStatusDto dto = new DeviceStatusDto();
+ dto.setDeviceCode(s + (i + 1));
+ dto.setName(s + (i + 1));
+ list.add(dto);
+ }
+
+ statusList.forEach(
+ status -> {
+ list.forEach(
+ dto -> {
+ if (status.getDeviceCode().equals(dto.getDeviceCode())) {
+ //status=1鏃� 璁惧鍙互娉ㄥ唽
+ if (status.getStatus() == 1) {
+ dto.setStatus(1);
+ }
+ }
+ }
+ );
+ }
+ );
+ return ResponseUtil.success(list);
+ }
+
+
@PostMapping("/ClientBindingPole")
public ResponseVO<Object> ClientBindingPole(@RequestBody PoleBindParam param) {
- return ResponseUtil.success(poleService.ClientBindingPole(param.getClientId(), param.getPoleIds()));//////////////
+ if (!permissionConfig.check(MenuEnum.CLIENT_BINDING_POLE.getCode())) {
+ return ResponseUtil.fail("缂哄皯瀵瑰簲鐢ㄦ埛鏉冮檺");
+ }
+ return ResponseUtil.success(poleService.ClientBindingPole(param.getClientId(), param.getPoleIds()));
+ }
+
+ @PostMapping("/ClientUnBindingPole")
+ public ResponseVO<Object> ClientUnBindingPole(@RequestBody PoleBindParam param) {
+ if (!permissionConfig.check(MenuEnum.CLIENT_UNBINDING_POLE.getCode())) {
+ return ResponseUtil.fail("缂哄皯瀵瑰簲鐢ㄦ埛鏉冮檺");
+ }
+ return ResponseUtil.success(poleService.ClientUnBindingPole(param.getClientId(), param.getPoleIds()));
}
/**
- * 鏌ユ壘鑷繁鎷ユ湁鐨勭伅鏉�
+ * 鏌ユ壘鎷ユ湁鐨勭伅鏉�
*/
@PostMapping("/getOwnerPole/{cilentId}")
public ResponseVO<Object> getOwnerPole(BaseConditionVO baseConditionVO, @RequestParam(value = "keyword", required = false) String keyword
, @PathVariable Long cilentId) {
+ if (!permissionConfig.check(MenuEnum.GET_CLIENT_POLE.getCode())) {
+ return ResponseUtil.fail("缂哄皯瀵瑰簲鐢ㄦ埛鏉冮檺");
+ }
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);
}
/**
- * 鏌ョ湅鐏潌缁戝畾鐨勮澶�
+ * 鏌ョ湅鐏潌缁戝畾鐨勮澶� //宸插悎骞跺埌鍒楄〃鍔熻兘 姝ゆ帴鍙e凡搴熷純
*/
@PostMapping("/getPoleBindDevice/{poleId}")
public ResponseVO<Object> getPoleBindDevice(@PathVariable Long poleId) {
+ if (!permissionConfig.check(MenuEnum.GET_POLE_BINDING.getCode())) {
+ return ResponseUtil.fail("缂哄皯瀵瑰簲鐢ㄦ埛鏉冮檺");
+ }
return ResponseUtil.success(poleService.getBindByPoleId(poleId));
}
+ /**
+ * 鎺ㄩ�佸ぇ姘旇澶囧埌璇虹摝
+ */
+ @PostMapping("/pushAidDataToNova")
+ public ResponseVO<Object> pushAirDataToNova(@RequestBody @Validated PushAirDataToNovaParam param) {
+ if (!permissionConfig.check(MenuEnum.PUSH_AIR_DATA_TO_NOVA.getCode())) {
+ return ResponseUtil.fail("缂哄皯瀵瑰簲鐢ㄦ埛鏉冮檺");
+ }
+ if (param.getDuration() <= 0 || param.getDuration() > 86400000) {
+ throw new BusinessException("鎾斁鏃堕棿闇�澶т簬闆朵笖灏忎簬86400000 !");
+ }
+ VnnoxResult vnnoxResult = poleService.pushAirDataToNova(param);
+ if (vnnoxResult == null && vnnoxResult.getSuccess() != null && vnnoxResult.getSuccess().size() != 0) {
+ return ResponseUtil.success("鎺ㄩ�佹垚鍔�");
+ } else {
+ return ResponseUtil.fail("鎺ㄩ�佸け璐�");
+ }
+ }
+
+ /**
+ * 鎺ㄩ�佸ぇ姘旇澶囧埌鐔欒
+ */
+ @GetMapping("/pushAirDataToXiXun/{poleId}")
+ public ResponseVO<Object> pushAirDataToXiXun(@PathVariable Long poleId) {
+ if (!permissionConfig.check(MenuEnum.PUSH_AIR_DATA_TO_XIXUN.getCode())) {
+ return ResponseUtil.fail("缂哄皯瀵瑰簲鐢ㄦ埛鏉冮檺");
+ }
+ return ResponseUtil.success(poleService.pushAirDataToXiXun(poleId));
+ }
+
+
+ @AnonymousAccess
+ @PostMapping("/setRedis")
+ public ResponseVO<Object> pushAirDataToXiXun() {
+ poleService.setRedis();
+ return ResponseUtil.success("鏇存柊鐘舵�佸畬鎴�");
+ }
+
}
--
Gitblit v1.9.3