Ver Fonte

1、用户查询新增角色筛选,返回角色数组

machaoyi há 1 ano atrás
pai
commit
97149c3b2a

+ 5 - 0
core/src/main/java/com/ctsi/System/SysUser/entity/VO/UserSearchVO.java

@@ -4,6 +4,8 @@ import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
+import java.util.List;
+
 @ApiModel("用户查询条件")
 @Data
 public class UserSearchVO {
@@ -19,4 +21,7 @@ public class UserSearchVO {
     /** 部门id */
     @ApiModelProperty(value = "部门id",notes = "")
     private Long orgId ;
+    /** 角色id */
+    @ApiModelProperty(value = "角色id 用“,”隔开",notes = "")
+    private String roleIds ;
 }

+ 17 - 1
core/src/main/java/com/ctsi/System/SysUser/service/impl/SysUserServiceImpl.java

@@ -16,6 +16,7 @@ import com.ctsi.System.SysUser.service.SysUserService;
 import com.ctsi.System.SysUserDetail.entity.SysUserDetail;
 import com.ctsi.System.SysUserOrg.entity.SysUserOrg;
 import com.ctsi.System.SysUserRole.entity.PO.SysUserRoleAddPO;
+import com.ctsi.System.SysUserRole.entity.SysUserRole;
 import com.ctsi.System.SysUserRole.service.SysUserRoleService;
 import com.ctsi.utils.ApiResult;
 import com.ctsi.utils.PasswordEncoderUtil;
@@ -26,6 +27,7 @@ import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
+import java.util.List;
 
 /**
  * 用户表;(sys_user)表服务实现类
@@ -86,12 +88,26 @@ public class SysUserServiceImpl implements SysUserService {
             queryWrapper.eq(SysUserOrg::getOrgId, sysUser.getOrgId());
             queryWrapper.leftJoin(SysUserOrg.class, SysUserOrg::getUserId, SysUser::getId);
         }
+        //获取用户详细信息
+        queryWrapper.leftJoin(SysUserDetail.class, SysUserDetail::getId, SysUser::getId);
         queryWrapper.selectAll(SysUserDetail.class);
+        //获取用户名
         queryWrapper.select(SysUser::getUserName);
-        queryWrapper.leftJoin(SysUserDetail.class, SysUserDetail::getId, SysUser::getId);
+        //筛选用户角色
+        if (StrUtil.isNotBlank(sysUser.getRoleIds())) {
+            List<String> roleIds = StrUtil.split(sysUser.getRoleIds(), ',');
+            queryWrapper.leftJoin(SysUserRole.class, SysUserRole::getUserId, SysUser::getId);
+            queryWrapper.in(SysUserRole::getRoleId, roleIds);
+        }
+
         //2. 执行分页查询
         Page<UserDetailPO> pagin = new Page<>(current , size , true);
         IPage<UserDetailPO> selectResult = sysUserMapper.selectJoinPage(pagin , UserDetailPO.class, queryWrapper);
+        for (UserDetailPO userDetailPO : selectResult.getRecords()) {
+            SysUserRoleAddPO sysUserRoleAddPO = sysUserRoleService.getUserRoles(userDetailPO.getId());
+            userDetailPO.setRoleId(sysUserRoleAddPO.getRoleId());
+            userDetailPO.setRoleName(sysUserRoleAddPO.getRoleName());
+        }
         pagin.setPages(selectResult.getPages());
         pagin.setTotal(selectResult.getTotal());
         pagin.setRecords(selectResult.getRecords());