Skip to content

群组、群成员 ​

这篇解决什么 ​

群主管理员怎么存、进群要不要审批。读完能对上 im_group / im_group_member / im_group_request,以及人数和管理员上限。

默认端口 48080。先开模块见 IM 功能设计。

示意图:joinApproval=false 可自由进。打开后申请和邀请都要群主 / 管理员同意。

从哪改 ​

名称说明仓库路径
C 端群@RequestMapping("/im/group")ruoyi-office/yudao-module-im/.../group/ImGroupController.java
C 端成员/im/group-memberImGroupMemberController
C 端加群申请/im/group-requestImGroupRequestController
运营群/im/manager/groupImGroupManagerController
运营成员/im/manager/group/memberImGroupMemberManagerController
运营申请/im/manager/group-requestImGroupRequestManagerController

用户页:views/im/home/components/group/。运营页:views/im/manager/group/。

ImGroupMemberRoleEnum:1 群主,2 管理员,3 普通成员。yudao.im.group 默认:max-member=500,admin-max-count=3,pin-max-count=5。

群 status:0 正常,1 已解散(写 dissolvedTime)。运营可 banned + bannedReason。mutedAll 是全群禁言。pinnedMessageIds 只存消息 id。

成员 muteEndTime:null 未禁言;未来时间表示禁言中;常量 9999-12-31 23:59:59 表示永久。silent 是个人免打扰。

ImGroupRequestHandleResultEnum:0 未处理,1 同意,2 拒绝。inviterUserId 空=自己申请,有值=成员邀请待审。同意后 addSource / 邀请人写入成员行。

ImGroupAddSourceEnum:1 搜索,2 邀请,3 扫码,4 分享链接。当前真正走通的是邀请;搜索 / 扫码 / 分享枚举已占位。

字段 ​

名称说明仓库路径
ownerUserId / notice群主、公告ImGroupDO
joinApproval / mutedAll进群审批、全员禁言同上
banned / status封禁、解散同上
role / displayUserName角色、群内昵称ImGroupMemberDO
muteEndTime / quitTime禁言、退群同上
handleResult / inviterUserId申请结果、邀请人ImGroupRequestDO

解散不是物理删群

status=1。成员行也会留下退群时间,不要按「群 id 不存在」判断历史消息。

频道不是群

运营单向号见 频道、频道素材。群成员能互相发,受敏感词和禁言约束。

按本仓库 DO 生成的 ER。

配置与操作 ​

用户页在 views/im/home/components/group/。建群后改 joinApproval、mutedAll、notice。打开进群审批后,申请和邀请都要群主 / 管理员同意(处理 im_group_request)。YAML yudao.im.group 默认 max-member=500、admin-max-count=3、pin-max-count=5。运营可 banned。

保存后成员角色是 1 群主 / 2 管理员 / 3 普通。解散是 status=1 并写 dissolvedTime,不是物理删群。频道不是群,单向号另见频道篇。

相关篇 ​

联系我们

获取报价、演示和二开方案

微信咨询二维码

微信咨询

17156169080

添加时备注「RuoYi Office」

在线体验商业版