From 845372f87dd1153e5ad17d930f1d71c33c0dab71 Mon Sep 17 00:00:00 2001
From: zengh <123456>
Date: Wed, 24 Mar 2021 22:40:32 +0800
Subject: [PATCH] 用户接口修改

---
 blade-service/blade-user/src/main/java/org/springblade/system/user/service/impl/UserServiceImpl.java |    6 +++
 blade-service/blade-user/src/main/java/org/springblade/system/user/mapper/UserMapper.xml             |   62 ++++++++++++++++++++++++++++++
 blade-service/blade-user/src/main/java/org/springblade/system/user/controller/UserController.java    |   16 ++++++++
 blade-service/blade-user/src/main/java/org/springblade/system/user/service/IUserService.java         |   10 +++++
 blade-service/blade-user/src/main/java/org/springblade/system/user/mapper/UserMapper.java            |   10 +++++
 5 files changed, 103 insertions(+), 1 deletions(-)

diff --git a/blade-service/blade-user/src/main/java/org/springblade/system/user/controller/UserController.java b/blade-service/blade-user/src/main/java/org/springblade/system/user/controller/UserController.java
index 80822f5..457c3b9 100644
--- a/blade-service/blade-user/src/main/java/org/springblade/system/user/controller/UserController.java
+++ b/blade-service/blade-user/src/main/java/org/springblade/system/user/controller/UserController.java
@@ -127,6 +127,22 @@
 	}
 
 	/**
+	 * 自定义用户列表(带坐标)
+	 */
+	@GetMapping("/pages")
+	@ApiImplicitParams({
+		@ApiImplicitParam(name = "account", value = "账号名", paramType = "query", dataType = "string"),
+		@ApiImplicitParam(name = "realName", value = "姓名", paramType = "query", dataType = "string")
+	})
+	@ApiOperationSupport(order = 3)
+	@ApiOperation(value = "列表", notes = "传入account和realName")
+	//@PreAuth(RoleConstant.HAS_ROLE_ADMIN)
+	public R<IPage<UserVO>> pages(@ApiIgnore User user, Query query, Long deptId, BladeUser bladeUser) {
+		IPage<User> pages = userService.selectUserPages(Condition.getPage(query), user, deptId, (bladeUser.getTenantId().equals(BladeConstant.ADMIN_TENANT_ID) ? StringPool.EMPTY : bladeUser.getTenantId()));
+		return R.data(UserWrapper.build().pageVO(pages));
+	}
+
+	/**
 	 * 新增或修改
 	 */
 	@PostMapping("/submit")
diff --git a/blade-service/blade-user/src/main/java/org/springblade/system/user/mapper/UserMapper.java b/blade-service/blade-user/src/main/java/org/springblade/system/user/mapper/UserMapper.java
index 2ef9f26..58f59f8 100644
--- a/blade-service/blade-user/src/main/java/org/springblade/system/user/mapper/UserMapper.java
+++ b/blade-service/blade-user/src/main/java/org/springblade/system/user/mapper/UserMapper.java
@@ -43,6 +43,16 @@
 	 * @return
 	 */
 	List<User> selectUserPage(IPage<User> page, @Param("user") User user, @Param("deptIdList") List<Long> deptIdList, @Param("tenantId") String tenantId);
+	/**
+	 * 自定义分页(带坐标)
+	 *
+	 * @param page
+	 * @param user
+	 * @param deptIdList
+	 * @param tenantId
+	 * @return
+	 */
+	List<User> selectUserPages(IPage<User> page, @Param("user") User user, @Param("deptIdList") List<Long> deptIdList, @Param("tenantId") String tenantId);
 
 	/**
 	 * 获取用户
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 aaa107c..ad66bd4 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
@@ -3,7 +3,33 @@
 <mapper namespace="org.springblade.system.user.mapper.UserMapper">
 
     <!-- 通用查询映射结果 -->
-    <resultMap id="userResultMap" type="org.springblade.system.user.vo.UserVO">
+    <resultMap id="userResultMap" type="org.springblade.system.user.entity.User">
+        <result column="id" property="id"/>
+        <result column="tenant_id" property="tenantId"/>
+        <result column="create_user" property="createUser"/>
+        <result column="create_time" property="createTime"/>
+        <result column="update_user" property="updateUser"/>
+        <result column="update_time" property="updateTime"/>
+        <result column="status" property="status"/>
+        <result column="is_deleted" property="isDeleted"/>
+        <result column="code" property="code"/>
+        <result column="user_type" property="userType"/>
+        <result column="account" property="account"/>
+        <result column="password" property="password"/>
+        <result column="name" property="name"/>
+        <result column="real_name" property="realName"/>
+        <result column="email" property="email"/>
+        <result column="phone" property="phone"/>
+        <result column="birthday" property="birthday"/>
+        <result column="sex" property="sex"/>
+        <result column="role_id" property="roleId"/>
+        <result column="dept_id" property="deptId"/>
+        <result column="post_id" property="postId"/>
+        <result column="online_status" property="online_status"/>
+        <result column="work_status" property="work_status"/>
+    </resultMap>
+
+    <resultMap id="userResultMaps" type="org.springblade.system.user.vo.UserVO">
         <result column="id" property="id"/>
         <result column="tenant_id" property="tenantId"/>
         <result column="create_user" property="createUser"/>
@@ -32,6 +58,40 @@
     </resultMap>
 
     <select id="selectUserPage" resultMap="userResultMap">
+        select *  from blade_user
+        where is_deleted = 0
+        <if test="tenantId!=null and tenantId != ''">
+            and tenant_id = #{tenantId}
+        </if>
+        <if test="user.tenantId!=null and user.tenantId != ''">
+            and tenant_id = #{user.tenantId}
+        </if>
+        <if test="user.account!=null and user.account != ''">
+            and account = #{user.account}
+        </if>
+        <if test="user.realName!=null and user.realName != ''">
+            and real_name = #{user.realName}
+        </if>
+        <if test="user.userType!=null and user.userType != ''">
+            and user_type = #{user.userType}
+        </if>
+        <if test="deptIdList!=null and deptIdList.size>0">
+            and id in (
+            SELECT
+            user_id
+            FROM
+            blade_user_dept
+            WHERE
+            dept_id IN
+            <foreach collection="deptIdList" index="index" item="item" open="(" separator="," close=")">
+                #{item}
+            </foreach>
+            )
+        </if>
+        ORDER BY id
+    </select>
+
+    <select id="selectUserPages" resultMap="userResultMaps">
         select s.*,p.jd,p.wd,ST_ASTEXT ( e.coordinate )  from blade_user s
         LEFT JOIN jfpt.sys_position p ON p.snumber = s.CODE
         LEFT JOIN jfpt.sys_enclosure e ON e.anumber = s.CODE
diff --git a/blade-service/blade-user/src/main/java/org/springblade/system/user/service/IUserService.java b/blade-service/blade-user/src/main/java/org/springblade/system/user/service/IUserService.java
index 1333216..14b54e1 100644
--- a/blade-service/blade-user/src/main/java/org/springblade/system/user/service/IUserService.java
+++ b/blade-service/blade-user/src/main/java/org/springblade/system/user/service/IUserService.java
@@ -71,6 +71,16 @@
 	 * @return
 	 */
 	IPage<User> selectUserPage(IPage<User> page, User user, Long deptId, String tenantId);
+	/**
+	 * 自定义分页(带坐标)
+	 *
+	 * @param page
+	 * @param user
+	 * @param deptId
+	 * @param tenantId
+	 * @return
+	 */
+	IPage<User> selectUserPages(IPage<User> page, User user, Long deptId, String tenantId);
 
 	/**
 	 * 用户信息
diff --git a/blade-service/blade-user/src/main/java/org/springblade/system/user/service/impl/UserServiceImpl.java b/blade-service/blade-user/src/main/java/org/springblade/system/user/service/impl/UserServiceImpl.java
index 12d596d..6554255 100644
--- a/blade-service/blade-user/src/main/java/org/springblade/system/user/service/impl/UserServiceImpl.java
+++ b/blade-service/blade-user/src/main/java/org/springblade/system/user/service/impl/UserServiceImpl.java
@@ -147,6 +147,12 @@
 	}
 
 	@Override
+	public IPage<User> selectUserPages(IPage<User> page, User user, Long deptId, String tenantId) {
+		List<Long> deptIdList = SysCache.getDeptChildIds(deptId);
+		return page.setRecords(baseMapper.selectUserPages(page, user, deptIdList, tenantId));
+	}
+
+	@Override
 	public User userByAccount(String tenantId, String account) {
 		return baseMapper.selectOne(Wrappers.<User>query().lambda().eq(User::getTenantId, tenantId).eq(User::getAccount, account).eq(User::getIsDeleted, BladeConstant.DB_NOT_DELETED));
 	}

--
Gitblit v1.9.3