|
@@ -1,10 +1,12 @@
|
|
|
package com.citu.module.menduner.im.service;
|
|
|
|
|
|
import cn.hutool.core.util.IdUtil;
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import com.citu.framework.common.exception.enums.GlobalErrorCodeConstants;
|
|
|
import com.citu.framework.common.pojo.CommonResult;
|
|
|
import com.citu.framework.security.core.util.SecurityFrameworkUtils;
|
|
|
import com.citu.module.menduner.common.util.LoginUserContext;
|
|
|
+import com.citu.module.menduner.im.controller.app.base.user.ImUserInfoVo;
|
|
|
import com.citu.module.menduner.im.controller.app.base.user.ImUserReqVo;
|
|
|
import com.citu.module.menduner.im.controller.app.base.user.ImUserResoVO;
|
|
|
import com.citu.module.menduner.im.convert.UserConvert;
|
|
@@ -16,6 +18,10 @@ 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;
|
|
|
|
|
|
@Service
|
|
|
public class UserServiceImpl implements UserService{
|
|
@@ -25,27 +31,45 @@ public class UserServiceImpl implements UserService{
|
|
|
WuKongUserService wuKongUserService;
|
|
|
|
|
|
|
|
|
+ private static final Long DEFAULT_ENTERPRISE_ID = -999L;
|
|
|
+
|
|
|
+
|
|
|
@Override
|
|
|
@Transactional()
|
|
|
public CommonResult<ImUserResoVO> getUser(ImUserReqVo reqVo) {
|
|
|
- UserDO userDO = mapper.selectById(reqVo.getUserId());
|
|
|
+
|
|
|
+ if(null==reqVo.getEnterpriseId()){
|
|
|
+ reqVo.setEnterpriseId(DEFAULT_ENTERPRISE_ID);
|
|
|
+ }
|
|
|
+ UserDO userDO = mapper.selectOne(new LambdaQueryWrapper<UserDO>()
|
|
|
+ .eq(UserDO::getUserId,reqVo.getUserId())
|
|
|
+ .eq(UserDO::getEnterpriseId,reqVo.getEnterpriseId())
|
|
|
+ );
|
|
|
|
|
|
Long userLoginId = LoginUserContext.getUserId();
|
|
|
+ Long loginEnterpriseId = DEFAULT_ENTERPRISE_ID;
|
|
|
+ try{
|
|
|
+ loginEnterpriseId=LoginUserContext.getEnterpriseId();
|
|
|
+ } catch (Exception e){
|
|
|
+
|
|
|
+ }
|
|
|
if(null == userDO){
|
|
|
// 开始注册
|
|
|
userDO =new UserDO();
|
|
|
userDO.setCreateTime(LocalDateTime.now());
|
|
|
userDO.setUpdateTime(LocalDateTime.now());
|
|
|
userDO.setUserId(reqVo.getUserId());
|
|
|
+ userDO.setEnterpriseId(reqVo.getEnterpriseId());
|
|
|
userDO.setToken(IdUtil.fastSimpleUUID());
|
|
|
userDO.setUid(IdUtil.fastSimpleUUID());
|
|
|
+// userDO.setContent(reqVo.getContent());
|
|
|
mapper.insert(userDO);
|
|
|
CommonResult<Boolean> booleanCommonResult = wuKongUserService.userToken(userDO.getUid(), userDO.getToken());
|
|
|
if(!booleanCommonResult.isSuccess()){
|
|
|
return CommonResult.error(GlobalErrorCodeConstants.INTERNAL_SERVER_ERROR);
|
|
|
}
|
|
|
}
|
|
|
- if(userLoginId!=reqVo.getUserId()){
|
|
|
+ if(!Objects.equals(userLoginId, reqVo.getUserId()) || !Objects.equals(loginEnterpriseId, reqVo.getEnterpriseId()) ){
|
|
|
userDO.setToken(null);
|
|
|
}
|
|
|
ImUserResoVO imUserResoVO = UserConvert.INSTANCE.userDOConvertUserResoVO(userDO);
|
|
@@ -79,6 +103,15 @@ public class UserServiceImpl implements UserService{
|
|
|
return userDO.getUid();
|
|
|
}
|
|
|
|
|
|
+// @Override
|
|
|
+// public CommonResult<List<ImUserInfoVo>> getUserByUids(Set<String> uids) {
|
|
|
+// if(null == uids || uids.isEmpty()){
|
|
|
+// return CommonResult.success(new ArrayList<ImUserInfoVo>());
|
|
|
+// }
|
|
|
+// List<UserDO> userDOS = mapper.selectList(new LambdaQueryWrapper<UserDO>().in(UserDO::getUid, uids));
|
|
|
+// return null;
|
|
|
+// }
|
|
|
+
|
|
|
|
|
|
@Autowired
|
|
|
public void setWuKongUserService(WuKongUserService wuKongUserService) {
|