feat: add im kafka admin integration

This commit is contained in:
richjohnrambo
2026-08-28 00:05:54 +08:00
parent d53b0c1b62
commit 4779214591
75 changed files with 9053 additions and 185 deletions
+92
View File
@@ -226,6 +226,22 @@ type (
Status(ctx context.Context, in *sysin.ImUserStatusInp) (err error)
// Devices 获取IM用户设备列表
Devices(ctx context.Context, in *sysin.ImUserDeviceListInp) (list []*sysin.ImUserDeviceListModel, totalCount int, err error)
// Ban 通过Kafka封禁IM用户
Ban(ctx context.Context, in *sysin.ImUserGovernanceInp) (res *sysin.ImUserCommandModel, err error)
// Unban 通过Kafka解封IM用户
Unban(ctx context.Context, in *sysin.ImUserGovernanceInp) (res *sysin.ImUserCommandModel, err error)
// Freeze 通过Kafka冻结IM用户
Freeze(ctx context.Context, in *sysin.ImUserGovernanceInp) (res *sysin.ImUserCommandModel, err error)
// Unfreeze 通过Kafka解冻IM用户
Unfreeze(ctx context.Context, in *sysin.ImUserGovernanceInp) (res *sysin.ImUserCommandModel, err error)
// DeviceKick 通过Kafka踢出IM用户设备
DeviceKick(ctx context.Context, in *sysin.ImUserGovernanceInp) (res *sysin.ImUserCommandModel, err error)
// LogoutAll 通过Kafka踢出IM用户全部在线会话
LogoutAll(ctx context.Context, in *sysin.ImUserGovernanceInp) (res *sysin.ImUserCommandModel, err error)
// AccountCancel 通过Kafka注销IM用户账号
AccountCancel(ctx context.Context, in *sysin.ImUserGovernanceInp) (res *sysin.ImUserCommandModel, err error)
// AccountDelete 通过Kafka删除IM用户账号
AccountDelete(ctx context.Context, in *sysin.ImUserGovernanceInp) (res *sysin.ImUserCommandModel, err error)
}
ISysImGroup interface {
// List 获取IM群组列表
@@ -238,18 +254,30 @@ type (
Governance(ctx context.Context, in *sysin.ImGroupTopicInp) (res *sysin.ImGroupGovernanceModel, err error)
// GovernanceUpdate 更新IM群治理配置
GovernanceUpdate(ctx context.Context, in *sysin.ImGroupGovernanceUpdateInp) (err error)
// ProfileUpdate 修改IM群资料
ProfileUpdate(ctx context.Context, in *sysin.ImGroupProfileUpdateInp) (res *sysin.ImGroupCommandModel, err error)
// Dissolve 解散IM群
Dissolve(ctx context.Context, in *sysin.ImGroupDissolveInp) (err error)
// Mute 禁言IM群成员
Mute(ctx context.Context, in *sysin.ImGroupMuteInp) (err error)
// MemberMute Kafka禁言IM群成员
MemberMute(ctx context.Context, in *sysin.ImGroupMuteInp) (res *sysin.ImGroupCommandModel, err error)
// Unmute 解除IM群成员禁言
Unmute(ctx context.Context, in *sysin.ImGroupUnmuteInp) (err error)
// MemberUnmute Kafka解除IM群成员禁言
MemberUnmute(ctx context.Context, in *sysin.ImGroupUnmuteInp) (res *sysin.ImGroupCommandModel, err error)
// MemberRemove 移出IM群成员
MemberRemove(ctx context.Context, in *sysin.ImGroupMemberRemoveInp) (res *sysin.ImGroupCommandModel, err error)
// JoinRequestApprove 通过IM入群申请
JoinRequestApprove(ctx context.Context, in *sysin.ImGroupJoinRequestResolveInp) (err error)
// JoinRequestReject 拒绝IM入群申请
JoinRequestReject(ctx context.Context, in *sysin.ImGroupJoinRequestResolveInp) (err error)
// RoleUpdate 更新IM群成员角色
RoleUpdate(ctx context.Context, in *sysin.ImGroupRoleUpdateInp) (err error)
// AdminSet 设置IM群管理员
AdminSet(ctx context.Context, in *sysin.ImGroupRoleUpdateInp) (res *sysin.ImGroupCommandModel, err error)
// AdminRemove 删除IM群管理员
AdminRemove(ctx context.Context, in *sysin.ImGroupRoleUpdateInp) (res *sysin.ImGroupCommandModel, err error)
// OwnerTransfer 转让IM群主
OwnerTransfer(ctx context.Context, in *sysin.ImGroupOwnerTransferInp) (err error)
// JoinRequestList 获取IM入群申请列表
@@ -395,6 +423,34 @@ type (
// View 获取IM审计日志指定信息
View(ctx context.Context, in *sysin.ImAuditLogViewInp) (res *sysin.ImAuditLogViewModel, err error)
}
ISysImKafkaAudit interface {
// List 获取IM Kafka审计事件列表
List(ctx context.Context, in *sysin.ImKafkaAuditListInp) (list []*sysin.ImKafkaAuditListModel, totalCount int, err error)
// View 获取IM Kafka审计事件详情
View(ctx context.Context, in *sysin.ImKafkaAuditViewInp) (res *sysin.ImKafkaAuditViewModel, err error)
}
ISysImKafkaCommand interface {
// List 获取IM后台命令列表
List(ctx context.Context, in *sysin.ImKafkaCommandListInp) (list []*sysin.ImKafkaCommandListModel, totalCount int, err error)
// View 获取IM后台命令详情
View(ctx context.Context, in *sysin.ImKafkaCommandViewInp) (res *sysin.ImKafkaCommandViewModel, err error)
// CacheInvalidate 发送IM缓存失效测试事件
CacheInvalidate(ctx context.Context, in *sysin.ImKafkaCacheInvalidateInp) (res *sysin.ImKafkaEventModel, err error)
// WorkbenchEvent 发送IM工作台测试事件
WorkbenchEvent(ctx context.Context, in *sysin.ImKafkaWorkbenchEventInp) (res *sysin.ImKafkaEventModel, err error)
}
ISysImDeadLetter interface {
// List 获取IM Kafka死信列表
List(ctx context.Context, in *sysin.ImDeadLetterListInp) (res *sysin.ImDeadLetterPageModel, err error)
// View 获取IM Kafka死信详情
View(ctx context.Context, in *sysin.ImDeadLetterViewInp) (res *sysin.ImDeadLetterViewModel, err error)
// Replay 重放IM Kafka死信
Replay(ctx context.Context, in *sysin.ImDeadLetterActionInp) (res *sysin.ImGroupCommandModel, err error)
// Ignore 忽略IM Kafka死信
Ignore(ctx context.Context, in *sysin.ImDeadLetterActionInp) (res *sysin.ImGroupCommandModel, err error)
// Resolve 标记IM Kafka死信已处理
Resolve(ctx context.Context, in *sysin.ImDeadLetterActionInp) (res *sysin.ImGroupCommandModel, err error)
}
ISysDictData interface {
// Delete 删除
Delete(ctx context.Context, in *sysin.DictDataDeleteInp) error
@@ -658,6 +714,9 @@ var (
localSysImWorkbench ISysImWorkbench
localSysImTaskDashboard ISysImTaskDashboard
localSysImAuditLog ISysImAuditLog
localSysImKafkaAudit ISysImKafkaAudit
localSysImKafkaCommand ISysImKafkaCommand
localSysImDeadLetter ISysImDeadLetter
localSysDictData ISysDictData
localSysDictType ISysDictType
localSysEmsLog ISysEmsLog
@@ -981,6 +1040,39 @@ func RegisterSysImAuditLog(i ISysImAuditLog) {
localSysImAuditLog = i
}
func SysImKafkaAudit() ISysImKafkaAudit {
if localSysImKafkaAudit == nil {
panic("implement not found for interface ISysImKafkaAudit, forgot register?")
}
return localSysImKafkaAudit
}
func RegisterSysImKafkaAudit(i ISysImKafkaAudit) {
localSysImKafkaAudit = i
}
func SysImKafkaCommand() ISysImKafkaCommand {
if localSysImKafkaCommand == nil {
panic("implement not found for interface ISysImKafkaCommand, forgot register?")
}
return localSysImKafkaCommand
}
func RegisterSysImKafkaCommand(i ISysImKafkaCommand) {
localSysImKafkaCommand = i
}
func SysImDeadLetter() ISysImDeadLetter {
if localSysImDeadLetter == nil {
panic("implement not found for interface ISysImDeadLetter, forgot register?")
}
return localSysImDeadLetter
}
func RegisterSysImDeadLetter(i ISysImDeadLetter) {
localSysImDeadLetter = i
}
func SysDictData() ISysDictData {
if localSysDictData == nil {
panic("implement not found for interface ISysDictData, forgot register?")