From 680db402517fc38cc5137c53827aceec066cb744 Mon Sep 17 00:00:00 2001
From: zj <1772600164@qq.com>
Date: Mon, 01 Sep 2025 02:30:43 +0800
Subject: [PATCH] 1

---
 ruoyi-admin/src/main/java/com/ruoyi/im/service/impl/ImApiServcieImpl.java |   22 +++++++++++++---------
 1 files changed, 13 insertions(+), 9 deletions(-)

diff --git a/ruoyi-admin/src/main/java/com/ruoyi/im/service/impl/ImApiServcieImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/im/service/impl/ImApiServcieImpl.java
index 41be005..fb95e3b 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/im/service/impl/ImApiServcieImpl.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/im/service/impl/ImApiServcieImpl.java
@@ -125,13 +125,15 @@
             return Result.error("邀请码不能为空!");
         }
 
-        UserAccount user = userAccountService.getOne(new LambdaQueryWrapper<UserAccount>()
-                .eq(UserAccount::getInvitationCode, dto.getInvitationCode()).last(" limit 1"));
-        if(ObjectUtil.isEmpty(user)){
-            return Result.error("邀请码错误");
-        }
-
         String invitationCode = getInvitationCode();
+        UserAccount user = new UserAccount();
+        if(dto.getAccountType() == 0 && StringUtils.isNotEmpty(dto.getInvitationCode()) &&  !dto.getInvitationCode().equals("000000")){
+            user = userAccountService.getOne(new LambdaQueryWrapper<UserAccount>()
+                    .eq(UserAccount::getInvitationCode, dto.getInvitationCode()).last(" limit 1"));
+            if(ObjectUtil.isEmpty(user)){
+                return Result.error("邀请码错误");
+            }
+        }
 
         // 创建本地用户账户记录
         UserAccount userAccount = new UserAccount();
@@ -144,7 +146,7 @@
         userAccount.setCreateTime(new Date());
         userAccount.setUpdateTime(new Date());
         userAccount.setInvitationCode(invitationCode);
-        userAccount.setInvitationAccount(user.getAccount());
+        userAccount.setInvitationAccount(ObjectUtil.isNotEmpty(user.getAccount()) ? user.getAccount() : "");
 
         if (!userAccountService.save(userAccount)) {
             throw new RuntimeException("保存用户账户失败");
@@ -180,13 +182,15 @@
                     .eq(GroupWelcomeConfig::getConfigurationName, "IM-BASICS").last(" limit 1"));
 
             NeteaseTeam neteaseTeam = neteaseTeamMapper.selectOne(new LambdaQueryWrapper<NeteaseTeam>().eq(NeteaseTeam::getTid,groupWelcomeConfig.getGroupId()));
-            if(ObjectUtil.isNotEmpty(groupWelcomeConfig) || ObjectUtil.isNotEmpty(neteaseTeam)){
+            if(ObjectUtil.isNotEmpty(groupWelcomeConfig) &&  ObjectUtil.isNotEmpty(groupWelcomeConfig.getUserAccid())){
                 addFriends(userAccount.getAccount(),groupWelcomeConfig.getUserAccid());
+            }
+            if(ObjectUtil.isNotEmpty(groupWelcomeConfig) &&  ObjectUtil.isNotEmpty(groupWelcomeConfig.getGroupId()) && ObjectUtil.isNotEmpty(neteaseTeam)){
                 List<String> accountList = new ArrayList<>();
                 accountList.add(userAccount.getAccount());
                 AddTeamMembersRequest request = new AddTeamMembersRequest();
                 request.setInviteAccountIds(accountList);
-                request.setGroupId(neteaseTeam.getId().toString());
+                request.setGroupId(ObjectUtil.isNotEmpty(neteaseTeam.getId().toString()) ? neteaseTeam.getId().toString() : null);
                 neteaseTeamService.inviteTeamMembers(request);
             }
             return Result.success("注册成功");

--
Gitblit v1.9.3