|
|
@@ -251,6 +251,40 @@ public class UserServiceImpl implements UserService {
|
|
|
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public Page<User> findUserByUserNameLikeAndEnUU(PageInfo pageInfo, Long enUU, String userName) {
|
|
|
+ List<Long> usersId = new ArrayList<>();
|
|
|
+ if (!StringUtils.isEmpty(userName)) {
|
|
|
+ usersId = userDao.findUserByUserNameLikeAndEnUU(userName, enUU);
|
|
|
+ }
|
|
|
+ final List<Long> users = usersId;
|
|
|
+ if (users.size()>0) {
|
|
|
+ Page<User> pUser = userDao.findAll(new Specification<User>() {
|
|
|
+ public Predicate toPredicate(Root<User> root, CriteriaQuery<?> query, CriteriaBuilder builder) {
|
|
|
+ Predicate predicateId = root.get("userUU").in(users);
|
|
|
+ query.where(predicateId);
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+ }, pageInfo);
|
|
|
+ for (User user : pUser) {
|
|
|
+ Set<Role> roles = user.getRoles();
|
|
|
+ Long enuu = SystemSession.getUser().getEnterprise().getUu();
|
|
|
+ if (!CollectionUtils.isEmpty(roles)) {
|
|
|
+ Iterator<Role> iterator = roles.iterator();
|
|
|
+ while (iterator.hasNext()) {
|
|
|
+ Role role = iterator.next();
|
|
|
+ if (!role.getEnUU().equals(enuu)) {
|
|
|
+ iterator.remove();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return pUser;
|
|
|
+ }else{
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
public User save(User user) {
|
|
|
User userOld = userDao.findOne(user.getUserUU());
|