|
|
@@ -6,21 +6,18 @@ import cn.reghao.devops.manager.account.model.po.Role;
|
|
|
import cn.reghao.devops.manager.account.model.po.User;
|
|
|
import cn.reghao.devops.manager.account.model.vo.UserVO;
|
|
|
import cn.reghao.devops.manager.account.service.UserContext;
|
|
|
-import cn.reghao.devops.manager.util.db.PageList;
|
|
|
import cn.reghao.devops.manager.util.db.PageSort;
|
|
|
import io.swagger.annotations.Api;
|
|
|
import io.swagger.annotations.ApiOperation;
|
|
|
import org.springframework.data.domain.Page;
|
|
|
import org.springframework.data.domain.PageImpl;
|
|
|
import org.springframework.data.domain.PageRequest;
|
|
|
+import org.springframework.security.core.session.SessionRegistry;
|
|
|
import org.springframework.stereotype.Controller;
|
|
|
import org.springframework.ui.Model;
|
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
|
|
|
-import java.util.Collections;
|
|
|
-import java.util.HashSet;
|
|
|
-import java.util.List;
|
|
|
-import java.util.Set;
|
|
|
+import java.util.*;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
|
@@ -33,29 +30,36 @@ import java.util.stream.Collectors;
|
|
|
public class UserPageController {
|
|
|
private final UserQuery userQuery;
|
|
|
private final RoleQuery roleQuery;
|
|
|
+ private SessionRegistry sessionRegistry;
|
|
|
|
|
|
- public UserPageController(UserQuery userQuery, RoleQuery roleQuery) {
|
|
|
+ public UserPageController(UserQuery userQuery, RoleQuery roleQuery, SessionRegistry sessionRegistry) {
|
|
|
this.userQuery = userQuery;
|
|
|
this.roleQuery = roleQuery;
|
|
|
+ this.sessionRegistry = sessionRegistry;
|
|
|
}
|
|
|
|
|
|
@ApiOperation(value = "用户列表页面")
|
|
|
@GetMapping
|
|
|
public String userPage(@RequestParam(value = "screenName", required = false) String screenName, Model model) {
|
|
|
+ List<Object> users = sessionRegistry.getAllPrincipals();
|
|
|
+ List<User> userList = new ArrayList<>();
|
|
|
+ for (Object obj : users) {
|
|
|
+ if (obj instanceof User) {
|
|
|
+ userList.add((User) obj);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
Page<UserVO> page;
|
|
|
- PageList<UserVO> pageList;
|
|
|
if (screenName != null) {
|
|
|
List<UserVO> list = userQuery.getByMatchScreenName(screenName);
|
|
|
page = new PageImpl<>(list);
|
|
|
- pageList = PageList.pageList(page);
|
|
|
} else {
|
|
|
PageRequest pageRequest = PageSort.pageRequest();
|
|
|
page = userQuery.getUserVOByPage(pageRequest);
|
|
|
- pageList = PageList.pageList(page);
|
|
|
}
|
|
|
|
|
|
model.addAttribute("page", page);
|
|
|
- model.addAttribute("list", pageList.getList());
|
|
|
+ model.addAttribute("list", page.getContent());
|
|
|
return "/rbac/user/index";
|
|
|
}
|
|
|
|