1
zj
2025-09-24 5b16e50ef283a1ccdd6408ee2ccf41726f349923
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("00000000")){
            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("注册成功");
@@ -227,7 +231,7 @@
     */
    public static String generateInvitationCode() {
        Random random = new Random();
        int code = 100000 + random.nextInt(900000);
        int code = 10000000 + random.nextInt(90000000);
        return String.valueOf(code);
    }