|
|
@@ -31,6 +31,7 @@ import javax.persistence.criteria.CriteriaQuery;
|
|
|
import javax.persistence.criteria.Predicate;
|
|
|
import javax.persistence.criteria.Root;
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
|
+import java.lang.reflect.Array;
|
|
|
import java.text.SimpleDateFormat;
|
|
|
import java.util.*;
|
|
|
|
|
|
@@ -57,8 +58,11 @@ public class UserServiceImpl implements UserService {
|
|
|
@Autowired
|
|
|
private CommonDao commonDao;
|
|
|
|
|
|
+/*
|
|
|
@Autowired
|
|
|
private MailService mailService;
|
|
|
+*/
|
|
|
+
|
|
|
@Autowired
|
|
|
private MessageConf messageConf;
|
|
|
|
|
|
@@ -201,19 +205,47 @@ public class UserServiceImpl implements UserService {
|
|
|
}
|
|
|
}
|
|
|
@Override
|
|
|
- public Page<User> findUsersPageByEnUUAndKeyword(final PageInfo pageInfo , Long enUU , String keyword) {
|
|
|
+ public Page<User> findUsersPageByEnUUAndKeyword(final PageInfo pageInfo , Long enUU , String keyword, Long roleId) {
|
|
|
List<Long> usersId = new ArrayList<>();
|
|
|
- if (keyword.contains("@")) { // 按邮箱查找
|
|
|
- usersId = userDao.findUserByUserEmailAndEnUU(keyword, enUU);
|
|
|
- } else if (keyword.matches(TEL_REGEXP)) { // 按手机号查找
|
|
|
- usersId = userDao.findUserByUserTelAndEnUU(keyword, enUU);
|
|
|
- } else if (keyword.matches(UU_REGEXP)) { // 按UU号查找
|
|
|
- usersId = userDao.findUserByEnUUAndUserUU(enUU, Long.parseLong(keyword));
|
|
|
- } else if (!keyword.contains("@") && (keyword.matches(CHINESE_REGEXP) || keyword.matches(ENGLISH_REGEXP))) {// 按名字查找
|
|
|
- usersId = userDao.findUserByUserNameAndEnUU(keyword, enUU);
|
|
|
- } else{
|
|
|
- usersId = userDao.findUserByUserNameAndEnUU(keyword, enUU);
|
|
|
+ if(keyword == null){
|
|
|
+ usersId = userDao.findIdByEnUU(enUU);
|
|
|
+ }else {
|
|
|
+ if (keyword.contains("@")) { // 按邮箱查找
|
|
|
+ usersId = userDao.findUserByUserEmailAndEnUU(keyword, enUU);
|
|
|
+ } else if (keyword.matches(TEL_REGEXP)) { // 按手机号查找
|
|
|
+ usersId = userDao.findUserByUserTelAndEnUU(keyword, enUU);
|
|
|
+ } else if (keyword.matches(UU_REGEXP)) { // 按UU号查找
|
|
|
+ usersId = userDao.findUserByEnUUAndUserUU(enUU, Long.parseLong(keyword));
|
|
|
+ } else if (!keyword.contains("@") && (keyword.matches(CHINESE_REGEXP) || keyword.matches(ENGLISH_REGEXP))) {// 按名字查找
|
|
|
+ usersId = userDao.findUserByUserNameAndEnUU(keyword, enUU);
|
|
|
+ } else{
|
|
|
+ usersId = userDao.findUserByUserNameAndEnUU(keyword, enUU);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (roleId != null){
|
|
|
+ //过滤 角色信息
|
|
|
+ List<Long> usersId2 = new ArrayList(Arrays.asList(new Object[usersId.size()]));
|
|
|
+ Collections.copy(usersId2,usersId);
|
|
|
+ for (Long id : usersId){
|
|
|
+ User user = userDao.findOne(id);
|
|
|
+ int status = 0;
|
|
|
+ for (Role role : user.getRoles()){
|
|
|
+ if (role.getId().equals(roleId)){
|
|
|
+ status++;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (status == 0){
|
|
|
+ for(Long x:usersId2){
|
|
|
+ if(x.equals(id)) {
|
|
|
+ usersId2.remove(x);
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ usersId = usersId2;
|
|
|
}
|
|
|
+
|
|
|
final List<Long> users = usersId;
|
|
|
if (users.size()>0) {
|
|
|
Page<User> pUser = userDao.findAll(new Specification<User>() {
|