| | |
| | | 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.*; |
| | |
| | | |
| | | 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 |
| | |
| | | @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; |
| | | |
| | | /** |
| | | * 详情 |
| | |
| | | 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)); |
| | | } |
| | |
| | | */ |
| | | @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("设备布防"); |
| | | } |
| | | |
| | | /** |
| | |
| | | */ |
| | | @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; |
| | | } |
| | | |
| | | |
| | | /** |
| | |
| | | */ |
| | | @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("设备布防"); |
| | | |
| | | } |
| | | |
| | |
| | | */ |
| | | @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("设备撤防"); |
| | | |
| | | } |