Selaa lähdekoodia

fix: 通过关键词查询用户信息异常的处理

hejq 7 vuotta sitten
vanhempi
commit
6f68dd3e73

+ 6 - 7
src/main/java/com/uas/platform/b2b/model/User.java

@@ -29,6 +29,11 @@ import java.util.HashSet;
 import java.util.Iterator;
 import java.util.Set;
 
+/**
+ * B2B用户信息
+ *
+ * @author US50
+ */
 @Entity
 @Table(name = "sec$users")
 @Cacheable
@@ -462,13 +467,7 @@ public class User implements Serializable {
     public void setCurrentEnterpriseRoles(Long enUU) {
         if (null != enUU) {
             if (!CollectionUtils.isEmpty(this.roles)) {
-                Iterator<Role> iterator = this.roles.iterator();
-                while (iterator.hasNext()) {
-                    Role role = iterator.next();
-                    if (!role.getEnUU().equals(enUU)) {
-                        iterator.remove();
-                    }
-                }
+                this.roles.removeIf(role -> !role.getEnUU().equals(enUU));
             }
         } else {
             this.roles = null;

+ 5 - 4
src/main/java/com/uas/platform/b2b/service/impl/UserServiceImpl.java

@@ -625,15 +625,16 @@ public class UserServiceImpl implements UserService {
 	 */
 	@Override
 	public Set<User> findUsersByKeyWord(String keyword) {
-		List<User> users = new ArrayList<User>();
-		Set<User> userSet = new HashSet<User>();
+		Set<User> userSet = new HashSet<>();
 		Long enUU = SystemSession.getUser().getEnterprise().getUu();
 		userSet.addAll(userDao.findUserByUserEmailAndEnUU(keyword, enUU));
 		userSet.addAll(userDao.findUserByUserTelAndEnUU(keyword, enUU));
-		userSet.addAll(userDao.findByEnUUAndUserUU(enUU, Long.parseLong(keyword)));
+		if (keyword.matches(UU_REGEXP)) {
+            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 : userSet) {
 				user.setCurrentEnterpriseRoles(enUU);
 			}
 		}