|
@@ -55,10 +55,12 @@ public class UserServiceImpl implements UserService {
|
|
|
private MailService mailService;
|
|
private MailService mailService;
|
|
|
@Autowired
|
|
@Autowired
|
|
|
private MessageConf messageConf;
|
|
private MessageConf messageConf;
|
|
|
|
|
+
|
|
|
static final String TEL_REGEXP = "^((\\(\\d{3}\\))|(\\d{3}\\-))?(13|15|18|17)\\d{9}$";
|
|
static final String TEL_REGEXP = "^((\\(\\d{3}\\))|(\\d{3}\\-))?(13|15|18|17)\\d{9}$";
|
|
|
|
|
|
|
|
static final String UU_REGEXP = "^\\d{4,}$";
|
|
static final String UU_REGEXP = "^\\d{4,}$";
|
|
|
|
|
|
|
|
|
|
+ static final String NUM_REGEXP= "^[0-9]*$";
|
|
|
/**
|
|
/**
|
|
|
* 匹配中文正则式
|
|
* 匹配中文正则式
|
|
|
*/
|
|
*/
|
|
@@ -357,19 +359,13 @@ public class UserServiceImpl implements UserService {
|
|
|
private Page<User> getUsersByPage(final PageInfo pageInfo, String keyword) {
|
|
private Page<User> getUsersByPage(final PageInfo pageInfo, String keyword) {
|
|
|
Long enuu = SystemSession.getUser().getEnterprise().getUu();
|
|
Long enuu = SystemSession.getUser().getEnterprise().getUu();
|
|
|
if(StringUtils.hasText(keyword)) {
|
|
if(StringUtils.hasText(keyword)) {
|
|
|
- if (keyword.contains("@")) { // 按邮箱查找
|
|
|
|
|
- return userDao.findUserByUserEmailAndEnUU(keyword.trim(), enuu, pageInfo);
|
|
|
|
|
- } else if (keyword.matches(TEL_REGEXP)) { // 按手机号查找
|
|
|
|
|
- return userDao.findUserByUserTelAndEnUU(keyword.trim(), enuu, pageInfo);
|
|
|
|
|
- } else if (keyword.matches(UU_REGEXP)) { // 按UU号查找
|
|
|
|
|
- return userDao.findByEnUUAndUserUU(enuu, Long.parseLong(keyword.trim()), pageInfo);
|
|
|
|
|
- } else if (!keyword.contains("@") && (keyword.matches(CHINESE_REGEXP) || keyword.matches(ENGLISH_REGEXP))) {// 按名字查找
|
|
|
|
|
- return userDao.findUserByUserNameAndEnUU(keyword.trim(), enuu, pageInfo);
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ if (keyword.matches(NUM_REGEXP)) {
|
|
|
|
|
+ return userDao.findByEnUUAndKeyword(enuu, keyword.trim(), Long.valueOf(keyword.trim()), pageInfo);
|
|
|
|
|
+ }
|
|
|
|
|
+ return userDao.findByEnUUAndKeyword(enuu, keyword.trim(), pageInfo);
|
|
|
} else {
|
|
} else {
|
|
|
return userDao.findEnUUByAndPage(enuu, pageInfo);
|
|
return userDao.findEnUUByAndPage(enuu, pageInfo);
|
|
|
}
|
|
}
|
|
|
- return null;
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@@ -647,20 +643,34 @@ public class UserServiceImpl implements UserService {
|
|
|
return simpleUser;
|
|
return simpleUser;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 按关键词查询用户信息
|
|
|
|
|
+ *
|
|
|
|
|
+ * @param keyword 搜索词
|
|
|
|
|
+ * @return
|
|
|
|
|
+ * @modify-author hejq
|
|
|
|
|
+ * @modify-date 2018-01-16 16:55
|
|
|
|
|
+ * @modify-desc 更新用户搜索方法,全部采用模糊搜索
|
|
|
|
|
+ */
|
|
|
@Override
|
|
@Override
|
|
|
- public List<User> findUsersByKeyWord(String keyword) {
|
|
|
|
|
|
|
+ public Set<User> findUsersByKeyWord(String keyword) {
|
|
|
List<User> users = new ArrayList<User>();
|
|
List<User> users = new ArrayList<User>();
|
|
|
|
|
+ Set<User> userSet = new HashSet<User>();
|
|
|
Long enUU = SystemSession.getUser().getEnterprise().getUu();
|
|
Long enUU = SystemSession.getUser().getEnterprise().getUu();
|
|
|
- if (keyword.contains("@")) { // 按邮箱查找
|
|
|
|
|
- users = userDao.findUserByUserEmailAndEnUU(keyword, enUU);
|
|
|
|
|
- } else if (keyword.matches(TEL_REGEXP)) { // 按手机号查找
|
|
|
|
|
- users = userDao.findUserByUserTelAndEnUU(keyword, enUU);
|
|
|
|
|
- } else if (keyword.matches(UU_REGEXP)) { // 按UU号查找
|
|
|
|
|
- users = userDao.findByEnUUAndUserUU(enUU, Long.parseLong(keyword));
|
|
|
|
|
- } else if (!keyword.contains("@") && (keyword.matches(CHINESE_REGEXP) || keyword.matches(ENGLISH_REGEXP))) {// 按名字查找
|
|
|
|
|
- users = userDao.findUserByUserNameAndEnUU(keyword, enUU);
|
|
|
|
|
- }
|
|
|
|
|
- if (!CollectionUtils.isEmpty(users)) {
|
|
|
|
|
|
|
+// if (keyword.contains("@")) { // 按邮箱查找
|
|
|
|
|
+// users = userDao.findUserByUserEmailAndEnUU(keyword, enUU);
|
|
|
|
|
+// } else if (keyword.matches(TEL_REGEXP)) { // 按手机号查找
|
|
|
|
|
+// users = userDao.findUserByUserTelAndEnUU(keyword, enUU);
|
|
|
|
|
+// } else if (keyword.matches(UU_REGEXP)) { // 按UU号查找
|
|
|
|
|
+// users = userDao.findByEnUUAndUserUU(enUU, Long.parseLong(keyword));
|
|
|
|
|
+// } else if (!keyword.contains("@") && (keyword.matches(CHINESE_REGEXP) || keyword.matches(ENGLISH_REGEXP))) {// 按名字查找
|
|
|
|
|
+// users = userDao.findUserByUserNameAndEnUU(keyword, enUU);
|
|
|
|
|
+// }
|
|
|
|
|
+ userSet.addAll(userDao.findUserByUserEmailAndEnUU(keyword, enUU));
|
|
|
|
|
+ userSet.addAll(userDao.findUserByUserTelAndEnUU(keyword, enUU));
|
|
|
|
|
+ userSet.addAll(userDao.findByEnUUAndUserUU(enUU, Long.parseLong(keyword)));
|
|
|
|
|
+ userSet.addAll(userDao.findUserByUserNameAndEnUU(keyword, enUU));
|
|
|
|
|
+ if (!CollectionUtils.isEmpty(userSet)) {
|
|
|
for (User user : users) {
|
|
for (User user : users) {
|
|
|
Set<Role> roles = user.getRoles();
|
|
Set<Role> roles = user.getRoles();
|
|
|
Long enuu = SystemSession.getUser().getEnterprise().getUu();
|
|
Long enuu = SystemSession.getUser().getEnterprise().getUu();
|
|
@@ -675,7 +685,7 @@ public class UserServiceImpl implements UserService {
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
- return users;
|
|
|
|
|
|
|
+ return userSet;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|