DESKTOP-VAEGFGM\zqc 7 månader sedan
förälder
incheckning
d4c887c2ad

+ 1 - 1
menduner/menduner-im-biz/src/main/java/com/citu/module/menduner/im/dal/mysql/UserMapper.java

@@ -9,6 +9,6 @@ import org.apache.ibatis.annotations.Select;
 
 @Mapper
 public interface UserMapper extends BaseMapperX<UserDO> {
-    @Select("SELECT * FROM im_user WHERE user_id = #{userId}    and  enterprise_Id =#{enterpriseId}  FOR UPDATE")
+    @Select("SELECT * FROM im_user WHERE user_id = #{userId}    and  enterprise_Id =#{enterpriseId} ")
     UserDO selectUserDO(@Param("userId") Long userId,@Param("enterpriseId") Long enterpriseId);
 }

+ 7 - 3
menduner/menduner-im-biz/src/main/java/com/citu/module/menduner/im/service/UserServiceImpl.java

@@ -17,6 +17,7 @@ import com.citu.module.menduner.system.api.user.UserInfoReqDTO;
 import com.citu.module.menduner.system.api.user.UserInfoRespDTO;
 import com.citu.module.menduner.system.enums.user.MdeUserTypeEnum;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.dao.DuplicateKeyException;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
@@ -38,7 +39,7 @@ public class UserServiceImpl implements UserService{
 
 
     @Override
-    @Transactional()
+//    @Transactional()
     public CommonResult<ImUserResoVO> getUser(ImUserReqVo reqVo) {
 
         if(null==reqVo.getEnterpriseId()){
@@ -51,7 +52,6 @@ public class UserServiceImpl implements UserService{
         try{
             loginEnterpriseId=LoginUserContext.getEnterpriseId();
         } catch (Exception e){
-
         }
         if(null == userDO){
             // 开始注册
@@ -63,7 +63,11 @@ public class UserServiceImpl implements UserService{
             userDO.setToken(IdUtil.fastSimpleUUID());
             userDO.setUid(IdUtil.fastSimpleUUID());
 //            userDO.setContent(reqVo.getContent());
-            mapper.insert(userDO);
+            try {
+                mapper.insert(userDO);
+            }catch (DuplicateKeyException e){
+                userDO = mapper.selectUserDO(reqVo.getUserId(),reqVo.getEnterpriseId());
+            }
             CommonResult<Boolean> booleanCommonResult = wuKongUserService.userToken(userDO.getUid(), userDO.getToken());
             if(!booleanCommonResult.isSuccess()){
                 return CommonResult.error(GlobalErrorCodeConstants.INTERNAL_SERVER_ERROR);