|
|
@@ -4,10 +4,16 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.qqflow.engine.common.PageResult;
|
|
|
import com.qqflow.engine.common.Result;
|
|
|
import com.qqflow.engine.domain.system.assembler.RoleAssembler;
|
|
|
+import com.qqflow.engine.domain.system.assembler.UserAssembler;
|
|
|
import com.qqflow.engine.domain.system.dto.BindWeComDTO;
|
|
|
import com.qqflow.engine.domain.system.dto.RoleDTO;
|
|
|
+import com.qqflow.engine.domain.system.dto.UserDTO;
|
|
|
import com.qqflow.engine.domain.system.entity.SysDept;
|
|
|
import com.qqflow.engine.domain.system.entity.SysRole;
|
|
|
+import com.qqflow.engine.domain.system.entity.SysUser;
|
|
|
+import com.qqflow.engine.domain.system.entity.SysUserRole;
|
|
|
+import com.qqflow.engine.domain.system.mapper.SysUserMapper;
|
|
|
+import com.qqflow.engine.domain.system.mapper.SysUserRoleMapper;
|
|
|
import com.qqflow.engine.domain.system.service.SysDeptService;
|
|
|
import com.qqflow.engine.domain.system.service.SysRoleService;
|
|
|
import io.swagger.v3.oas.annotations.Operation;
|
|
|
@@ -40,6 +46,12 @@ public class SysRoleController {
|
|
|
@Resource
|
|
|
private SysDeptService sysDeptService;
|
|
|
|
|
|
+ @Resource
|
|
|
+ private SysUserRoleMapper sysUserRoleMapper;
|
|
|
+
|
|
|
+ @Resource
|
|
|
+ private SysUserMapper sysUserMapper;
|
|
|
+
|
|
|
@Operation(summary = "分页查询角色")
|
|
|
@GetMapping("/list")
|
|
|
public Result<PageResult<RoleDTO>> list(
|
|
|
@@ -78,6 +90,30 @@ public class SysRoleController {
|
|
|
return Result.ok(dto);
|
|
|
}
|
|
|
|
|
|
+ @Operation(summary = "查询拥有某角色的用户列表(转办选人用)")
|
|
|
+ @GetMapping("/{roleId}/users")
|
|
|
+ @PreAuthorize("isAuthenticated()")
|
|
|
+ public Result<List<UserDTO>> listUsersByRoleId(@PathVariable Long roleId) {
|
|
|
+ List<Long> userIds = sysUserRoleMapper.selectList(
|
|
|
+ new com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper<SysUserRole>()
|
|
|
+ .eq(SysUserRole::getRoleId, roleId)
|
|
|
+ ).stream().map(SysUserRole::getUserId).distinct().toList();
|
|
|
+ if (userIds.isEmpty()) {
|
|
|
+ return Result.ok(java.util.Collections.emptyList());
|
|
|
+ }
|
|
|
+ List<SysUser> users = sysUserMapper.selectBatchIds(userIds);
|
|
|
+ List<UserDTO> dtos = users.stream()
|
|
|
+ .filter(u -> u.getStatus() == null || u.getStatus() == 0)
|
|
|
+ .map(u -> {
|
|
|
+ UserDTO dto = new UserDTO();
|
|
|
+ dto.setId(u.getId());
|
|
|
+ dto.setUsername(u.getUsername());
|
|
|
+ dto.setRealName(u.getRealName());
|
|
|
+ return dto;
|
|
|
+ }).collect(java.util.stream.Collectors.toList());
|
|
|
+ return Result.ok(dtos);
|
|
|
+ }
|
|
|
+
|
|
|
@Operation(summary = "查询用户角色列表")
|
|
|
@GetMapping("/user/{userId}")
|
|
|
public Result<List<RoleDTO>> listByUserId(@PathVariable Long userId) {
|