Commit 7ec97b2e authored by suntao's avatar suntao

查询userList

parent fc0b35b4
package cn.quantgroup.cashloanflowboss.api.permissionmodule.model;
import cn.quantgroup.cashloanflowboss.core.base.PageModel;
import cn.quantgroup.cashloanflowboss.core.base.Pagination;
import lombok.Data;
......@@ -11,7 +11,7 @@ import lombok.Data;
* @author: suntao
*/
@Data
public class PermissionVO extends PageModel {
public class PermissionVO extends Pagination {
private Long id;
......
package cn.quantgroup.cashloanflowboss.api.user.controller;
import cn.quantgroup.cashloanflowboss.api.user.entity.User;
import cn.quantgroup.cashloanflowboss.api.user.model.Pagination;
import cn.quantgroup.cashloanflowboss.api.user.model.QueryUserListModel;
import cn.quantgroup.cashloanflowboss.core.base.Pagination;
import cn.quantgroup.cashloanflowboss.api.user.model.RegisterUserFormModel;
import cn.quantgroup.cashloanflowboss.api.user.model.UserDetailInfo;
import cn.quantgroup.cashloanflowboss.api.user.model.UserInfoModel;
import cn.quantgroup.cashloanflowboss.api.user.service.UserService;
import cn.quantgroup.cashloanflowboss.api.user.service.UserServiceImpl;
import cn.quantgroup.cashloanflowboss.component.security.annotiation.Security;
import cn.quantgroup.cashloanflowboss.component.validator.constraints.NotEmpty;
import cn.quantgroup.cashloanflowboss.core.base.Result;
......@@ -14,9 +14,8 @@ import cn.quantgroup.cashloanflowboss.core.base.Tuple;
import cn.quantgroup.cashloanflowboss.spi.user.service.XyqbUserService;
import javax.validation.Valid;
import javax.validation.constraints.NotNull;
import cn.quantgroup.cashloanflowboss.spi.xyqb.service.XYQBCenterService;
import cn.quantgroup.cashloanflowboss.spi.xyqb.service.XYQBCenterServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.web.bind.annotation.DeleteMapping;
......@@ -71,8 +70,8 @@ public class UserController {
* @return
*/
@GetMapping("/list")
public Page<User> queryUsers(@RequestParam @Valid Pagination pagination) {
return this.userService.getUsers(pagination.getPageNumber(), pagination.getPageSize());
public Page<User> queryUsers(@Valid QueryUserListModel pagination) {
return this.userService.getUsers(pagination);
}
/**
......@@ -83,7 +82,7 @@ public class UserController {
*/
@PutMapping("/enable")
@Security(authorityId = "User.enable")
public Boolean enableUser(@RequestParam @Valid @NotEmpty(message = "无效的用户ID") String id) {
public Boolean enableUser(@RequestParam @Valid @NotNull(message = "无效的用户ID") Long id) {
return this.userService.enableUser(id);
}
......@@ -95,7 +94,7 @@ public class UserController {
*/
@PutMapping("/disable")
@Security(authorityId = "User.disable")
public Boolean disableUser(@RequestParam @Valid @NotEmpty(message = "无效的用户ID") String id) {
public Boolean disableUser(@RequestParam @Valid @NotNull(message = "无效的用户ID") Long id) {
return this.userService.disableUser(id);
}
......@@ -107,7 +106,7 @@ public class UserController {
*/
@DeleteMapping()
@Security(authorityId = "User.delete")
public Boolean removeUser(@RequestParam @Valid @NotEmpty(message = "无效的用户ID") String id) {
public Boolean removeUser(@RequestParam @Valid @NotNull(message = "无效的用户ID") Long id) {
return this.userService.removeUser(id);
}
......
package cn.quantgroup.cashloanflowboss.api.user.model;
import cn.quantgroup.cashloanflowboss.core.base.Pagination;
import lombok.Data;
/**
* function:
* date: 2019/9/27
*
* @author: suntao
*/
@Data
public class QueryUserListModel extends Pagination {
private String nickname;
}
......@@ -14,7 +14,8 @@ import java.util.List;
import java.util.Set;
/**
* Created by WeiWei on 2019/7/22.
* 保存用户 编辑用户model
* Created by suntao on 2019/7/22.
*/
@Data
public class UserInfoModel {
......
......@@ -2,9 +2,8 @@ package cn.quantgroup.cashloanflowboss.api.user.repository;
import cn.quantgroup.cashloanflowboss.api.user.entity.User;
import cn.quantgroup.cashloanflowboss.core.persistence.CashLoanFlowBossDataSource;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.stereotype.Repository;
/**
......@@ -12,7 +11,7 @@ import org.springframework.stereotype.Repository;
*/
@CashLoanFlowBossDataSource
@Repository
public interface UserRepository extends PagingAndSortingRepository<User, String> {
public interface UserRepository extends JpaRepository<User, Long>, JpaSpecificationExecutor<User> {
/**
* 获取用户
......@@ -22,20 +21,5 @@ public interface UserRepository extends PagingAndSortingRepository<User, String>
*/
User getUserByUsername(String username);
/**
* 获取用户
*
* @param id
* @return
*/
User findById(Long id);
/**
* 获取用户列表(分页)
*
* @param pageable 分页
* @return
*/
Page<User> findAllBy(Pageable pageable);
}
package cn.quantgroup.cashloanflowboss.api.user.service;
import cn.quantgroup.cashloanflowboss.api.user.entity.User;
import cn.quantgroup.cashloanflowboss.api.user.model.QueryUserListModel;
import cn.quantgroup.cashloanflowboss.api.user.model.UserDetailInfo;
import cn.quantgroup.cashloanflowboss.api.user.model.UserInfoModel;
import cn.quantgroup.cashloanflowboss.core.base.Tuple;
......@@ -17,15 +18,15 @@ public interface UserService {
User getUser(String username);
Page<User> getUsers(Integer pageNumber, Integer pageSize);
Page<User> getUsers(QueryUserListModel queryUserListModel);
boolean enableUser(String id);
boolean enableUser(Long id);
boolean disableUser(String id);
boolean disableUser(Long id);
User updateUser(User user);
Boolean removeUser(String id);
Boolean removeUser(Long id);
UserDetailInfo getUserDetailInfo();
......
......@@ -4,6 +4,7 @@ import cn.quantgroup.cashloanflowboss.api.login.model.Principal;
import cn.quantgroup.cashloanflowboss.api.optlog.model.OptEnumName;
import cn.quantgroup.cashloanflowboss.api.user.dictionary.UserStatus;
import cn.quantgroup.cashloanflowboss.api.user.entity.User;
import cn.quantgroup.cashloanflowboss.api.user.model.QueryUserListModel;
import cn.quantgroup.cashloanflowboss.api.user.model.UserDetailInfo;
import cn.quantgroup.cashloanflowboss.api.user.model.UserInfoModel;
import cn.quantgroup.cashloanflowboss.api.user.repository.UserRepository;
......@@ -16,14 +17,17 @@ import cn.quantgroup.cashloanflowboss.spi.user.service.XyqbUserService;
import cn.quantgroup.cashloanflowboss.spi.xyqb.service.XYQBCenterService;
import cn.quantgroup.cashloanflowboss.utils.MD5Tools;
import cn.quantgroup.user.retbean.XUser;
import cn.quantgroup.user.vo.UserSysResult;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;
import org.springframework.stereotype.Service;
import javax.persistence.criteria.Predicate;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
/**
......@@ -75,13 +79,27 @@ public class UserServiceImpl implements UserService{
/**
* 获取用户列表(分页)
*
* @param pageNumber
* @param pageSize
* @param queryUserListModel
* @return
*/
@Override
public Page<User> getUsers(Integer pageNumber, Integer pageSize) {
return this.userRepository.findAllBy(new PageRequest(pageNumber, pageSize));
public Page<User> getUsers(QueryUserListModel queryUserListModel) {
Page<User> page = this.userRepository.findAll((root, criteriaQuery, criteriaBuilder) -> {
List<Predicate> predicates = new ArrayList<>();
if (StringUtils.isNotEmpty(queryUserListModel.getNickname())) {
predicates.add(criteriaBuilder.equal(root.get("nickname"), queryUserListModel.getNickname()));
}
criteriaQuery.where(criteriaBuilder.and(predicates.toArray(new Predicate[predicates.size()])));
// 指定排序
criteriaQuery.orderBy(criteriaBuilder.desc(root.get("id")));
return criteriaQuery.getRestriction();
}, new PageRequest(queryUserListModel.getPageNumber(), queryUserListModel.getPageSize()));
return page;
}
/**
......@@ -91,7 +109,7 @@ public class UserServiceImpl implements UserService{
* @return
*/
@Override
public boolean enableUser(String id) {
public boolean enableUser(Long id) {
User user = this.userRepository.findOne(id);
......@@ -111,7 +129,7 @@ public class UserServiceImpl implements UserService{
* @return
*/
@Override
public boolean disableUser(String id) {
public boolean disableUser(Long id) {
User user = this.userRepository.findOne(id);
......@@ -142,7 +160,7 @@ public class UserServiceImpl implements UserService{
* @return
*/
@Override
public Boolean removeUser(String id) {
public Boolean removeUser(Long id) {
try {
this.userRepository.delete(id);
......
package cn.quantgroup.cashloanflowboss.core.base;
import lombok.Data;
/**
* function:
* date: 2019/9/26
*
* @author: suntao
*/
@Data
public class PageModel {
private Integer pageSize;
private Integer pageNumber;
}
package cn.quantgroup.cashloanflowboss.api.user.model;
package cn.quantgroup.cashloanflowboss.core.base;
import lombok.Data;
import javax.validation.constraints.NotNull;
/**
* Created by WeiWei on 2019/7/22.
*/
......@@ -11,11 +13,13 @@ public class Pagination {
/**
* 页数
*/
@NotNull(message = "分页查询页数不能为空")
private Integer pageNumber = 0;
/**
* 分页大小
*/
@NotNull(message = "分页查询页size不能为空")
private Integer pageSize = 10;
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment