|
@@ -13,15 +13,16 @@ import com.citu.module.menduner.im.convert.UserConvert;
|
|
|
import com.citu.module.menduner.im.dal.dataobject.UserDO;
|
|
|
import com.citu.module.menduner.im.dal.mysql.UserMapper;
|
|
|
import com.citu.module.menduner.im.service.wukong.WuKongUserService;
|
|
|
+import com.citu.module.menduner.system.api.user.UserApi;
|
|
|
+import com.citu.module.menduner.system.api.user.UserInfoReqDTO;
|
|
|
+import com.citu.module.menduner.system.api.user.UserInfoRespDTO;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
import java.time.LocalDateTime;
|
|
|
-import java.util.ArrayList;
|
|
|
-import java.util.List;
|
|
|
-import java.util.Objects;
|
|
|
-import java.util.Set;
|
|
|
+import java.util.*;
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
@Service
|
|
|
public class UserServiceImpl implements UserService{
|
|
@@ -31,6 +32,8 @@ public class UserServiceImpl implements UserService{
|
|
|
WuKongUserService wuKongUserService;
|
|
|
|
|
|
|
|
|
+ UserApi userApi;
|
|
|
+
|
|
|
private static final Long DEFAULT_ENTERPRISE_ID = -999L;
|
|
|
|
|
|
|
|
@@ -109,7 +112,36 @@ public class UserServiceImpl implements UserService{
|
|
|
return CommonResult.success(new ArrayList<ImUserInfoVo>());
|
|
|
}
|
|
|
List<UserDO> userDOS = mapper.selectList(new LambdaQueryWrapper<UserDO>().in(UserDO::getUid, uids));
|
|
|
- return null;
|
|
|
+ List<UserInfoReqDTO> list = new ArrayList<>(userDOS.size()+1);
|
|
|
+ for (UserDO userDO : userDOS) {
|
|
|
+ UserInfoReqDTO item =new UserInfoReqDTO();
|
|
|
+ item.setUserId(userDO.getUserId());
|
|
|
+
|
|
|
+ item.setUserType(DEFAULT_ENTERPRISE_ID.equals(userDO.getEnterpriseId())
|
|
|
+ ?UserInfoReqDTO.USER_TYPE_USER:UserInfoReqDTO.USER_TYPE_ENTERPRISE);
|
|
|
+
|
|
|
+ item.setEnterpriseId(DEFAULT_ENTERPRISE_ID.equals(userDO.getEnterpriseId())?null:userDO.getEnterpriseId());
|
|
|
+ list.add(item);
|
|
|
+ }
|
|
|
+
|
|
|
+ List<UserInfoRespDTO> result = userApi.getUserInfo(list).getCheckedData();
|
|
|
+ List<ImUserInfoVo> resultVo = new ArrayList<>(result.size()+1);
|
|
|
+ Map<String, UserInfoRespDTO> collect = result.stream().collect(Collectors.toMap(item -> item.getUserId().toString() +"-"+ (null == item.getEnterpriseId() ? DEFAULT_ENTERPRISE_ID : item.getEnterpriseId()), item -> item));
|
|
|
+ for (UserDO userDO : userDOS) {
|
|
|
+ Long userId = userDO.getUserId();
|
|
|
+ Long enterpriseId = userDO.getEnterpriseId();
|
|
|
+ String key = userId+"-"+enterpriseId;
|
|
|
+ ImUserInfoVo item =new ImUserInfoVo();
|
|
|
+ item.setUserInfoResp(collect.get(key));
|
|
|
+ item.setUserId(userId);
|
|
|
+ item.setUid(userDO.getUid());
|
|
|
+
|
|
|
+ resultVo.add(item);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ return CommonResult.success(resultVo);
|
|
|
}
|
|
|
|
|
|
|
|
@@ -122,4 +154,8 @@ public class UserServiceImpl implements UserService{
|
|
|
public void setMapper(UserMapper mapper) {
|
|
|
this.mapper = mapper;
|
|
|
}
|
|
|
+ @Autowired
|
|
|
+ public void setUserApi(UserApi userApi) {
|
|
|
+ this.userApi = userApi;
|
|
|
+ }
|
|
|
}
|