Commit 7ec97b2e authored by suntao's avatar suntao

查询userList

parent fc0b35b4
package cn.quantgroup.cashloanflowboss.api.permissionmodule.model; package cn.quantgroup.cashloanflowboss.api.permissionmodule.model;
import cn.quantgroup.cashloanflowboss.core.base.PageModel; import cn.quantgroup.cashloanflowboss.core.base.Pagination;
import lombok.Data; import lombok.Data;
...@@ -11,7 +11,7 @@ import lombok.Data; ...@@ -11,7 +11,7 @@ import lombok.Data;
* @author: suntao * @author: suntao
*/ */
@Data @Data
public class PermissionVO extends PageModel { public class PermissionVO extends Pagination {
private Long id; private Long id;
......
package cn.quantgroup.cashloanflowboss.api.user.controller; package cn.quantgroup.cashloanflowboss.api.user.controller;
import cn.quantgroup.cashloanflowboss.api.user.entity.User; 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.RegisterUserFormModel;
import cn.quantgroup.cashloanflowboss.api.user.model.UserDetailInfo; import cn.quantgroup.cashloanflowboss.api.user.model.UserDetailInfo;
import cn.quantgroup.cashloanflowboss.api.user.model.UserInfoModel; import cn.quantgroup.cashloanflowboss.api.user.model.UserInfoModel;
import cn.quantgroup.cashloanflowboss.api.user.service.UserService; 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.security.annotiation.Security;
import cn.quantgroup.cashloanflowboss.component.validator.constraints.NotEmpty; import cn.quantgroup.cashloanflowboss.component.validator.constraints.NotEmpty;
import cn.quantgroup.cashloanflowboss.core.base.Result; import cn.quantgroup.cashloanflowboss.core.base.Result;
...@@ -14,9 +14,8 @@ import cn.quantgroup.cashloanflowboss.core.base.Tuple; ...@@ -14,9 +14,8 @@ import cn.quantgroup.cashloanflowboss.core.base.Tuple;
import cn.quantgroup.cashloanflowboss.spi.user.service.XyqbUserService; import cn.quantgroup.cashloanflowboss.spi.user.service.XyqbUserService;
import javax.validation.Valid; 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.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page; import org.springframework.data.domain.Page;
import org.springframework.web.bind.annotation.DeleteMapping; import org.springframework.web.bind.annotation.DeleteMapping;
...@@ -71,8 +70,8 @@ public class UserController { ...@@ -71,8 +70,8 @@ public class UserController {
* @return * @return
*/ */
@GetMapping("/list") @GetMapping("/list")
public Page<User> queryUsers(@RequestParam @Valid Pagination pagination) { public Page<User> queryUsers(@Valid QueryUserListModel pagination) {
return this.userService.getUsers(pagination.getPageNumber(), pagination.getPageSize()); return this.userService.getUsers(pagination);
} }
/** /**
...@@ -83,7 +82,7 @@ public class UserController { ...@@ -83,7 +82,7 @@ public class UserController {
*/ */
@PutMapping("/enable") @PutMapping("/enable")
@Security(authorityId = "User.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); return this.userService.enableUser(id);
} }
...@@ -95,7 +94,7 @@ public class UserController { ...@@ -95,7 +94,7 @@ public class UserController {
*/ */
@PutMapping("/disable") @PutMapping("/disable")
@Security(authorityId = "User.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); return this.userService.disableUser(id);
} }
...@@ -107,7 +106,7 @@ public class UserController { ...@@ -107,7 +106,7 @@ public class UserController {
*/ */
@DeleteMapping() @DeleteMapping()
@Security(authorityId = "User.delete") @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); 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; ...@@ -14,7 +14,8 @@ import java.util.List;
import java.util.Set; import java.util.Set;
/** /**
* Created by WeiWei on 2019/7/22. * 保存用户 编辑用户model
* Created by suntao on 2019/7/22.
*/ */
@Data @Data
public class UserInfoModel { public class UserInfoModel {
......
...@@ -2,9 +2,8 @@ package cn.quantgroup.cashloanflowboss.api.user.repository; ...@@ -2,9 +2,8 @@ package cn.quantgroup.cashloanflowboss.api.user.repository;
import cn.quantgroup.cashloanflowboss.api.user.entity.User; import cn.quantgroup.cashloanflowboss.api.user.entity.User;
import cn.quantgroup.cashloanflowboss.core.persistence.CashLoanFlowBossDataSource; import cn.quantgroup.cashloanflowboss.core.persistence.CashLoanFlowBossDataSource;
import org.springframework.data.domain.Page; import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.domain.Pageable; import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
/** /**
...@@ -12,7 +11,7 @@ import org.springframework.stereotype.Repository; ...@@ -12,7 +11,7 @@ import org.springframework.stereotype.Repository;
*/ */
@CashLoanFlowBossDataSource @CashLoanFlowBossDataSource
@Repository @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> ...@@ -22,20 +21,5 @@ public interface UserRepository extends PagingAndSortingRepository<User, String>
*/ */
User getUserByUsername(String username); 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; package cn.quantgroup.cashloanflowboss.api.user.service;
import cn.quantgroup.cashloanflowboss.api.user.entity.User; 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.UserDetailInfo;
import cn.quantgroup.cashloanflowboss.api.user.model.UserInfoModel; import cn.quantgroup.cashloanflowboss.api.user.model.UserInfoModel;
import cn.quantgroup.cashloanflowboss.core.base.Tuple; import cn.quantgroup.cashloanflowboss.core.base.Tuple;
...@@ -17,15 +18,15 @@ public interface UserService { ...@@ -17,15 +18,15 @@ public interface UserService {
User getUser(String username); 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); User updateUser(User user);
Boolean removeUser(String id); Boolean removeUser(Long id);
UserDetailInfo getUserDetailInfo(); UserDetailInfo getUserDetailInfo();
......
...@@ -4,6 +4,7 @@ import cn.quantgroup.cashloanflowboss.api.login.model.Principal; ...@@ -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.optlog.model.OptEnumName;
import cn.quantgroup.cashloanflowboss.api.user.dictionary.UserStatus; import cn.quantgroup.cashloanflowboss.api.user.dictionary.UserStatus;
import cn.quantgroup.cashloanflowboss.api.user.entity.User; 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.UserDetailInfo;
import cn.quantgroup.cashloanflowboss.api.user.model.UserInfoModel; import cn.quantgroup.cashloanflowboss.api.user.model.UserInfoModel;
import cn.quantgroup.cashloanflowboss.api.user.repository.UserRepository; import cn.quantgroup.cashloanflowboss.api.user.repository.UserRepository;
...@@ -16,14 +17,17 @@ import cn.quantgroup.cashloanflowboss.spi.user.service.XyqbUserService; ...@@ -16,14 +17,17 @@ import cn.quantgroup.cashloanflowboss.spi.user.service.XyqbUserService;
import cn.quantgroup.cashloanflowboss.spi.xyqb.service.XYQBCenterService; import cn.quantgroup.cashloanflowboss.spi.xyqb.service.XYQBCenterService;
import cn.quantgroup.cashloanflowboss.utils.MD5Tools; import cn.quantgroup.cashloanflowboss.utils.MD5Tools;
import cn.quantgroup.user.retbean.XUser; import cn.quantgroup.user.retbean.XUser;
import cn.quantgroup.user.vo.UserSysResult;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page; import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest; import org.springframework.data.domain.PageRequest;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.persistence.criteria.Predicate;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects; import java.util.Objects;
/** /**
...@@ -75,13 +79,27 @@ public class UserServiceImpl implements UserService{ ...@@ -75,13 +79,27 @@ public class UserServiceImpl implements UserService{
/** /**
* 获取用户列表(分页) * 获取用户列表(分页)
* *
* @param pageNumber * @param queryUserListModel
* @param pageSize
* @return * @return
*/ */
@Override @Override
public Page<User> getUsers(Integer pageNumber, Integer pageSize) { public Page<User> getUsers(QueryUserListModel queryUserListModel) {
return this.userRepository.findAllBy(new PageRequest(pageNumber, pageSize));
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{ ...@@ -91,7 +109,7 @@ public class UserServiceImpl implements UserService{
* @return * @return
*/ */
@Override @Override
public boolean enableUser(String id) { public boolean enableUser(Long id) {
User user = this.userRepository.findOne(id); User user = this.userRepository.findOne(id);
...@@ -111,7 +129,7 @@ public class UserServiceImpl implements UserService{ ...@@ -111,7 +129,7 @@ public class UserServiceImpl implements UserService{
* @return * @return
*/ */
@Override @Override
public boolean disableUser(String id) { public boolean disableUser(Long id) {
User user = this.userRepository.findOne(id); User user = this.userRepository.findOne(id);
...@@ -142,7 +160,7 @@ public class UserServiceImpl implements UserService{ ...@@ -142,7 +160,7 @@ public class UserServiceImpl implements UserService{
* @return * @return
*/ */
@Override @Override
public Boolean removeUser(String id) { public Boolean removeUser(Long id) {
try { try {
this.userRepository.delete(id); 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 lombok.Data;
import javax.validation.constraints.NotNull;
/** /**
* Created by WeiWei on 2019/7/22. * Created by WeiWei on 2019/7/22.
*/ */
...@@ -11,11 +13,13 @@ public class Pagination { ...@@ -11,11 +13,13 @@ public class Pagination {
/** /**
* 页数 * 页数
*/ */
@NotNull(message = "分页查询页数不能为空")
private Integer pageNumber = 0; private Integer pageNumber = 0;
/** /**
* 分页大小 * 分页大小
*/ */
@NotNull(message = "分页查询页size不能为空")
private Integer pageSize = 10; 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