From 2087f91e1c5d3f0c489aa6017017256e354e3500 Mon Sep 17 00:00:00 2001
From: zengh <123456>
Date: Mon, 11 Jan 2021 17:02:09 +0800
Subject: [PATCH] 客户列表接口修改

---
 src/main/java/org/springblade/modules/Netty/controller/nettyController.java            |    4 +-
 src/main/java/org/springblade/modules/catalog/service/catalogService.java              |    2 
 src/main/java/org/springblade/modules/catalog/mapper/catalogMapper.xml                 |    9 +++-
 src/main/java/org/springblade/modules/equipment/service/IEquipmentService.java         |    2 
 src/main/resources/application-dev.yml                                                 |    4 +-
 src/main/java/org/springblade/modules/equipment/controller/EquipmentController.java    |   59 +++++++++++++++++++++--------
 src/main/java/org/springblade/modules/catalog/service/impl/CatalogServiceImpl.java     |    2 
 src/main/java/org/springblade/modules/equipment/mapper/EquipmentMapper.java            |    2 
 src/main/java/org/springblade/modules/equipment/service/impl/EquipmentServiceImpl.java |    2 
 src/main/java/org/springblade/modules/catalog/mapper/catalogMapper.java                |    2 
 10 files changed, 60 insertions(+), 28 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..8def96a 100644
--- a/src/main/java/org/springblade/modules/Netty/controller/nettyController.java
+++ b/src/main/java/org/springblade/modules/Netty/controller/nettyController.java
@@ -140,7 +140,7 @@
 		response.setHeader("Access-Control-Allow-Credentials","true");
 		ConcurrentHashMap<String, Channel> channelHashMap = ChannelMap.getChannelHashMap();
 		System.out.println(channelHashMap);
-		String s = catalogService.selectCatalogEqNUmber(pid);
+		String s = "";
 		if (s==null){
 			return R.success("暂无设备布防");
 		}
@@ -167,7 +167,7 @@
 		response.setHeader("Access-Control-Allow-Credentials","true");
 		ConcurrentHashMap<String, Channel> channelHashMap = ChannelMap.getChannelHashMap();
 		System.out.println(channelHashMap);
-		String s = catalogService.selectCatalogEqNUmber(pid);
+		String s = "";
 		if (s==null){
 			return R.success("暂无设备撤防");
 		}
diff --git a/src/main/java/org/springblade/modules/catalog/mapper/catalogMapper.java b/src/main/java/org/springblade/modules/catalog/mapper/catalogMapper.java
index c4038f2..61885cd 100644
--- a/src/main/java/org/springblade/modules/catalog/mapper/catalogMapper.java
+++ b/src/main/java/org/springblade/modules/catalog/mapper/catalogMapper.java
@@ -35,5 +35,5 @@
 public interface catalogMapper extends BaseMapper<catalog> {
 	List<Map<String, Object>> selectCatalogList();
 
-	String selectCatalogEqNUmber(String pid);
+	List selectCatalogEqNUmber(String pid);
 }
diff --git a/src/main/java/org/springblade/modules/catalog/mapper/catalogMapper.xml b/src/main/java/org/springblade/modules/catalog/mapper/catalogMapper.xml
index 4afa08e..cfdf298 100644
--- a/src/main/java/org/springblade/modules/catalog/mapper/catalogMapper.xml
+++ b/src/main/java/org/springblade/modules/catalog/mapper/catalogMapper.xml
@@ -15,8 +15,13 @@
         SELECT id,name,pId FROM `sys_catalog`
     </select>
 
-    <select id="selectCatalogEqNUmber" resultType="java.lang.String">
-        SELECT GROUP_CONCAT(eqid) FROM sys_catalog WHERE pId=#{pid} and eqid is NOT NULL;
+    <select id="selectCatalogEqNUmber" resultType="java.util.HashMap">
+
+        SELECT
+            *
+        FROM
+            sys_catalog
+
     </select>
 
 
diff --git a/src/main/java/org/springblade/modules/catalog/service/catalogService.java b/src/main/java/org/springblade/modules/catalog/service/catalogService.java
index dce83e5..9e51538 100644
--- a/src/main/java/org/springblade/modules/catalog/service/catalogService.java
+++ b/src/main/java/org/springblade/modules/catalog/service/catalogService.java
@@ -34,5 +34,5 @@
  */
 public interface catalogService extends IService<catalog> {
 	List<Map<String, Object>> selectCatalogList();
-	String selectCatalogEqNUmber(String pid);
+	List<Map<String, Object>> selectCatalogEqNUmber(String pid);
 }
diff --git a/src/main/java/org/springblade/modules/catalog/service/impl/CatalogServiceImpl.java b/src/main/java/org/springblade/modules/catalog/service/impl/CatalogServiceImpl.java
index 6b5190f..cf88d18 100644
--- a/src/main/java/org/springblade/modules/catalog/service/impl/CatalogServiceImpl.java
+++ b/src/main/java/org/springblade/modules/catalog/service/impl/CatalogServiceImpl.java
@@ -47,7 +47,7 @@
 	}
 
 	@Override
-	public String selectCatalogEqNUmber(String pid) {
+	public List selectCatalogEqNUmber(String pid) {
 		return baseMapper.selectCatalogEqNUmber(pid);
 	}
 }
diff --git a/src/main/java/org/springblade/modules/equipment/controller/EquipmentController.java b/src/main/java/org/springblade/modules/equipment/controller/EquipmentController.java
index 337ac3f..3b0694a 100644
--- a/src/main/java/org/springblade/modules/equipment/controller/EquipmentController.java
+++ b/src/main/java/org/springblade/modules/equipment/controller/EquipmentController.java
@@ -28,6 +28,7 @@
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.constant.BladeConstant;
 import org.springblade.core.tool.utils.Func;
+import org.springblade.modules.catalog.entitly.catalog;
 import org.springblade.modules.catalog.service.catalogService;
 import org.springblade.modules.deploy.service.IDeployService;
 import org.springblade.modules.equipment.vo.EquipmentVOS;
@@ -41,6 +42,7 @@
 import springfox.documentation.annotations.ApiIgnore;
 
 import java.text.SimpleDateFormat;
+import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
 import java.util.Map;
@@ -93,31 +95,56 @@
 	@GetMapping("/page")
 	@ApiOperationSupport(order = 3)
 	@ApiOperation(value = "分页", notes = "传入equipment")
-	public R<List<EquipmentVO>> page(EquipmentVO equipment, Query query, String pid, HttpServletResponse response) {
+	public R<List<Equipment>> page(EquipmentVO equipment, Query query, 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");
-		List<EquipmentVO> pages;
+
+		//清空全局参数
+		childMenu = new ArrayList();
+
+		//根据查询条件得到所有设备
+		List<Equipment> pages = equipmentService.selectEquipmentPage(equipment.getDeviceName(), equipment.getAddvcd(), equipment.getDtype(), equipment.getDevicestate());
+
+		List<Equipment> datas = new ArrayList<>();
+
 		if (pid == null) {
-			pages = equipmentService.selectEquipmentPage(equipment.getDeviceName(), equipment.getAddvcd(), equipment.getDtype(), equipment.getDevicestate());
+			datas = pages;
 		} else {
-			String s = catalogService.selectCatalogEqNUmber(pid);
-			if (s == null) {
-				pages = equipmentService.selectEquipmentPage(equipment.getDeviceName(), equipment.getAddvcd(), equipment.getDtype(), equipment.getDevicestate());
-			} else {
-				String[] split = s.split(",");
-				String strArrays = "";
-				for (int i = 0; i < split.length; i++) {
-					strArrays += "'" + split[i] + "',";
+			List<Map<String, Object>> treedatas = catalogService.selectCatalogEqNUmber(pid);
+			//根据传入的id递归出该节点下所有的设备
+			List<Map<String, Object>> childList = treeMenuList(treedatas, Integer.parseInt(pid));
+			//将得到的设备与查询所得设备进行匹配
+			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())) {
+							datas.add(pages.get(j));
+						}
+					}
 				}
-				String substring = strArrays.substring(0, strArrays.length() - 1);
-				equipment.setDeviceName(substring);
-				pages = equipmentService.selectEquipmentPage(equipment.getDeviceName(), equipment.getAddvcd(), equipment.getDtype(), equipment.getDevicestate());
+			}
+		}
+		return R.data(datas);
+	}
+
+	//子节点
+	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 R.data(pages);
+		return childMenu;
 	}
 
 	/**
diff --git a/src/main/java/org/springblade/modules/equipment/mapper/EquipmentMapper.java b/src/main/java/org/springblade/modules/equipment/mapper/EquipmentMapper.java
index a4d625f..c03db3c 100644
--- a/src/main/java/org/springblade/modules/equipment/mapper/EquipmentMapper.java
+++ b/src/main/java/org/springblade/modules/equipment/mapper/EquipmentMapper.java
@@ -34,7 +34,7 @@
  */
 public interface EquipmentMapper extends BaseMapper<Equipment> {
 
-	List<EquipmentVO> selectEquipmentPage(String deviceName, String addvcd, String dtype, String devicestate);
+	List<Equipment> selectEquipmentPage(String deviceName, String addvcd, String dtype, String devicestate);
 
 	void s(Equipment equipment);
 	void updateOne(Equipment equipment);
diff --git a/src/main/java/org/springblade/modules/equipment/service/IEquipmentService.java b/src/main/java/org/springblade/modules/equipment/service/IEquipmentService.java
index 3899bb0..37cae41 100644
--- a/src/main/java/org/springblade/modules/equipment/service/IEquipmentService.java
+++ b/src/main/java/org/springblade/modules/equipment/service/IEquipmentService.java
@@ -34,7 +34,7 @@
  */
 public interface IEquipmentService extends IService<Equipment> {
 
-	List<EquipmentVO> selectEquipmentPage(String deviceName, String addvcd, String dtype, String devicestate);
+	List<Equipment> selectEquipmentPage(String deviceName, String addvcd, String dtype, String devicestate);
 
 	/**
 	 * 树形结构
diff --git a/src/main/java/org/springblade/modules/equipment/service/impl/EquipmentServiceImpl.java b/src/main/java/org/springblade/modules/equipment/service/impl/EquipmentServiceImpl.java
index 17de56c..5013454 100644
--- a/src/main/java/org/springblade/modules/equipment/service/impl/EquipmentServiceImpl.java
+++ b/src/main/java/org/springblade/modules/equipment/service/impl/EquipmentServiceImpl.java
@@ -47,7 +47,7 @@
 	private static final String PARENT_ID = "parentId";
 
 	@Override
-	public List<EquipmentVO> selectEquipmentPage(String deviceName, String addvcd, String dtype, String devicestate) {
+	public List<Equipment> selectEquipmentPage(String deviceName, String addvcd, String dtype, String devicestate) {
 		return baseMapper.selectEquipmentPage(deviceName,addvcd,dtype,devicestate);
 	}
 
diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml
index 208e457..126e958 100644
--- a/src/main/resources/application-dev.yml
+++ b/src/main/resources/application-dev.yml
@@ -17,13 +17,13 @@
       primary: master
       datasource:
         master:
-          url: jdbc:mysql://47.110.245.84:3306/springboot?useSSL=false&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true&serverTimezone=GMT%2B8&nullCatalogMeansCurrent=true&allowPublicKeyRetrieval=true&useOldAliasMetadataBehavior=true
+          url: jdbc:mysql://47.110.245.84:3306/springboot?allowMultiQueries=true&useSSL=false&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true&serverTimezone=GMT%2B8&nullCatalogMeansCurrent=true&allowPublicKeyRetrieval=true&useOldAliasMetadataBehavior=true
           username: sa
           password: 131556
           driver-class-name: com.mysql.cj.jdbc.Driver
         slaves:
           driver-class-name: com.mysql.cj.jdbc.Driver
-          url: jdbc:mysql://47.110.245.84:3306/fjpt?useSSL=false&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true&serverTimezone=GMT%2B8&nullCatalogMeansCurrent=true&allowPublicKeyRetrieval=true&useOldAliasMetadataBehavior=true
+          url: jdbc:mysql://47.110.245.84:3306/fjpt?allowMultiQueries=true&useSSL=false&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true&serverTimezone=GMT%2B8&nullCatalogMeansCurrent=true&allowPublicKeyRetrieval=true&useOldAliasMetadataBehavior=true
           username: sa
           password: 131556
 

--
Gitblit v1.9.3