Browse Source

用户管理调整

zhoulisky 1 month ago
parent
commit
88927642c4

+ 13 - 14
kd-service-api/kd-user-api/src/main/java/org/sky/system/pojo/vo/UserVO.java

@@ -1,14 +1,13 @@
  package org.sky.system.pojo.vo;
 
-import com.fasterxml.jackson.annotation.JsonIgnore;
-import com.fasterxml.jackson.databind.annotation.JsonSerialize;
-import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
-import io.swagger.v3.oas.annotations.media.Schema;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-import org.sky.system.pojo.entity.User;
+ import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+ import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
+ import io.swagger.v3.oas.annotations.media.Schema;
+ import lombok.Data;
+ import lombok.EqualsAndHashCode;
+ import org.sky.system.pojo.entity.User;
 
-import java.io.Serial;
+ import java.io.Serial;
 
 /**
  * 视图实体类
@@ -26,12 +25,12 @@ public class UserVO extends User {
 	 */
 	@JsonSerialize(using = ToStringSerializer.class)
 	private Long id;
-
-	/**
-	 * 密码
-	 */
-	@JsonIgnore
-	private String password;
+//
+//	/**
+//	 * 密码
+//	 */
+//	@JsonIgnore
+//	private String password;
 
 	/**
 	 * 租户名

+ 9 - 14
kd-service/kd-system/src/main/java/org/sky/system/controller/UserController.java

@@ -34,7 +34,6 @@ import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
 
 import java.util.ArrayList;
-import java.util.Date;
 import java.util.List;
 import java.util.Map;
 
@@ -100,20 +99,16 @@ public class UserController {
 	@GetMapping("/page")
 	@Parameters({
 		@Parameter(name = "account", description = "账号名", in = ParameterIn.QUERY, schema = @Schema(type = "string")),
-		@Parameter(name = "realName", description = "姓名", in = ParameterIn.QUERY, schema = @Schema(type = "string"))
-	})
+		@Parameter(name = "realName", description = "姓名", in = ParameterIn.QUERY, schema = @Schema(type = "string")),
+		@Parameter(name = "tenantName", description = "所属企业", in = ParameterIn.QUERY, schema = @Schema(type = "string"))
+ 	})
 	@ApiOperationSupport(order = 3)
-	@Operation(summary = "列表", description = "传入account和realName")
-	public R<IPage<UserVO>> page(@Parameter(hidden = true) User user, Query query, Long deptId, KdUser kdUser) {
-		Date now = new Date();
-		System.out.println("开始:" + now);
-		IPage<User> pages = userService.selectUserPage(Condition.getPage(query), user, deptId, (kdUser.getTenantId().equals(KdConstant.ADMIN_TENANT_ID) ? StringPool.EMPTY : kdUser.getTenantId()));
-		System.out.println("开始1:" + (new Date().getTime()-now.getTime()));
-		now = new Date();
-		IPage<UserVO> page = UserWrapper.build().pageVO(pages);
-		System.out.println("耗时:" + (new Date().getTime() - now.getTime()));
-
-		return R.data(page);
+	@Operation(summary = "列表", description = "传入account、realName、tenantName")
+	public R<IPage<UserVO>> page(@Parameter(hidden = true) UserVO user, Query query, KdUser kdUser) {
+  		IPage<UserVO> pages = userService.selectUserPage(Condition.getPage(query), user, (kdUser.getTenantId().equals(KdConstant.ADMIN_TENANT_ID) ? StringPool.EMPTY : kdUser.getTenantId()));
+//  		IPage<UserVO> pages = userService.selectUserPage(Condition.getPage(query), user, kdUser.getTenantId());
+// 		IPage<UserVO> page = UserWrapper.build().pageVO(pages);
+		return R.data(pages);
 	}
 
 	/**

+ 4 - 3
kd-service/kd-system/src/main/java/org/sky/system/mapper/UserMapper.java

@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import org.apache.ibatis.annotations.Param;
 import org.sky.system.pojo.entity.User;
 import org.sky.system.excel.UserExcel;
+import org.sky.system.pojo.vo.UserVO;
 
 import java.util.List;
 
@@ -24,7 +25,7 @@ public interface UserMapper extends BaseMapper<User> {
 	 * @param tenantId
 	 * @return
 	 */
-	List<User> selectUserPage(IPage<User> page, @Param("user") User user, @Param("deptIdList") List<Long> deptIdList, @Param("tenantId") String tenantId);
+	List<UserVO> selectUserPage(IPage<UserVO> page, @Param("user") UserVO user,  @Param("tenantId") String tenantId);
 
 	/**
 	 * 获取用户
@@ -33,7 +34,7 @@ public interface UserMapper extends BaseMapper<User> {
 	 * @param account
 	 * @return
 	 */
-	User getUser(String tenantId, String account);
+	UserVO getUser(String tenantId, String account);
 
 	/**
 	 * 获取用户
@@ -42,7 +43,7 @@ public interface UserMapper extends BaseMapper<User> {
 	 * @param phone
 	 * @return
 	 */
-	User getUserByPhone(String tenantId, String phone);
+	UserVO getUserByPhone(String tenantId, String phone);
 
 	/**
 	 * 获取导出用户数据

+ 13 - 27
kd-service/kd-system/src/main/java/org/sky/system/mapper/UserMapper.xml

@@ -3,9 +3,10 @@
 <mapper namespace="org.sky.system.mapper.UserMapper">
 
     <!-- 通用查询映射结果 -->
-    <resultMap id="userResultMap" type="org.sky.system.pojo.entity.User">
+    <resultMap id="userResultMap" type="org.sky.system.pojo.vo.UserVO">
         <result column="id" property="id"/>
         <result column="tenant_id" property="tenantId"/>
+        <result column="tenant_name" property="tenantName"/>
         <result column="create_user" property="createUser"/>
         <result column="create_time" property="createTime"/>
         <result column="update_user" property="updateUser"/>
@@ -28,39 +29,24 @@
     </resultMap>
 
     <select id="selectUserPage" resultMap="userResultMap">
-        select * from kd_user where is_deleted = 0
+        select
+        u.*, t.tenant_name
+        from kd_user u
+        left join kd_tenant t on t.tenant_id = u.tenant_id
+        where u.is_deleted = 0
         <if test="tenantId!=null and tenantId != ''">
-            and tenant_id = #{tenantId}
+            and u.tenant_id = #{tenantId}
         </if>
-        <if test="user.tenantId!=null and user.tenantId != ''">
-            and tenant_id = #{user.tenantId}
+        <if test="user.tenantName!=null and user.tenantName != ''">
+            and t.tenant_name like concat('%',#{user.tenantName},'%')
         </if>
         <if test="user.account!=null and user.account != ''">
-            and account = #{user.account}
+            and u.account = #{user.account}
         </if>
         <if test="user.realName!=null and user.realName != ''">
-            and real_name = #{user.realName}
+            and u.real_name = #{user.realName}
         </if>
-        <if test="user.userType!=null and user.userType != ''">
-            and user_type = #{user.userType}
-        </if>
-        <if test="user.status!=null and user.status>=0">
-            and status = #{user.status}
-        </if>
-        <if test="deptIdList!=null and deptIdList.size>0">
-            and id in (
-            SELECT
-            user_id
-            FROM
-            kd_user_dept
-            WHERE
-            dept_id IN
-            <foreach collection="deptIdList" index="index" item="item" open="(" separator="," close=")">
-                #{item}
-            </foreach>
-            )
-        </if>
-        ORDER BY id
+        ORDER BY u.id asc
     </select>
 
     <select id="getUser" resultMap="userResultMap">

+ 2 - 3
kd-service/kd-system/src/main/java/org/sky/system/service/IUserService.java

@@ -49,11 +49,10 @@ public interface IUserService extends BaseService<User> {
 	 *
 	 * @param page
 	 * @param user
-	 * @param deptId
-	 * @param tenantId
+ 	 * @param tenantId
 	 * @return
 	 */
-	IPage<User> selectUserPage(IPage<User> page, User user, Long deptId, String tenantId);
+	IPage<UserVO> selectUserPage(IPage<UserVO> page, UserVO user, String tenantId);
 
 	/**
 	 * 自定义分页

+ 31 - 3
kd-service/kd-system/src/main/java/org/sky/system/service/impl/UserServiceImpl.java

@@ -156,9 +156,37 @@ public class UserServiceImpl extends BaseServiceImpl<UserMapper, User> implement
 	}
 
 	@Override
-	public IPage<User> selectUserPage(IPage<User> page, User user, Long deptId, String tenantId) {
-		List<Long> deptIdList = SysCache.getDeptChildIds(deptId);
-		List<User> users = baseMapper.selectUserPage(page, user, deptIdList, tenantId);
+	public IPage<UserVO> selectUserPage(IPage<UserVO> page, UserVO user, String tenantId) {
+		if(StringUtil.isNotBlank(tenantId)){
+			user.setTenantName(null);
+		}
+		List<UserVO> users = baseMapper.selectUserPage(page, user, tenantId);
+
+		for (UserVO vo : users) {
+			if (StringUtil.isNotBlank(vo.getRoleId()) && !StringUtil.equals(vo.getRoleId(), StringPool.MINUS_ONE)) {
+				List<String> roleName = SysCache.getRoleNames(vo.getRoleId());
+				vo.setRoleName(Func.join(roleName));
+			} else {
+				vo.setRoleId(StringPool.EMPTY);
+				vo.setRoleName("暂未分配");
+			}
+			if (StringUtil.isNotBlank(vo.getDeptId()) && !StringUtil.equals(vo.getDeptId(), StringPool.MINUS_ONE)) {
+				List<String> deptName = SysCache.getDeptNames(vo.getDeptId());
+				vo.setDeptName(Func.join(deptName));
+			} else {
+				vo.setDeptId(StringPool.EMPTY);
+				vo.setDeptName("暂未分配");
+			}
+			if (StringUtil.isNotBlank(vo.getPostId()) && !StringUtil.equals(vo.getPostId(), StringPool.MINUS_ONE)) {
+				List<String> postName = SysCache.getPostNames(vo.getPostId());
+				vo.setPostName(Func.join(postName));
+			} else {
+				vo.setPostId(StringPool.EMPTY);
+				vo.setPostName("暂未分配");
+			}
+			vo.setSexName(DictCache.getValue(DictEnum.SEX, vo.getSex()));
+			vo.setUserTypeName(DictCache.getValue(DictEnum.USER_TYPE, vo.getUserType()));
+		}
 		return page.setRecords(users);
 	}
 

+ 6 - 8
kd-service/kd-system/src/main/java/org/sky/system/wrapper/UserWrapper.java

@@ -7,7 +7,6 @@
  import org.sky.core.tool.utils.StringUtil;
  import org.sky.system.cache.DictCache;
  import org.sky.system.cache.SysCache;
- import org.sky.system.pojo.entity.Tenant;
  import org.sky.system.pojo.entity.User;
  import org.sky.system.pojo.enums.DictEnum;
  import org.sky.system.pojo.vo.UserVO;
@@ -33,11 +32,11 @@ public class UserWrapper extends BaseEntityWrapper<User, UserVO> {
 			return null;
 		}
 
-		Tenant tenant = SysCache.getTenant(user.getTenantId());
-
-		if (tenant != null) {
-			userVO.setTenantName(tenant.getTenantName());
-		}
+//		Tenant tenant = SysCache.getTenant(user.getTenantId());
+//
+//		if (tenant != null) {
+//			userVO.setTenantName(tenant.getTenantName());
+//		}
 		if (StringUtil.isNotBlank(user.getRoleId()) && !StringUtil.equals(user.getRoleId(), StringPool.MINUS_ONE)) {
 			List<String> roleName = SysCache.getRoleNames(user.getRoleId());
 			userVO.setRoleName(Func.join(roleName));
@@ -61,8 +60,7 @@ public class UserWrapper extends BaseEntityWrapper<User, UserVO> {
 		}
 		userVO.setSexName(DictCache.getValue(DictEnum.SEX, user.getSex()));
 		userVO.setUserTypeName(DictCache.getValue(DictEnum.USER_TYPE, user.getUserType()));
-		System.out.println("111111111:" + (new Date().getTime()-now.getTime()));
-		return userVO;
+ 		return userVO;
 	}
 
 }