From 557c6dddaab2a2827d1eb55a1903f7099f6a9676 Mon Sep 17 00:00:00 2001
From: linwei <872216696@qq.com>
Date: Fri, 26 Jan 2024 17:56:07 +0800
Subject: [PATCH] 场所标签统计

---
 src/main/java/org/springblade/modules/system/mapper/UserMapper.xml                   |   21 ++++--
 src/main/java/org/springblade/common/node/TreeIntegerNode.java                       |    4 +
 src/main/java/org/springblade/modules/system/service/impl/UserServiceImpl.java       |   32 +++++++++-
 src/main/java/org/springblade/modules/category/mapper/CategoryMapper.java            |    6 ++
 src/main/java/org/springblade/modules/category/service/impl/CategoryServiceImpl.java |   19 ++++++
 src/main/java/org/springblade/modules/category/mapper/CategoryMapper.xml             |   24 ++++++++
 src/main/java/org/springblade/modules/category/controller/CategoryController.java    |   16 +++++
 src/main/java/org/springblade/modules/system/controller/UserController.java          |   12 +++
 src/main/java/org/springblade/modules/category/service/ICategoryService.java         |    3 +
 src/main/java/org/springblade/modules/system/mapper/UserMapper.java                  |    2 
 10 files changed, 124 insertions(+), 15 deletions(-)

diff --git a/src/main/java/org/springblade/common/node/TreeIntegerNode.java b/src/main/java/org/springblade/common/node/TreeIntegerNode.java
index b919300..f95b3de 100644
--- a/src/main/java/org/springblade/common/node/TreeIntegerNode.java
+++ b/src/main/java/org/springblade/common/node/TreeIntegerNode.java
@@ -56,4 +56,8 @@
 	 */
 	@JsonInclude(JsonInclude.Include.NON_EMPTY)
 	private Boolean hasChildren;
+
+	private Integer level;
+
+	private String categoryNo;
 }
diff --git a/src/main/java/org/springblade/modules/category/controller/CategoryController.java b/src/main/java/org/springblade/modules/category/controller/CategoryController.java
index f02dbc5..8cbfccf 100644
--- a/src/main/java/org/springblade/modules/category/controller/CategoryController.java
+++ b/src/main/java/org/springblade/modules/category/controller/CategoryController.java
@@ -22,16 +22,21 @@
 import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
 import lombok.AllArgsConstructor;
 import javax.validation.Valid;
+
+import org.springblade.common.node.TreeIntegerNode;
 import org.springblade.core.mp.support.Condition;
 import org.springblade.core.mp.support.Query;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.utils.Func;
+import org.springblade.modules.label.vo.LabelVO;
 import org.springframework.web.bind.annotation.*;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import org.springblade.modules.category.entity.CategoryEntity;
 import org.springblade.modules.category.vo.CategoryVO;
 import org.springblade.modules.category.wrapper.CategoryWrapper;
 import org.springblade.modules.category.service.ICategoryService;
+
+import java.util.List;
 
 /**
  * 天地图poi 分类表 控制器
@@ -120,6 +125,17 @@
 	}
 
 	/**
+	 * 标签管理 分页
+	 */
+	@GetMapping("/tree")
+	@ApiOperationSupport(order = 2)
+	@ApiOperation(value = "树形接口", notes = "传入label")
+	public R<List<TreeIntegerNode>> tree(CategoryVO category) {
+		List<TreeIntegerNode> pages = categoryService.tree(category);
+		return R.data( pages);
+	}
+
+	/**
 	 * 天地图poi 分类获取
 	 */
 	@GetMapping("/getCategory")
diff --git a/src/main/java/org/springblade/modules/category/mapper/CategoryMapper.java b/src/main/java/org/springblade/modules/category/mapper/CategoryMapper.java
index 73aa6e3..a83e4bc 100644
--- a/src/main/java/org/springblade/modules/category/mapper/CategoryMapper.java
+++ b/src/main/java/org/springblade/modules/category/mapper/CategoryMapper.java
@@ -16,13 +16,16 @@
  */
 package org.springblade.modules.category.mapper;
 
+import org.apache.ibatis.annotations.MapKey;
 import org.apache.ibatis.annotations.Param;
+import org.springblade.common.node.TreeIntegerNode;
 import org.springblade.modules.category.dto.CategoryDTO;
 import org.springblade.modules.category.entity.CategoryEntity;
 import org.springblade.modules.category.vo.CategoryVO;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import java.util.List;
+import java.util.Map;
 
 /**
  * 天地图poi 分类表 Mapper 接口
@@ -53,4 +56,7 @@
 	 * @return
 	 */
     List<CategoryDTO> selectCategoryList(@Param("category") CategoryDTO categoryDTO);
+
+    @MapKey("id")
+    Map<Integer, TreeIntegerNode> getTreeList(CategoryVO category);
 }
diff --git a/src/main/java/org/springblade/modules/category/mapper/CategoryMapper.xml b/src/main/java/org/springblade/modules/category/mapper/CategoryMapper.xml
index ada52fb..d50b2a7 100644
--- a/src/main/java/org/springblade/modules/category/mapper/CategoryMapper.xml
+++ b/src/main/java/org/springblade/modules/category/mapper/CategoryMapper.xml
@@ -57,4 +57,28 @@
     </select>
 
 
+    <select id="getTreeList" resultType="org.springblade.common.node.TreeIntegerNode">
+        SELECT
+            jc.category_no AS id,
+            jc.category_no,
+            jc.parent_no AS parentId,
+            jc.category_name AS name,
+            jc.`level`,
+            (
+            SELECT
+                count( 1 )
+            FROM
+                jczz_place jp
+                LEFT JOIN jczz_place_poi_label jppl ON jp.id = jppl.place_id
+            WHERE
+                jc.category_no = jppl.poi_code
+                AND jppl.type = 3
+            ) count
+        FROM
+            jczz_category jc
+        WHERE
+            is_deleted = 0
+    </select>
+
+
 </mapper>
diff --git a/src/main/java/org/springblade/modules/category/service/ICategoryService.java b/src/main/java/org/springblade/modules/category/service/ICategoryService.java
index eff1ca6..ca903e7 100644
--- a/src/main/java/org/springblade/modules/category/service/ICategoryService.java
+++ b/src/main/java/org/springblade/modules/category/service/ICategoryService.java
@@ -18,6 +18,7 @@
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.IService;
+import org.springblade.common.node.TreeIntegerNode;
 import org.springblade.modules.category.dto.CategoryDTO;
 import org.springblade.modules.category.entity.CategoryEntity;
 import org.springblade.modules.category.vo.CategoryVO;
@@ -53,4 +54,6 @@
 	 * @return
 	 */
     List<CategoryDTO> selectCategoryLabelList(CategoryDTO categoryDTO);
+
+	List<TreeIntegerNode> tree(CategoryVO category);
 }
diff --git a/src/main/java/org/springblade/modules/category/service/impl/CategoryServiceImpl.java b/src/main/java/org/springblade/modules/category/service/impl/CategoryServiceImpl.java
index 55fa0c8..8749263 100644
--- a/src/main/java/org/springblade/modules/category/service/impl/CategoryServiceImpl.java
+++ b/src/main/java/org/springblade/modules/category/service/impl/CategoryServiceImpl.java
@@ -17,6 +17,8 @@
 package org.springblade.modules.category.service.impl;
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springblade.common.node.TreeIntegerNode;
+import org.springblade.common.utils.NodeTreeUtil;
 import org.springblade.modules.category.dto.CategoryDTO;
 import org.springblade.modules.category.entity.CategoryEntity;
 import org.springblade.modules.category.vo.CategoryVO;
@@ -27,6 +29,7 @@
 import com.baomidou.mybatisplus.core.metadata.IPage;
 
 import java.util.List;
+import java.util.Map;
 
 /**
  * 天地图poi 分类表 服务实现类
@@ -58,4 +61,20 @@
 	public List<CategoryDTO> selectCategoryLabelList(CategoryDTO categoryDTO) {
 		return this.baseMapper.selectCategoryList(categoryDTO);
 	}
+
+	@Override
+	public List<TreeIntegerNode> tree(CategoryVO category) {
+		Map<Integer, TreeIntegerNode> labelTreeList = baseMapper.getTreeList(category);
+		List<TreeIntegerNode> nodeTree = NodeTreeUtil.getNodeTree(labelTreeList);
+		nodeTree.forEach(node -> recursion(node));
+		return nodeTree;
+	}
+
+	private void recursion(TreeIntegerNode node) {
+		if (node.getChildren() != null && node.getChildren().size() > 0) {
+			node.getChildren().forEach(node2 -> recursion(node2));
+		} else {
+			node.setChildren(null);
+		}
+	}
 }
diff --git a/src/main/java/org/springblade/modules/system/controller/UserController.java b/src/main/java/org/springblade/modules/system/controller/UserController.java
index 670740b..01f7529 100644
--- a/src/main/java/org/springblade/modules/system/controller/UserController.java
+++ b/src/main/java/org/springblade/modules/system/controller/UserController.java
@@ -411,8 +411,8 @@
 	 */
 	@GetMapping("/getUserInfoByPropertyCompanyId")
 	@ApiOperation(value = "通过机构查询物业公司人员", notes = "propertyCompanyId")
-	public R getUserInfoByPropertyId(@RequestParam("propertyCompanyId") String propertyCompanyId) {
-		return R.data(userService.getUserInfoByPropertyId(propertyCompanyId));
+	public R getUserInfoByPropertyId(@RequestParam("propertyCompanyId") String propertyCompanyId,@RequestParam("roleId") String roleId) {
+		return R.data(userService.getUserInfoByPropertyId(propertyCompanyId,roleId));
 	}
 
 	/**
@@ -423,4 +423,12 @@
 		return R.data(userService.handleUserDept());
 	}
 
+	/**
+	 * 处理漏绑定的user_dept
+	 */
+	@GetMapping("/handleUser")
+	public R handleUser() {
+		return R.data(userService.handleUser());
+	}
+
 }
diff --git a/src/main/java/org/springblade/modules/system/mapper/UserMapper.java b/src/main/java/org/springblade/modules/system/mapper/UserMapper.java
index 674e15c..0cf22fd 100644
--- a/src/main/java/org/springblade/modules/system/mapper/UserMapper.java
+++ b/src/main/java/org/springblade/modules/system/mapper/UserMapper.java
@@ -106,5 +106,5 @@
 	 */
 	List<User> getNotBindUserDept();
 
-	List<User> getUserInfoByPropertyId(String deptId);
+	List<User> getUserInfoByPropertyId(String deptId,String roleId);
 }
diff --git a/src/main/java/org/springblade/modules/system/mapper/UserMapper.xml b/src/main/java/org/springblade/modules/system/mapper/UserMapper.xml
index 9a570ac..34c2e5e 100644
--- a/src/main/java/org/springblade/modules/system/mapper/UserMapper.xml
+++ b/src/main/java/org/springblade/modules/system/mapper/UserMapper.xml
@@ -204,16 +204,21 @@
 
     <select id="getUserInfoByPropertyId" resultType="org.springblade.modules.system.entity.User"
             parameterType="java.lang.String">
-                SELECT * from blade_user bu  where bu.dept_id in (
-        SELECT
+            SELECT
+            *
+            FROM
+            blade_user bu
+            WHERE
+            bu.role_id = #{roleId}
+            and bu.dept_id IN (
+            SELECT
             id
-        FROM
+            FROM
             ( SELECT id, parent_id FROM blade_dept ORDER BY parent_id, id ) org_query,
-            ( SELECT @id := #{deptId} ) initialisation
-        WHERE
-            FIND_IN_SET( parent_id, @id ) > 0
-            AND @id := CONCAT( @id, ',', id )
-        ) or bu.dept_id=#{deptId}
+            (SELECT	@id := #{deptId} ) initialisation
+            WHERE
+            FIND_IN_SET( parent_id, @id ) > 0 AND @id := CONCAT( @id, ',', id )
+            )
 
     </select>
 
diff --git a/src/main/java/org/springblade/modules/system/service/impl/UserServiceImpl.java b/src/main/java/org/springblade/modules/system/service/impl/UserServiceImpl.java
index 0646be3..755be61 100644
--- a/src/main/java/org/springblade/modules/system/service/impl/UserServiceImpl.java
+++ b/src/main/java/org/springblade/modules/system/service/impl/UserServiceImpl.java
@@ -43,6 +43,8 @@
 import org.springblade.core.tool.utils.*;
 import org.springblade.modules.auth.enums.UserEnum;
 import org.springblade.modules.grid.service.IGridmanService;
+import org.springblade.modules.house.entity.HouseholdEntity;
+import org.springblade.modules.house.service.IHouseholdService;
 import org.springblade.modules.property.entity.PropertyCompanyEntity;
 import org.springblade.modules.property.service.IPropertyCompanyDistrictService;
 import org.springblade.modules.property.service.IPropertyCompanyService;
@@ -467,23 +469,25 @@
 
 	/**
 	 * 根据手机号查询对应账号和手机号的用户信息
+	 *
 	 * @param phoneNumber
 	 * @return
 	 */
 	@Override
 	public List<User> getUserListByPhoneOrAccount(String phoneNumber) {
-		return baseMapper.getUserListByPhoneOrAccount( phoneNumber);
+		return baseMapper.getUserListByPhoneOrAccount(phoneNumber);
 	}
 
 	/**
 	 * 获取用户信息
+	 *
 	 * @return
 	 */
 	@Override
 	public UserDetailVO getUserInfo(Long userId) {
 		// 根据用户id 获取用户详情信息
 		UserDetailVO userVO = baseMapper.getUserInfo(userId);
-		if (null!=userVO){
+		if (null != userVO) {
 			// 设置机构
 			userVO.setPassword(null);
 		}
@@ -531,10 +535,30 @@
 	}
 
 	@Override
-	public List<User> getUserInfoByPropertyId(String propertyCompanyId) {
+	public List<User> getUserInfoByPropertyId(String propertyCompanyId, String roleId) {
 		// 查询物业公司,获取物业公司的机构
 		IPropertyCompanyService bean = SpringUtil.getBean(IPropertyCompanyService.class);
 		PropertyCompanyEntity one = bean.getOne(Wrappers.<PropertyCompanyEntity>lambdaQuery().eq(PropertyCompanyEntity::getId, propertyCompanyId));
-		return baseMapper.getUserInfoByPropertyId(one.getDeptId().toString());
+		return baseMapper.getUserInfoByPropertyId(one.getDeptId().toString(), roleId);
+	}
+
+	@Override
+	public Object handleUser() {
+		List<User> list = list(Wrappers.<User>lambdaQuery()
+			.eq(User::getDeptId, "1727979636479037441")
+			.eq(User::getRoleId, "1717429059648606209"));
+		IHouseholdService bean = SpringUtil.getBean(IHouseholdService.class);
+		int a = 0;
+		for (User user : list) {
+			System.out.println("查詢處理啊的人:" + user.getId());
+			HouseholdEntity one = bean.getOne(Wrappers.<HouseholdEntity>lambdaQuery()
+				.eq(HouseholdEntity::getAssociatedUserId, user.getId())
+				.eq(HouseholdEntity::getIsDeleted, 0));
+			if (one != null) {
+				a++;
+			}
+			System.out.println("查詢處理啊的人:" + a);
+		}
+		return null;
 	}
 }

--
Gitblit v1.9.3