From 71b6b716361c52af290493d365a328fc1a3467e2 Mon Sep 17 00:00:00 2001
From: nnnjjj123 <494715143@qq.com>
Date: Thu, 28 Jan 2021 11:15:06 +0800
Subject: [PATCH] 1.统计接口 2.健康码
---
src/main/java/org/springblade/modules/Netty/controller/nettyController.java | 177 +++++++++++++++++++++++++++++++++++++++++++++--------------
1 files changed, 135 insertions(+), 42 deletions(-)
diff --git a/src/main/java/org/springblade/modules/Netty/controller/nettyController.java b/src/main/java/org/springblade/modules/Netty/controller/nettyController.java
index a049dcb..3b1a114 100644
--- a/src/main/java/org/springblade/modules/Netty/controller/nettyController.java
+++ b/src/main/java/org/springblade/modules/Netty/controller/nettyController.java
@@ -33,6 +33,9 @@
import org.springblade.modules.Netty.entitly.Netty;
import org.springblade.modules.Netty.vo.nettyVO;
import org.springblade.modules.catalog.service.catalogService;
+import org.springblade.modules.deploy.service.IDeployService;
+import org.springblade.modules.equipment.service.IEquipmentService;
+import org.springblade.modules.equipment.vo.EquipmentVO;
import org.springblade.modules.nettyServer.ChannelMap;
import org.springblade.modules.nettyServer.ServerHandler;
import org.springframework.web.bind.annotation.*;
@@ -41,14 +44,16 @@
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
+import java.text.SimpleDateFormat;
import java.util.ArrayList;
+import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
import java.util.regex.Pattern;
/**
- * 控制器
+ * 控制器
*
* @author BladeX
* @since 2020-07-06
@@ -59,8 +64,10 @@
@Api(value = "", tags = "接口")
public class nettyController extends BladeController {
- private final nettyService nettyService ;
+ private final nettyService nettyService;
private final org.springblade.modules.catalog.service.catalogService catalogService;
+
+ private final org.springblade.modules.equipment.service.IEquipmentService equipmentService;
/**
* 详情
@@ -71,7 +78,7 @@
public R<nettyVO> detail(Netty netty, HttpServletResponse response) {
response.setHeader("Access-Control-Allow-Origin", "*");
response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE");
- response.setHeader("Access-Control-Allow-Credentials","true");
+ response.setHeader("Access-Control-Allow-Credentials", "true");
Netty detail = nettyService.getOne(Condition.getQueryWrapper(netty));
return R.data(nettyWrapper.build().entityVO(detail));
}
@@ -134,26 +141,56 @@
*/
@PostMapping("/selectNettyChannelb")
@ApiOperationSupport(order = 8)
- public R selectNettyChannel(String pid,HttpServletResponse response) {
+ public R selectNettyChannel(String pid, HttpServletResponse response) {
response.setHeader("Access-Control-Allow-Origin", "*");
response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE");
- response.setHeader("Access-Control-Allow-Credentials","true");
+ response.setHeader("Access-Control-Allow-Credentials", "true");
ConcurrentHashMap<String, Channel> channelHashMap = ChannelMap.getChannelHashMap();
- System.out.println(channelHashMap);
- String s = catalogService.selectCatalogEqNUmber(pid);
- if (s==null){
+
+ //清空全局参数
+ childMenu = new ArrayList();
+
+ //根据查询条件得到所有设备
+ List<EquipmentVO> pages = equipmentService.selectEquipmentPage(null, null, null, null);
+
+ List<Map<String, Object>> treedatas = catalogService.selectCatalogEqNUmber(pid);
+ //根据传入的id递归出该节点下所有的设备
+ List<Map<String, Object>> childList = treeMenuList(treedatas, Integer.parseInt(pid));
+
+ int zT = 0;
+
+ String arr = "";
+
+
+ //将得到的设备与查询所得设备进行匹配
+ for (int i = 0; i < childList.size(); i++) {
+ for (int j = 0; j < pages.size(); j++) {
+ if (childList.get(i).get("eqid") != null) {
+ if (childList.get(i).get("eqid").equals(pages.get(j).getDeviceNumber())) {
+ zT = 1;
+ arr += "'" + pages.get(j).getId() + "',";
+ List<String> outData = new ArrayList<>();
+ outData.add("LC8109085B#@");
+ Channel channel = channelHashMap.get(pages.get(j).getDeviceNumber());
+ if (channel == null) {
+ break;
+ }
+ channel.writeAndFlush(Unpooled.copiedBuffer(outData.get(0), CharsetUtil.UTF_8));
+ break;
+ }
+ }
+ }
+ }
+
+ if (!arr.equals("")) {
+ String substring = arr.substring(0, arr.length() - 1);
+ equipmentService.updataType(substring);
+ }
+
+ if (zT == 0) {
return R.success("暂无设备布防");
}
- else {
- String[] split = s.split(",");
- for (int i = 0; i < split.length; i++) {
- List<String> outData = new ArrayList<>();
- outData.add("LC8109085B#@");
- Channel channel = channelHashMap.get(split[i]);
- channel.writeAndFlush(Unpooled.copiedBuffer(outData.get(0), CharsetUtil.UTF_8));
- }
- return R.success("设备布防");
- }
+ return R.success("设备布防");
}
/**
@@ -161,28 +198,76 @@
*/
@PostMapping("/selectNettyChannelc")
@ApiOperationSupport(order = 9)
- public R selectNettyChannelc(String pid,HttpServletResponse response) {
+ public R selectNettyChannelc(String pid, HttpServletResponse response) {
response.setHeader("Access-Control-Allow-Origin", "*");
response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE");
- response.setHeader("Access-Control-Allow-Credentials","true");
+ response.setHeader("Access-Control-Allow-Credentials", "true");
ConcurrentHashMap<String, Channel> channelHashMap = ChannelMap.getChannelHashMap();
- System.out.println(channelHashMap);
- String s = catalogService.selectCatalogEqNUmber(pid);
- if (s==null){
- return R.success("暂无设备撤防");
- }
- else {
- String[] split = s.split(",");
- for (int i = 0; i < split.length; i++) {
- List<String> outData = new ArrayList<>();
- outData.add("LC8109085C#@");
- Channel channel = channelHashMap.get(split[i]);
- channel.writeAndFlush(Unpooled.copiedBuffer(outData.get(0), CharsetUtil.UTF_8));
+
+ //清空全局参数
+ childMenu = new ArrayList();
+
+ //根据查询条件得到所有设备
+ List<EquipmentVO> pages = equipmentService.selectEquipmentPage(null, null, null, null);
+
+ List<Map<String, Object>> treedatas = catalogService.selectCatalogEqNUmber(pid);
+ //根据传入的id递归出该节点下所有的设备
+ List<Map<String, Object>> childList = treeMenuList(treedatas, Integer.parseInt(pid));
+
+ int zT = 0;
+
+ String arr = "";
+
+ //将得到的设备与查询所得设备进行匹配
+ for (int i = 0; i < childList.size(); i++) {
+ for (int j = 0; j < pages.size(); j++) {
+ if (childList.get(i).get("eqid") != null) {
+ if (childList.get(i).get("eqid").equals(pages.get(j).getDeviceNumber())) {
+ zT = 1;
+ arr += "'" + pages.get(j).getId() + "',";
+ List<String> outData = new ArrayList<>();
+ outData.add("LC8109085C#@");
+ Channel channel = channelHashMap.get(pages.get(j).getDeviceNumber());
+ if (channel == null) {
+ break;
+ }
+ channel.writeAndFlush(Unpooled.copiedBuffer(outData.get(0), CharsetUtil.UTF_8));
+ break;
+ }
+ }
}
- return R.success("设备撤防");
}
+
+ if (!arr.equals("")) {
+ String substring = arr.substring(0, arr.length() - 1);
+ equipmentService.updataTypeC(substring);
+ }
+
+ if (zT == 0) {
+ return R.success("暂无设备布防");
+ }
+
+ return R.success("设备撤防");
}
+ //子节点
+ private static List childMenu = new ArrayList();
+
+ public static List treeMenuList(List<Map<String, Object>> menuList, int pid) {
+ for (int i = 0; i < menuList.size(); i++) {
+ //遍历出父id等于参数的id,add进子节点集合
+
+ if (pid != 0) {
+ if (menuList.get(i).get("pId").equals(pid)) {
+ //递归遍历下一级
+ treeMenuList(menuList, Integer.valueOf((Integer) menuList.get(i).get("id")));
+ childMenu.add(menuList.get(i));
+ }
+ }
+
+ }
+ return childMenu;
+ }
/**
@@ -190,16 +275,20 @@
*/
@PostMapping("/selectNettyChannelOb")
@ApiOperationSupport(order = 10)
- public R selectNettyChannelOb(String deviceNumber,HttpServletResponse response) {
+ public R selectNettyChannelOb(String deviceNumber,String ID, HttpServletResponse response) {
response.setHeader("Access-Control-Allow-Origin", "*");
response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE");
- response.setHeader("Access-Control-Allow-Credentials","true");
+ response.setHeader("Access-Control-Allow-Credentials", "true");
ConcurrentHashMap<String, Channel> channelHashMap = ChannelMap.getChannelHashMap();
- List<String> outData = new ArrayList<>();
- outData.add("LC8109085B#@");
- Channel channel = channelHashMap.get(deviceNumber);
- channel.writeAndFlush(Unpooled.copiedBuffer(outData.get(0), CharsetUtil.UTF_8));
- return R.success("设备布防");
+ List<String> outData = new ArrayList<>();
+ outData.add("LC8109085B#@");
+ Channel channel = channelHashMap.get(deviceNumber);
+ if (channel == null) {
+ return R.success("未查询到设备");
+ }
+ channel.writeAndFlush(Unpooled.copiedBuffer(outData.get(0), CharsetUtil.UTF_8));
+ equipmentService.updataType(ID);
+ return R.success("设备布防");
}
@@ -208,15 +297,19 @@
*/
@PostMapping("/selectNettyChannelOc")
@ApiOperationSupport(order = 11)
- public R selectNettyChannelOc(String deviceNumber,HttpServletResponse response) {
+ public R selectNettyChannelOc(String deviceNumber,String ID, HttpServletResponse response) {
response.setHeader("Access-Control-Allow-Origin", "*");
response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE");
- response.setHeader("Access-Control-Allow-Credentials","true");
+ response.setHeader("Access-Control-Allow-Credentials", "true");
ConcurrentHashMap<String, Channel> channelHashMap = ChannelMap.getChannelHashMap();
List<String> outData = new ArrayList<>();
outData.add("LC8109085C#@");
Channel channel = channelHashMap.get(deviceNumber);
+ if (channel == null) {
+ return R.success("未查询到设备");
+ }
channel.writeAndFlush(Unpooled.copiedBuffer(outData.get(0), CharsetUtil.UTF_8));
+ equipmentService.updataTypeC(ID);
return R.success("设备撤防");
}
--
Gitblit v1.9.3