소스 검색

uu互联根据手机号获取用户信息 方法修改

wangmh 7 년 전
부모
커밋
d141e75fc0
2개의 변경된 파일29개의 추가작업 그리고 3개의 파일을 삭제
  1. 2 2
      sso-server/src/main/java/com/uas/sso/dao/UserDao.java
  2. 27 1
      sso-server/src/main/java/com/uas/sso/service/impl/UserServiceImpl.java

+ 2 - 2
sso-server/src/main/java/com/uas/sso/dao/UserDao.java

@@ -104,6 +104,6 @@ public interface UserDao extends JpaRepository<User, Long>, JpaSpecificationExec
      * @param tels
      * @return
      */
-    @Query("select new com.uas.sso.entity.UserSpaceDetailInfo('', '', u.vipName, u.mobile, u.imId, u.email) from User u where u.mobile in :tels")
-    List<UserSpaceDetailInfo> findUsersByTels(@Param("tels") List<String> tels);
+    @Query("select u from User u where u.mobile in :tels")
+    List<User> findUsersByTels(@Param("tels") List<String> tels);
 }

+ 27 - 1
sso-server/src/main/java/com/uas/sso/service/impl/UserServiceImpl.java

@@ -33,6 +33,7 @@ import com.uas.sso.exception.AccountException;
 import javax.persistence.criteria.*;
 import java.sql.Timestamp;
 import java.util.ArrayList;
+import java.util.Iterator;
 import java.util.List;
 import java.util.Set;
 
@@ -504,7 +505,32 @@ public class UserServiceImpl implements UserService {
 
     @Override
     public List<UserSpaceDetailInfo> findUserByTels(List<String> tels) {
-        return userDao.findUsersByTels(tels);
+        // 获取用户列表
+        List<User> users = userDao.findUsersByTels(tels);
+        if (CollectionUtils.isEmpty(users)) {
+            return null;
+        }
+
+        List<UserSpaceDetailInfo> data = new ArrayList<>(users.size());
+        UserSpaceDetailInfo info;
+        // 遍历用户列表取数据
+        for (User user : users) {
+            info = new UserSpaceDetailInfo();
+            Set<Userspace> spaces = user.getUserSpaces();
+            if (!CollectionUtils.isEmpty(spaces)) {
+                // 有企业的话随便取一个,uu互联需求
+                Iterator<Userspace> iterator = spaces.iterator();
+                Userspace userspace = iterator.next();
+                info.setAddress(userspace.getRegAddress());
+                info.setCompany(userspace.getSpaceName());
+            }
+            info.setEmail(user.getEmail());
+            info.setImid(user.getImId());
+            info.setUsertel(user.getMobile());
+            info.setUsername(user.getVipName());
+            data.add(info);
+        }
+        return data;
     }
 
     /**