Browse Source

fix bug

master
刘力 3 years ago
parent
commit
d3eb53d107
  1. 2
      common/src/main/java/com/canvas/web/enums/ResponseEnum.java
  2. 9
      common/src/main/java/com/canvas/web/utils/SecurityUtils.java
  3. 2
      system/src/main/java/com/canvas/web/modules/security/controller/AuthorizationController.java
  4. 3
      system/src/main/java/com/canvas/web/modules/security/service/OnlineUserService.java
  5. 5
      system/src/main/java/com/canvas/web/modules/security/service/dto/OnlineUserDto.java
  6. 43
      system/src/main/java/com/canvas/web/modules/system/controller/RoleController.java
  7. 19
      system/src/main/java/com/canvas/web/modules/system/controller/UserController.java
  8. 8
      system/src/main/java/com/canvas/web/modules/system/domain/Org.java
  9. 14
      system/src/main/java/com/canvas/web/modules/system/domain/Role.java
  10. 3
      system/src/main/java/com/canvas/web/modules/system/domain/User.java
  11. 5
      system/src/main/java/com/canvas/web/modules/system/repository/RoleRepository.java
  12. 4
      system/src/main/java/com/canvas/web/modules/system/repository/UserRepository.java
  13. 7
      system/src/main/java/com/canvas/web/modules/system/service/RoleService.java
  14. 2
      system/src/main/java/com/canvas/web/modules/system/service/UserService.java
  15. 4
      system/src/main/java/com/canvas/web/modules/system/service/dto/RoleDto.java
  16. 4
      system/src/main/java/com/canvas/web/modules/system/service/dto/RoleQueryCriteria.java
  17. 2
      system/src/main/java/com/canvas/web/modules/system/service/dto/UserDto.java
  18. 3
      system/src/main/java/com/canvas/web/modules/system/service/dto/UserQueryCriteria.java
  19. 11
      system/src/main/java/com/canvas/web/modules/system/service/impl/OrgServiceImpl.java
  20. 46
      system/src/main/java/com/canvas/web/modules/system/service/impl/RoleServiceImpl.java
  21. 18
      system/src/main/java/com/canvas/web/modules/system/service/impl/UserServiceImpl.java

2
common/src/main/java/com/canvas/web/enums/ResponseEnum.java

@ -66,6 +66,8 @@ public enum ResponseEnum {
REPEAT_SUBMIT(20000, "不允许重复提交,请稍后再试"),
ADD_FAIL(20001, "新增失败"),
ADD_SUCCESS(20003, "新增成功"),
USER_ADD_ERROR_EXIST_NAME(20023,"用户名已经存在"),
USER_ADD_ERROR_EXIST_PHONE(20024,"手机号已经存在"),
DELETE_FAIL(20004, "删除失败"),
DELETE_SUCCESS(20005, "删除成功"),
UPDATE_FAIL(20006, "修改失败"),

9
common/src/main/java/com/canvas/web/utils/SecurityUtils.java

@ -60,6 +60,15 @@ public class SecurityUtils {
return new JSONObject(new JSONObject(userDetails).get("user")).getJSONObject("org").get("id",Long.class);
}
/**
* 获取是否管理员状态
* @return
*/
public static Boolean getCurrentIsAdmin(){
UserDetails userDetails=getCurrentUser();
return new JSONObject(new JSONObject(userDetails).get("user")).get("isAdmin",Boolean.class);
}
/**
* 获取当前用户的数据权限

2
system/src/main/java/com/canvas/web/modules/security/controller/AuthorizationController.java

@ -46,7 +46,7 @@ import java.util.concurrent.TimeUnit;
@Slf4j
@RestController
@RequestMapping("/auth")
@RequestMapping("/api/auth")
@RequiredArgsConstructor
@Api(tags = "系统:系统授权接口")
public class AuthorizationController {

3
system/src/main/java/com/canvas/web/modules/security/service/OnlineUserService.java

@ -33,9 +33,10 @@ public class OnlineUserService {
String ip = StringUtils.getIp(request);
String browser = StringUtils.getBrowser(request);
String address = StringUtils.getCityInfo(ip);
Boolean isAdmin=SecurityUtils.getCurrentIsAdmin();
OnlineUserDto onlineUserDto = null;
try {
onlineUserDto = new OnlineUserDto(jwtUserDto.getUsername(), jwtUserDto.getUser().getPhone(),jwtUserDto.getUser().getNickName(), org, browser , ip, address, EncryptUtils.desEncrypt(token), new Date());
onlineUserDto = new OnlineUserDto(jwtUserDto.getUsername(), jwtUserDto.getUser().getPhone(),jwtUserDto.getUser().getNickName(), org, browser , ip, address, EncryptUtils.desEncrypt(token), new Date(),isAdmin);
} catch (Exception e) {
log.error(e.getMessage(),e);
}

5
system/src/main/java/com/canvas/web/modules/security/service/dto/OnlineUserDto.java

@ -56,4 +56,9 @@ public class OnlineUserDto {
* 登录时间
*/
private Date loginTime;
/**
* 是否超级管理员
*/
private Boolean isAdmin;
}

43
system/src/main/java/com/canvas/web/modules/system/controller/RoleController.java

@ -34,18 +34,18 @@ public class RoleController {
private final RoleService roleService;
private final OrgService orgService;
private static final String ENTITY_NAME="role";
private static final String ENTITY_NAME = "role";
private final RoleMapper roleMapper;
@ApiOperation("新增角色")
@AnonymousPostMapping("/create")
public Response<Object> create(@Validated @RequestBody RoleDto roleDto){
if (roleDto.getId() !=null){
throw new BaseException("A new cannot already have an ID", ResponseEnum.ROLE_ADD_ERROR_EXIST_ID.getMessage());
@PostMapping("/create")
public Response<Object> create(@Validated @RequestBody RoleDto roleDto) {
if (roleDto.getId() != null) {
throw new BaseException("新增角色id非空");
}
//TODO:权限测试
// getLevels(roleDto.getLevel());
// getLevels(roleDto.getLevel());
roleService.create(roleMapper.toEntity(roleDto));
return Response.success(ResponseEnum.ADD_SUCCESS);
@ -53,44 +53,51 @@ public class RoleController {
@ApiOperation("查询角色")
@AnonymousGetMapping("/list")
public Response<Object> queryAllRole(RoleQueryCriteria criteria, Pageable pageable){
@GetMapping("/list")
public Response<Object> queryAllRole(RoleQueryCriteria criteria, Pageable pageable) {
//获取当前登录组织机构id
Long id = SecurityUtils.getCurrentOrgId();
if (id!=1L){
if (id != 1L) {
criteria.getOrgIds().add(id);
//如果查询条件不为空
if (!ObjectUtils.isEmpty(criteria.getBlurry())) {
return Response.success(roleService.queryAll(criteria,pageable));
return Response.success(roleService.queryAll(criteria, pageable));
}
return Response.success(roleService.queryAll(criteria, pageable));
}
return Response.success(roleService.queryAll(criteria,pageable));
return Response.success(roleService.queryAll(criteria, pageable));
}
@ApiOperation("修改角色")
@PutMapping("edit")
public Response<Object> updateRole(@Validated(Role.Update.class) @RequestBody RoleDto role){
public Response<Object> updateRole(@Validated(Role.Update.class) @RequestBody RoleDto role) {
roleService.update(role);
return Response.success("修改成功");
}
@ApiOperation("新增用户-下拉角色")
@GetMapping("dropdown/list")
public Response<Object> dropdownList() {
//获取当前登录组织机构id
Long id = SecurityUtils.getCurrentOrgId();
return Response.success(roleService.findByOrgRole(id));
}
@ApiOperation("查询机构所有权限")
@GetMapping("menus")
public Response<Object> queryRoleMenus(){
Long id=SecurityUtils.getCurrentOrgId();
public Response<Object> queryRoleMenus() {
Long id = SecurityUtils.getCurrentOrgId();
return Response.success(orgService.findById(id));
}
//TODO:暂时不需要判断用户等级
private int getLevels(Integer level){
private int getLevels(Integer level) {
List<Integer> levels = roleService.findByUsersId(SecurityUtils.getCurrentUserId()).stream().map(RoleSmallDto::getLevel).collect(Collectors.toList());
int min = Collections.min(levels);
if(level != null){
if(level < min){
if (level != null) {
if (level < min) {
throw new BaseException("权限不足,你的角色级别:" + min + ",低于操作的角色级别:" + level);
}
}

19
system/src/main/java/com/canvas/web/modules/system/controller/UserController.java

@ -32,6 +32,7 @@ import org.springframework.web.bind.annotation.*;
import java.util.Collections;
import java.util.List;
import java.util.Set;
import java.util.stream.Collectors;
@Api(tags = "用户管理")
@ -47,8 +48,8 @@ public class UserController {
private final UserMapper userMapper;
@ApiOperation("新增用户")
@PostMapping
public Response<Object> create(@Validated @RequestBody User resources) {
@PostMapping("create")
public Response<Object> create(@Validated @RequestBody UserDto resources) {
// 默认密码 123456
resources.setPassword(passwordEncoder.encode("123456"));
userService.create(resources);
@ -61,10 +62,13 @@ public class UserController {
public Response<Object> query(UserQueryCriteria criteria, Pageable pageable) {
//获取当前登录组织机构id
Long id = SecurityUtils.getCurrentOrgId();
//如果当前用户机构不是超级管理员
if (id != 1L) {
//加入到机构查询条件
criteria.getOrgIds().add(id);
//本机构激活状态的用户
//criteria.setIsAdmin(true);
//如果查询条件不为空就把查询条件带入查询
if (!ObjectUtils.isEmpty(criteria.getBlurry())) {
return Response.success(userService.queryAll(criteria, pageable));
@ -72,12 +76,14 @@ public class UserController {
//返回本机构用户列表
return Response.success(userService.queryAll(criteria, pageable));
}
//激活状态查询
//criteria.setIsAdmin(true);
//返回所有列表
return Response.success(userService.queryAll(criteria, pageable));
}
@ApiOperation("修改用户")
@PostMapping("edit")
@PutMapping("edit")
public Response<Object> updateUser(@Validated(User.Update.class) @RequestBody UserDto userDto) throws Exception {
User user = userMapper.toEntity(userDto);
checkLevel(user);
@ -85,6 +91,13 @@ public class UserController {
return Response.success("修改成功");
}
@ApiOperation("删除用户")
@DeleteMapping("delete")
public Response<Object> deleteUser(@RequestBody Set<Long> ids) {
userService.delete(ids);
return Response.success(ResponseEnum.DELETE_SUCCESS);
}
//如果当前用户角色级别低于创建用户的角色级别抛出权限不足
private void checkLevel(User user) {

8
system/src/main/java/com/canvas/web/modules/system/domain/Org.java

@ -26,10 +26,10 @@ public class Org extends BaseEntity implements Serializable {
@ApiModelProperty(value = "ID", hidden = true)
private Long id;
@JsonIgnore
@ManyToMany(mappedBy = "org")
@ApiModelProperty(value = "角色")
private Set<Role> roles;
// @JsonIgnore
// @ManyToMany(mappedBy = "org")
// @ApiModelProperty(value = "角色")
// private Set<Role> roles;
@ManyToMany

14
system/src/main/java/com/canvas/web/modules/system/domain/Role.java

@ -41,12 +41,12 @@ public class Role extends BaseEntity implements Serializable {
private Set<Menu> menus;
@ManyToMany
@JoinTable(name = "sys_roles_org",
joinColumns = {@JoinColumn(name = "role_id",referencedColumnName = "id")},
inverseJoinColumns = {@JoinColumn(name = "org_id",referencedColumnName = "id")})
@ApiModelProperty(value = "部门", hidden = true)
private Set<Org> org;
// @ManyToMany
// @JoinTable(name = "sys_roles_org",
// joinColumns = {@JoinColumn(name = "role_id",referencedColumnName = "id")},
// inverseJoinColumns = {@JoinColumn(name = "org_id",referencedColumnName = "id")})
// @ApiModelProperty(value = "部门", hidden = true)
// private Set<Org> org;
@NotBlank
@ApiModelProperty(value = "名称", hidden = true)
@ -57,7 +57,7 @@ public class Role extends BaseEntity implements Serializable {
@Column(name = "level")
@ApiModelProperty(value = "级别,数值越小,级别越大")
private Integer level = 3;
private Integer level;
@ApiModelProperty(value = "描述")
private String description;

3
system/src/main/java/com/canvas/web/modules/system/domain/User.java

@ -39,7 +39,7 @@ public class User extends BaseEntity implements Serializable {
@OneToOne
@JoinColumn(name = "id")
@JoinColumn(name = "org_id")
@ApiModelProperty(value = "机构")
private Org org;
@ -53,7 +53,6 @@ public class User extends BaseEntity implements Serializable {
private String nickName;
@Email
@NotBlank
@ApiModelProperty(value = "邮箱")
private String email;

5
system/src/main/java/com/canvas/web/modules/system/repository/RoleRepository.java

@ -36,6 +36,11 @@ public interface RoleRepository extends JpaRepository<Role, Long>, JpaSpecificat
List<Role> findInMenuId(List<Long> menuIds);
//根据机构id查询
@Query(value = "SELECT * FROM sys_roles_org,sys_role WHERE org_id=?1",nativeQuery = true)
List<Role> findByOrgId(Long id);

4
system/src/main/java/com/canvas/web/modules/system/repository/UserRepository.java

@ -67,6 +67,10 @@ public interface UserRepository extends JpaRepository<User, Long>, JpaSpecificat
"u.user_id = ur.user_id AND ur.role_id = rm.role_id AND rm.menu_id = ?1 group by u.user_id", nativeQuery = true)
List<User> findByMenuId(Long id);
//TODO:根据角色获取机构id @Query(value = "",nativeQuery = true)
// List<User> findByRoleOrgId(Long orgId);
/**
* 根据Id删除
* @param ids /

7
system/src/main/java/com/canvas/web/modules/system/service/RoleService.java

@ -19,10 +19,17 @@ public interface RoleService {
List<RoleSmallDto> findByUsersId(Long id);
//根据id查询角色名称
RoleDto findById(long id);
//根据角色查询角色级别
Integer findByRoles(Set<Role> roles);
//根据机构查询角色
List<RoleSmallDto> findByOrgRole(Long id);
//创建角色
void create(Role resources);

2
system/src/main/java/com/canvas/web/modules/system/service/UserService.java

@ -27,7 +27,7 @@ public interface UserService {
*
* @param resources /
*/
void create(User resources);
void create(UserDto resources);
/**
* 编辑用户

4
system/src/main/java/com/canvas/web/modules/system/service/dto/RoleDto.java

@ -2,6 +2,7 @@ package com.canvas.web.modules.system.service.dto;
import com.alibaba.fastjson.annotation.JSONField;
import com.canvas.web.base.BaseDTO;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Getter;
import lombok.Setter;
@ -17,9 +18,10 @@ public class RoleDto extends BaseDTO implements Serializable {
private Long id;
//@JsonIgnore
private Set<MenuDto> menus;
private Set<OrgDto> orgDtos;
// private Set<OrgDto> orgDtos;
@NotBlank(message = "角色名称不能为空")
private String name;

4
system/src/main/java/com/canvas/web/modules/system/service/dto/RoleQueryCriteria.java

@ -1,6 +1,8 @@
package com.canvas.web.modules.system.service.dto;
import com.alibaba.fastjson.annotation.JSONField;
import com.canvas.web.annotation.Query;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import java.sql.Timestamp;
@ -17,6 +19,8 @@ public class RoleQueryCriteria {
@Query(type = Query.Type.BETWEEN)
private List<Timestamp> createTime;
@JSONField(name = "OrgIds")
@JsonProperty("org_ids")
@Query(propName = "id", type = Query.Type.IN, joinName = "org")
private Set<Long> OrgIds = new HashSet<>();
}

2
system/src/main/java/com/canvas/web/modules/system/service/dto/UserDto.java

@ -39,7 +39,7 @@ public class UserDto extends BaseDTO implements Serializable {
private Boolean enabled;
@JsonIgnore
//@JsonIgnore
private Boolean isAdmin = false;
private Date pwdResetTime;

3
system/src/main/java/com/canvas/web/modules/system/service/dto/UserQueryCriteria.java

@ -25,6 +25,9 @@ public class UserQueryCriteria implements Serializable {
@Query(propName = "id", type = Query.Type.IN, joinName = "org")
private Set<Long> OrgIds = new HashSet<>();
@Query
private Boolean isAdmin;
private Long orgId;
@Query(type = Query.Type.BETWEEN)

11
system/src/main/java/com/canvas/web/modules/system/service/impl/OrgServiceImpl.java

@ -1,6 +1,7 @@
package com.canvas.web.modules.system.service.impl;
import com.canvas.web.modules.system.domain.Org;
import com.canvas.web.modules.system.domain.User;
import com.canvas.web.modules.system.repository.OrgRepository;
import com.canvas.web.modules.system.repository.RoleRepository;
import com.canvas.web.modules.system.repository.UserRepository;
@ -18,6 +19,7 @@ import org.springframework.cache.annotation.CacheConfig;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
import java.util.Set;
@ -43,8 +45,11 @@ public class OrgServiceImpl implements OrgService {
}
@Override
@Transactional(rollbackFor = Exception.class)
public void create(OrgDto orgDto) {
orgRepository.save(orgMapper.toEntity(orgDto));
//清理缓存
delCaches(orgDto.getId());
}
@Override
@ -78,4 +83,8 @@ public class OrgServiceImpl implements OrgService {
Page<Org> page =orgRepository.findAll((root, query, criteriaBuilder) -> QueryHelp.getPredicate(root,criteria,criteriaBuilder), pageable);
return PageUtil.toPage(page.map(orgMapper::toDto));
}
public void delCaches(Long id){
}
}

46
system/src/main/java/com/canvas/web/modules/system/service/impl/RoleServiceImpl.java

@ -16,20 +16,21 @@ import com.canvas.web.modules.system.service.dto.RoleSmallDto;
import com.canvas.web.modules.system.service.dto.UserDto;
import com.canvas.web.modules.system.service.mapstruct.RoleMapper;
import com.canvas.web.modules.system.service.mapstruct.RoleSmallMapper;
import com.canvas.web.modules.utils.PageSort;
import com.canvas.web.utils.*;
import lombok.RequiredArgsConstructor;
import org.springframework.cache.annotation.CacheConfig;
import org.springframework.cache.annotation.Cacheable;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;
import org.springframework.data.domain.Sort;
import org.springframework.security.core.GrantedAuthority;
import org.springframework.security.core.authority.SimpleGrantedAuthority;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import java.util.*;
import java.util.stream.Collectors;
@Service
@ -46,13 +47,13 @@ public class RoleServiceImpl implements RoleService {
@Override
public List<GrantedAuthority> mapToGrantedAuthorities(UserDto user) {
Set<String> permissions= new HashSet<>();
Set<String> permissions = new HashSet<>();
//如果是管理员直接返回
if (user.getIsAdmin()){
if (user.getIsAdmin()) {
permissions.add("admin");
return permissions.stream().map(SimpleGrantedAuthority::new).collect(Collectors.toList());
}
Set<Role> roles =roleRepository.findByUserId(user.getId());
Set<Role> roles = roleRepository.findByUserId(user.getId());
permissions = roles.stream().flatMap(role -> role.getMenus().stream())
.filter(menu -> StringUtils.isNotBlank(menu.getPermission()))
.map(Menu::getPermission).collect(Collectors.toSet());
@ -65,9 +66,31 @@ public class RoleServiceImpl implements RoleService {
return roleSmallMapper.toDto(new ArrayList<>(roleRepository.findByUserId(id)));
}
@Override
@Cacheable(key = "'id:' + #p0")
@Transactional(rollbackFor = Exception.class)
public RoleDto findById(long id) {
Role role = roleRepository.findById(id).orElseGet(Role::new);
ValidationUtil.isNull(role.getId(), "Role", "id", id);
return roleMapper.toDto(role);
}
@Override
public Integer findByRoles(Set<Role> roles) {
return null;
if (roles.size() == 0) {
return Integer.MAX_VALUE;
}
Set<RoleDto> roleDtos = new HashSet<>();
for (Role role : roles) {
roleDtos.add(findById(role.getId()));
}
return Collections.min(roleDtos.stream().map(RoleDto::getLevel).collect(Collectors.toList()));
}
@Override
public List<RoleSmallDto> findByOrgRole(Long id) {
return roleSmallMapper.toDto(roleRepository.findByOrgId(id));
}
@Override
@ -107,8 +130,9 @@ public class RoleServiceImpl implements RoleService {
@Override
public Object queryAll(RoleQueryCriteria criteria, Pageable pageable) {
Page<Role> page = roleRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root, criteria, criteriaBuilder), pageable);
return PageUtil.toPage(page.map(roleMapper::toDto));
PageRequest page = PageSort.pageRequest(pageable.getPageNumber(),pageable.getPageSize(),"createTime",Sort.Direction.DESC);
Page<Role> pages = roleRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root, criteria, criteriaBuilder), page);
return PageUtil.toPage(pages.map(roleMapper::toDto));
}
@Override
@ -133,7 +157,7 @@ public class RoleServiceImpl implements RoleService {
role.setDescription(role2.getDescription());
role.setDataScope(role2.getDataScope());
role.setLevel(role2.getLevel());
role.setOrg(role2.getOrg());
// role.setOrg(role2.getOrg());
roleRepository.save(role);
// 更新相关缓存
delCaches(role.getId(), null);

18
system/src/main/java/com/canvas/web/modules/system/service/impl/UserServiceImpl.java

@ -1,6 +1,7 @@
package com.canvas.web.modules.system.service.impl;
import com.canvas.web.config.FileProperties;
import com.canvas.web.enums.ResponseEnum;
import com.canvas.web.exception.BaseException;
import com.canvas.web.exception.EntityExistException;
import com.canvas.web.modules.security.service.UserCacheClean;
@ -12,11 +13,14 @@ import com.canvas.web.modules.system.service.dto.RoleSmallDto;
import com.canvas.web.modules.system.service.dto.UserDto;
import com.canvas.web.modules.system.service.dto.UserQueryCriteria;
import com.canvas.web.modules.system.service.mapstruct.UserMapper;
import com.canvas.web.modules.utils.PageSort;
import com.canvas.web.utils.*;
import lombok.RequiredArgsConstructor;
import org.springframework.cache.annotation.CacheConfig;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;
import org.springframework.data.domain.Sort;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.validation.annotation.Validated;
@ -51,12 +55,13 @@ public class UserServiceImpl implements UserService {
@Override
public void create(User resources) {
public void create(UserDto userDto) {
User resources = userMapper.toEntity(userDto);
if (userRepository.findByUsername(resources.getUsername()) != null) {
throw new EntityExistException(User.class, "username", resources.getUsername());
throw new BaseException(ResponseEnum.USER_ADD_ERROR_EXIST_NAME.getMessage());
}
if (userRepository.findByPhone(resources.getPhone()) != null) {
throw new EntityExistException(User.class, "phone", resources.getPhone());
throw new BaseException(ResponseEnum.USER_ADD_ERROR_EXIST_PHONE.getMessage());
}
userRepository.save(resources);
}
@ -68,7 +73,7 @@ public class UserServiceImpl implements UserService {
ValidationUtil.isNull(user.getId(), "User", "id", resources.getId());
User user1 = userRepository.findByUsername(resources.getUsername());
User user2 = userRepository.findByPhone(resources.getPhone());
if (user1 != null && user.getId().equals(user1.getId())) {
if (user1 != null && !user.getId().equals(user1.getId())) {
throw new BaseException("username", resources.getUsername());
}
if (user2 != null && !user.getId().equals(user2.getId())) {
@ -143,8 +148,9 @@ public class UserServiceImpl implements UserService {
@Override
public Object queryAll(UserQueryCriteria criteria, Pageable pageable) {
Page<User> page = userRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root, criteria, criteriaBuilder), pageable);
return PageUtil.toPage(page.map(userMapper::toDto));
PageRequest page= PageSort.pageRequest(pageable.getPageNumber(), pageable.getPageSize(),"createTime", Sort.Direction.DESC);
Page<User> pages = userRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root, criteria, criteriaBuilder), page);
return PageUtil.toPage(pages.map(userMapper::toDto));
}

Loading…
Cancel
Save