From c097d3c5cb46aa6257835f911cfb941b7b5792cb Mon Sep 17 00:00:00 2001
From: zhongrj <646384940@qq.com>
Date: Mon, 15 Apr 2024 13:46:53 +0800
Subject: [PATCH] 新增人员标签查询接口

---
 src/main/java/org/springblade/modules/label/service/impl/LabelServiceImpl.java |   13 ++++++
 src/main/java/org/springblade/modules/label/mapper/LabelMapper.xml             |   23 +++++++++++
 src/main/java/org/springblade/modules/label/service/ILabelService.java         |    7 +++
 src/main/java/org/springblade/modules/label/controller/LabelController.java    |   11 +++++
 src/main/java/org/springblade/modules/label/mapper/LabelMapper.java            |    8 ++++
 5 files changed, 62 insertions(+), 0 deletions(-)

diff --git a/src/main/java/org/springblade/modules/label/controller/LabelController.java b/src/main/java/org/springblade/modules/label/controller/LabelController.java
index 6d71b85..c8266f5 100644
--- a/src/main/java/org/springblade/modules/label/controller/LabelController.java
+++ b/src/main/java/org/springblade/modules/label/controller/LabelController.java
@@ -95,6 +95,17 @@
 		return R.data(labelService.getLabelList(label));
 	}
 
+
+	/**
+	 * 查询人员标签(不包含人这一级)
+	 * @param label
+	 * @return
+	 */
+	@GetMapping("/getPersonLabelList")
+	public R getPersonLabelList(LabelVO label) {
+		return R.data(labelService.getPersonLabelList(label));
+	}
+
 	/**
 	 * 标签管理 分页
 	 */
diff --git a/src/main/java/org/springblade/modules/label/mapper/LabelMapper.java b/src/main/java/org/springblade/modules/label/mapper/LabelMapper.java
index a0bfb0a..c4fee96 100644
--- a/src/main/java/org/springblade/modules/label/mapper/LabelMapper.java
+++ b/src/main/java/org/springblade/modules/label/mapper/LabelMapper.java
@@ -62,4 +62,12 @@
 	 */
 	@MapKey(value = "id")
 	Map<Integer, TreeIntegerNode> getChildrenLabelList(@Param("list") List<Integer> list);
+
+	/**
+	 * 查询人员标签(不包含人这一级)
+	 * @param label
+	 * @return
+	 */
+	@MapKey(value = "id")
+	Map<Integer, TreeIntegerNode> getPersonLabelList(@Param("label") LabelVO label);
 }
diff --git a/src/main/java/org/springblade/modules/label/mapper/LabelMapper.xml b/src/main/java/org/springblade/modules/label/mapper/LabelMapper.xml
index d1acea0..c906bb3 100644
--- a/src/main/java/org/springblade/modules/label/mapper/LabelMapper.xml
+++ b/src/main/java/org/springblade/modules/label/mapper/LabelMapper.xml
@@ -80,5 +80,28 @@
             order by jl.sort desc
     </select>
 
+    <!--查询人员标签(不包含人这一级)-->
+    <select id="getPersonLabelList" resultType="org.springblade.common.node.TreeIntegerNode">
+        SELECT
+            jl.id AS id,
+            jl.parent_id AS parentId,
+            jl.label_name AS NAME,
+            jl.sort,
+            (SELECT count(1) from jczz_user_house_label where label_id = jl.id ) count,
+            (
+                SELECT
+                    CASE WHEN count(1) > 0 THEN 1 ELSE 0 END
+                FROM
+                    jczz_label
+                WHERE
+                    parent_id = jl.id and is_deleted = 0
+            ) AS hasChildren
+        FROM
+            jczz_label jl  where is_deleted = 0
+            and jl.id != '1002'
+            and jl.id != '1000'
+            order by jl.sort desc
+    </select>
+
 
 </mapper>
diff --git a/src/main/java/org/springblade/modules/label/service/ILabelService.java b/src/main/java/org/springblade/modules/label/service/ILabelService.java
index f123b4a..1c01e3b 100644
--- a/src/main/java/org/springblade/modules/label/service/ILabelService.java
+++ b/src/main/java/org/springblade/modules/label/service/ILabelService.java
@@ -50,4 +50,11 @@
     Object getLabelList(LabelVO label);
 
     List<TreeIntegerNode> tree(LabelVO label);
+
+	/**
+	 * 查询人员标签(不包含人这一级)
+	 * @param label
+	 * @return
+	 */
+	List<TreeIntegerNode> getPersonLabelList(LabelVO label);
 }
diff --git a/src/main/java/org/springblade/modules/label/service/impl/LabelServiceImpl.java b/src/main/java/org/springblade/modules/label/service/impl/LabelServiceImpl.java
index 37dea46..6c9273d 100644
--- a/src/main/java/org/springblade/modules/label/service/impl/LabelServiceImpl.java
+++ b/src/main/java/org/springblade/modules/label/service/impl/LabelServiceImpl.java
@@ -91,4 +91,17 @@
 			node.setChildren(null);
 		}
 	}
+
+	/**
+	 * 查询人员标签(不包含人这一级)
+	 * @param label
+	 * @return
+	 */
+	@Override
+	public List<TreeIntegerNode> getPersonLabelList(LabelVO label) {
+		Map<Integer, TreeIntegerNode> labelTreeList = baseMapper.getPersonLabelList(label);
+		List<TreeIntegerNode> nodeTree = NodeTreeUtil.getNodeTree(labelTreeList);
+		nodeTree.forEach(node -> recursion(node));
+		return nodeTree;
+	}
 }

--
Gitblit v1.9.3