From fade7d9f3651ea1a46e74d65c336e7f10669ca43 Mon Sep 17 00:00:00 2001
From: guoshilong <123456>
Date: Fri, 10 Mar 2023 17:27:08 +0800
Subject: [PATCH] 完善代码

---
 blade-service-api/blade-system-api/src/main/java/org/springblade/system/entity/Dept.java          |   36 ++++++++++++++++++
 /dev/null                                                                                         |   13 ------
 blade-service/blade-system/src/main/java/org/springblade/system/mapper/DeptMapper.java            |    7 +++
 blade-service/blade-system/src/main/java/org/springblade/system/service/impl/DeptServiceImpl.java |    6 +++
 blade-service/blade-user/src/main/java/org/springblade/system/user/mapper/UserMapper.xml          |   13 +++++-
 blade-service-api/blade-system-api/pom.xml                                                        |    6 +++
 blade-service/blade-system/src/main/java/org/springblade/system/mapper/DeptMapper.xml             |   20 ++++++++++
 blade-service-api/blade-system-api/src/main/java/org/springblade/system/dto/DeptDTO.java          |    4 ++
 blade-service/blade-system/src/main/java/org/springblade/system/service/IDeptService.java         |    7 +++
 9 files changed, 97 insertions(+), 15 deletions(-)

diff --git a/blade-service-api/blade-system-api/pom.xml b/blade-service-api/blade-system-api/pom.xml
index b49f61b..28c8016 100644
--- a/blade-service-api/blade-system-api/pom.xml
+++ b/blade-service-api/blade-system-api/pom.xml
@@ -19,6 +19,12 @@
             <groupId>org.springblade</groupId>
             <artifactId>blade-starter-cache</artifactId>
         </dependency>
+        <dependency>
+            <groupId>org.springblade</groupId>
+            <artifactId>blade-user-api</artifactId>
+            <version>3.0.1.RELEASE</version>
+            <scope>compile</scope>
+        </dependency>
     </dependencies>
 
 </project>
diff --git a/blade-service-api/blade-system-api/src/main/java/org/springblade/system/dto/DeptDTO.java b/blade-service-api/blade-system-api/src/main/java/org/springblade/system/dto/DeptDTO.java
index 4b9009b..02e19f7 100644
--- a/blade-service-api/blade-system-api/src/main/java/org/springblade/system/dto/DeptDTO.java
+++ b/blade-service-api/blade-system-api/src/main/java/org/springblade/system/dto/DeptDTO.java
@@ -19,6 +19,9 @@
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import org.springblade.system.entity.Dept;
+import org.springblade.system.user.entity.User;
+
+import java.util.List;
 
 /**
  * 数据传输对象实体类
@@ -30,4 +33,5 @@
 public class DeptDTO extends Dept {
 	private static final long serialVersionUID = 1L;
 
+	private List<User> userList;
 }
diff --git a/blade-service-api/blade-system-api/src/main/java/org/springblade/system/entity/Dept.java b/blade-service-api/blade-system-api/src/main/java/org/springblade/system/entity/Dept.java
index 259f273..47f49d8 100644
--- a/blade-service-api/blade-system-api/src/main/java/org/springblade/system/entity/Dept.java
+++ b/blade-service-api/blade-system-api/src/main/java/org/springblade/system/entity/Dept.java
@@ -68,6 +68,42 @@
 	private String deptName;
 
 	/**
+	 * 省
+	 */
+	@ApiModelProperty(value = "省")
+	private String province;
+
+	/**
+	 * 市
+	 */
+	@ApiModelProperty(value = "市")
+	private String city;
+
+	/**
+	 * 县
+	 */
+	@ApiModelProperty(value = "县")
+	private String county;
+
+	/**
+	 * 所在位置
+	 */
+	@ApiModelProperty(value = "所在位置")
+	private String location;
+
+	/**
+	 * 经度
+	 */
+	@ApiModelProperty(value = "经度")
+	private String lon;
+
+	/**
+	 * 纬度
+	 */
+	@ApiModelProperty(value = "纬度")
+	private String lat;
+
+	/**
 	 * 机构全称
 	 */
 	@ApiModelProperty(value = "机构全称")
diff --git a/blade-service/blade-fire/src/test/java/org/springblade/modules/BladeFireApplicationTests.java b/blade-service/blade-fire/src/test/java/org/springblade/modules/BladeFireApplicationTests.java
deleted file mode 100644
index 8b2afb8..0000000
--- a/blade-service/blade-fire/src/test/java/org/springblade/modules/BladeFireApplicationTests.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package org.springblade.modules;
-
-import org.junit.jupiter.api.Test;
-import org.springframework.boot.test.context.SpringBootTest;
-
-@SpringBootTest
-class BladeFireApplicationTests {
-
-	@Test
-	void contextLoads() {
-	}
-
-}
diff --git a/blade-service/blade-system/src/main/java/org/springblade/system/mapper/DeptMapper.java b/blade-service/blade-system/src/main/java/org/springblade/system/mapper/DeptMapper.java
index f6a10ff..9502c4d 100644
--- a/blade-service/blade-system/src/main/java/org/springblade/system/mapper/DeptMapper.java
+++ b/blade-service/blade-system/src/main/java/org/springblade/system/mapper/DeptMapper.java
@@ -17,6 +17,7 @@
 package org.springblade.system.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.springblade.system.dto.DeptDTO;
 import org.springblade.system.entity.Dept;
 import org.springblade.system.vo.DeptVO;
 
@@ -65,4 +66,10 @@
 	 */
 	List<String> getDeptNames(Long[] ids);
 
+	/**
+	 * 获取部门分组和部门下的用户
+	 * @return
+	 */
+	List<DeptDTO> getUserGroupByDept();
+
 }
diff --git a/blade-service/blade-system/src/main/java/org/springblade/system/mapper/DeptMapper.xml b/blade-service/blade-system/src/main/java/org/springblade/system/mapper/DeptMapper.xml
index 6054664..d3c5d58 100644
--- a/blade-service/blade-system/src/main/java/org/springblade/system/mapper/DeptMapper.xml
+++ b/blade-service/blade-system/src/main/java/org/springblade/system/mapper/DeptMapper.xml
@@ -112,4 +112,24 @@
         and is_deleted = 0
     </select>
 
+    <resultMap id="userDeptGroup" type="org.springblade.system.dto.DeptDTO">
+        <id column="dept_id" property="id"/>
+        <result column="dept_name" property="deptName"/>
+        <collection property="userList" javaType="java.util.List" ofType="org.springblade.system.user.entity.User">
+            <result column="id" property="id"/>
+            <result column="real_name" property="realName"/>
+            <result column="avatar" property="avatar"/>
+            <result column="email" property="email"/>
+            <result column="phone" property="phone"/>
+            <result column="role_id" property="roleId"/>
+        </collection>
+    </resultMap>
+
+    <select id="getUserGroupByDept" resultMap="userDeptGroup">
+        SELECT user.id,user.real_name,user.avatar,user.email,user.phone,user.dept_id,user.role_id,dept.dept_name
+        FROM blade_user user
+        LEFT JOIN blade_dept dept ON dept.id = user.dept_id and dept.is_deleted = 0
+        WHERE user.is_deleted = 0
+    </select>
+
 </mapper>
diff --git a/blade-service/blade-system/src/main/java/org/springblade/system/service/IDeptService.java b/blade-service/blade-system/src/main/java/org/springblade/system/service/IDeptService.java
index fde1c9b..a535818 100644
--- a/blade-service/blade-system/src/main/java/org/springblade/system/service/IDeptService.java
+++ b/blade-service/blade-system/src/main/java/org/springblade/system/service/IDeptService.java
@@ -17,6 +17,7 @@
 package org.springblade.system.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
+import org.springblade.system.dto.DeptDTO;
 import org.springblade.system.entity.Dept;
 import org.springblade.system.vo.DeptVO;
 
@@ -116,4 +117,10 @@
 	 */
 	List<DeptVO> search(String deptName, Long parentId);
 
+	/**
+	 * 获取部门分组和部门下的用户
+	 * @return
+	 */
+	List<DeptDTO> getUserGroupByDept();
+
 }
diff --git a/blade-service/blade-system/src/main/java/org/springblade/system/service/impl/DeptServiceImpl.java b/blade-service/blade-system/src/main/java/org/springblade/system/service/impl/DeptServiceImpl.java
index b344a1e..55e2a9f 100644
--- a/blade-service/blade-system/src/main/java/org/springblade/system/service/impl/DeptServiceImpl.java
+++ b/blade-service/blade-system/src/main/java/org/springblade/system/service/impl/DeptServiceImpl.java
@@ -26,6 +26,7 @@
 import org.springblade.core.tool.utils.Func;
 import org.springblade.core.tool.utils.StringPool;
 import org.springblade.system.cache.SysCache;
+import org.springblade.system.dto.DeptDTO;
 import org.springblade.system.entity.Dept;
 import org.springblade.system.mapper.DeptMapper;
 import org.springblade.system.service.IDeptService;
@@ -170,4 +171,9 @@
 		return DeptWrapper.build().listNodeVO(deptList);
 	}
 
+	@Override
+	public List<DeptDTO> getUserGroupByDept() {
+		return baseMapper.getUserGroupByDept();
+	}
+
 }
diff --git a/blade-service/blade-user/src/main/java/org/springblade/system/user/mapper/UserMapper.xml b/blade-service/blade-user/src/main/java/org/springblade/system/user/mapper/UserMapper.xml
index 307340e..0d04834 100644
--- a/blade-service/blade-user/src/main/java/org/springblade/system/user/mapper/UserMapper.xml
+++ b/blade-service/blade-user/src/main/java/org/springblade/system/user/mapper/UserMapper.xml
@@ -36,10 +36,10 @@
             and tenant_id = #{user.tenantId}
         </if>
         <if test="user.account!=null and user.account != ''">
-            and account = #{user.account}
+            and account LIKE CONCAT('%', #{user.account},'%')
         </if>
         <if test="user.realName!=null and user.realName != ''">
-            and real_name = #{user.realName}
+            and real_name LIKE CONCAT('%', #{user.realName},'%')
         </if>
         <if test="user.userType!=null and user.userType != ''">
             and user_type = #{user.userType}
@@ -57,6 +57,15 @@
             </foreach>
             )
         </if>
+        <if test="user.phone !=null and user.phone !='' ">
+            AND phone LIKE CONCAT('%',#{user.phone},'%')
+        </if>
+        <if test="user.roleId !=null and user.roleId !=''">
+            AND FIND_IN_SET(role_id,#{user.roleId})
+        </if>
+        <if test="user.deptId !=null and user.deptId !=''">
+            AND dept_id = #{user.deptId}
+        </if>
         ORDER BY id
     </select>
 

--
Gitblit v1.9.3