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
@@ -0,0 +1,59 @@
package imconfiginternal
import "github.com/gogf/gf/v2/frame/g"
type TenantReq struct {
g.Meta `path:"/internal/im-config/tenants/by-code/{code}" method:"get" tags:"IM内部配置" summary:"按编码获取IM租户"`
Code string `json:"code" in:"path" dc:"租户编码"`
}
type TenantByIDReq struct {
g.Meta `path:"/internal/im-config/tenants/by-id/{id}" method:"get" tags:"IM内部配置" summary:"按ID获取IM租户"`
Id int64 `json:"id" in:"path" dc:"租户ID"`
}
type TenantListReq struct {
g.Meta `path:"/internal/im-config/tenants" method:"get" tags:"IM内部配置" summary:"获取IM租户列表"`
State string `json:"state" dc:"状态"`
Limit int `json:"limit" dc:"数量"`
}
type TenantRes struct {
*TenantModel
}
type TenantListRes struct {
Items []*TenantModel `json:"items" dc:"租户列表"`
}
type TenantModel struct {
ID int64 `json:"id"`
Code string `json:"code"`
Name string `json:"name"`
TenantDesc *string `json:"tenant_desc,omitempty"`
DBName string `json:"db_name"`
DBDSN string `json:"db_dsn"`
State int `json:"state"`
CreatedAt string `json:"created_at"`
CreatedBy int64 `json:"created_by"`
UpdatedAt string `json:"updated_at"`
UpdatedBy int64 `json:"updated_by"`
}
type RegistrationSmsReq struct {
g.Meta `path:"/internal/im-config/registration/sms" method:"get" tags:"IM内部配置" summary:"获取注册短信开关"`
}
type RegistrationSmsRes struct {
Enabled bool `json:"enabled" dc:"是否开启"`
}
type ThirdPartyReq struct {
g.Meta `path:"/internal/im-config/third-party/{group}" method:"get" tags:"IM内部配置" summary:"获取第三方配置"`
Group string `json:"group" in:"path" dc:"配置组"`
Keys string `json:"keys" dc:"配置键,逗号分隔"`
}
type ThirdPartyRes struct {
Values map[string]string `json:"values" dc:"配置值"`
}
@@ -0,0 +1,57 @@
// Package imdeadletter
// @Link https://github.com/bufanyun/hotgo
// @Copyright Copyright (c) 2026 HotGo
// @Author Ms <133814250@qq.com>
// @License https://github.com/bufanyun/hotgo/blob/master/LICENSE
package imdeadletter
import (
"hotgo/internal/model/input/sysin"
"github.com/gogf/gf/v2/frame/g"
)
type ListReq struct {
g.Meta `path:"/imDeadLetter/list" method:"get" tags:"IM Kafka死信" summary:"获取IM Kafka死信列表"`
sysin.ImDeadLetterListInp
}
type ListRes struct {
*sysin.ImDeadLetterPageModel
}
type ViewReq struct {
g.Meta `path:"/imDeadLetter/view" method:"get" tags:"IM Kafka死信" summary:"获取IM Kafka死信详情"`
sysin.ImDeadLetterViewInp
}
type ViewRes struct {
*sysin.ImDeadLetterViewModel
}
type ReplayReq struct {
g.Meta `path:"/imDeadLetter/replay" method:"post" tags:"IM Kafka死信" summary:"重放IM Kafka死信"`
sysin.ImDeadLetterActionInp
}
type ReplayRes struct {
*sysin.ImGroupCommandModel
}
type IgnoreReq struct {
g.Meta `path:"/imDeadLetter/ignore" method:"post" tags:"IM Kafka死信" summary:"忽略IM Kafka死信"`
sysin.ImDeadLetterActionInp
}
type IgnoreRes struct {
*sysin.ImGroupCommandModel
}
type ResolveReq struct {
g.Meta `path:"/imDeadLetter/resolve" method:"post" tags:"IM Kafka死信" summary:"标记IM Kafka死信已处理"`
sysin.ImDeadLetterActionInp
}
type ResolveRes struct {
*sysin.ImGroupCommandModel
}
+60
View File
@@ -62,6 +62,16 @@ type GovernanceUpdateReq struct {
type GovernanceUpdateRes struct{}
// ProfileUpdateReq 修改IM群资料
type ProfileUpdateReq struct {
g.Meta `path:"/imGroup/profileUpdate" method:"post" tags:"IM群组" summary:"修改IM群资料"`
sysin.ImGroupProfileUpdateInp
}
type ProfileUpdateRes struct {
*sysin.ImGroupCommandModel
}
// DissolveReq 解散IM群
type DissolveReq struct {
g.Meta `path:"/imGroup/dissolve" method:"post" tags:"IM群组" summary:"解散IM群"`
@@ -78,6 +88,16 @@ type MuteReq struct {
type MuteRes struct{}
// MemberMuteReq Kafka禁言IM群成员
type MemberMuteReq struct {
g.Meta `path:"/imGroup/memberMute" method:"post" tags:"IM群组" summary:"Kafka禁言IM群成员"`
sysin.ImGroupMuteInp
}
type MemberMuteRes struct {
*sysin.ImGroupCommandModel
}
// UnmuteReq 解除IM群成员禁言
type UnmuteReq struct {
g.Meta `path:"/imGroup/unmute" method:"post" tags:"IM群组" summary:"解除IM群成员禁言"`
@@ -86,6 +106,26 @@ type UnmuteReq struct {
type UnmuteRes struct{}
// MemberUnmuteReq Kafka解除IM群成员禁言
type MemberUnmuteReq struct {
g.Meta `path:"/imGroup/memberUnmute" method:"post" tags:"IM群组" summary:"Kafka解除IM群成员禁言"`
sysin.ImGroupUnmuteInp
}
type MemberUnmuteRes struct {
*sysin.ImGroupCommandModel
}
// MemberRemoveReq 移出IM群成员
type MemberRemoveReq struct {
g.Meta `path:"/imGroup/memberRemove" method:"post" tags:"IM群组" summary:"移出IM群成员"`
sysin.ImGroupMemberRemoveInp
}
type MemberRemoveRes struct {
*sysin.ImGroupCommandModel
}
// JoinRequestApproveReq 通过IM入群申请
type JoinRequestApproveReq struct {
g.Meta `path:"/imGroup/joinRequestApprove" method:"post" tags:"IM群组" summary:"通过IM入群申请"`
@@ -110,6 +150,26 @@ type RoleUpdateReq struct {
type RoleUpdateRes struct{}
// AdminSetReq 设置IM群管理员
type AdminSetReq struct {
g.Meta `path:"/imGroup/adminSet" method:"post" tags:"IM群组" summary:"设置IM群管理员"`
sysin.ImGroupRoleUpdateInp
}
type AdminSetRes struct {
*sysin.ImGroupCommandModel
}
// AdminRemoveReq 删除IM群管理员
type AdminRemoveReq struct {
g.Meta `path:"/imGroup/adminRemove" method:"post" tags:"IM群组" summary:"删除IM群管理员"`
sysin.ImGroupRoleUpdateInp
}
type AdminRemoveRes struct {
*sysin.ImGroupCommandModel
}
// OwnerTransferReq 转让IM群主
type OwnerTransferReq struct {
g.Meta `path:"/imGroup/ownerTransfer" method:"post" tags:"IM群组" summary:"转让IM群主"`
@@ -0,0 +1,27 @@
package imkafkaaudit
import (
"hotgo/internal/model/input/form"
"hotgo/internal/model/input/sysin"
"github.com/gogf/gf/v2/frame/g"
)
type ListReq struct {
g.Meta `path:"/imKafkaAudit/list" method:"get" tags:"IM Kafka审计事件" summary:"获取IM Kafka审计事件列表"`
sysin.ImKafkaAuditListInp
}
type ListRes struct {
form.PageRes
List []*sysin.ImKafkaAuditListModel `json:"list" dc:"数据列表"`
}
type ViewReq struct {
g.Meta `path:"/imKafkaAudit/view" method:"get" tags:"IM Kafka审计事件" summary:"获取IM Kafka审计事件详情"`
sysin.ImKafkaAuditViewInp
}
type ViewRes struct {
*sysin.ImKafkaAuditViewModel
}
@@ -0,0 +1,50 @@
// Package imkafkacommand
// @Link https://github.com/bufanyun/hotgo
// @Copyright Copyright (c) 2026 HotGo
// @Author Ms <133814250@qq.com>
// @License https://github.com/bufanyun/hotgo/blob/master/LICENSE
package imkafkacommand
import (
"hotgo/internal/model/input/form"
"hotgo/internal/model/input/sysin"
"github.com/gogf/gf/v2/frame/g"
)
type ListReq struct {
g.Meta `path:"/imKafkaCommand/list" method:"get" tags:"IM后台命令" summary:"获取IM后台命令列表"`
sysin.ImKafkaCommandListInp
}
type ListRes struct {
form.PageRes
List []*sysin.ImKafkaCommandListModel `json:"list" dc:"数据列表"`
}
type ViewReq struct {
g.Meta `path:"/imKafkaCommand/view" method:"get" tags:"IM后台命令" summary:"获取IM后台命令详情"`
sysin.ImKafkaCommandViewInp
}
type ViewRes struct {
*sysin.ImKafkaCommandViewModel
}
type CacheInvalidateReq struct {
g.Meta `path:"/imKafkaCommand/cacheInvalidate" method:"post" tags:"IM后台命令" summary:"发送IM缓存失效测试事件"`
sysin.ImKafkaCacheInvalidateInp
}
type CacheInvalidateRes struct {
*sysin.ImKafkaEventModel
}
type WorkbenchEventReq struct {
g.Meta `path:"/imKafkaCommand/workbenchEvent" method:"post" tags:"IM后台命令" summary:"发送IM工作台测试事件"`
sysin.ImKafkaWorkbenchEventInp
}
type WorkbenchEventRes struct {
*sysin.ImKafkaEventModel
}
+72
View File
@@ -63,3 +63,75 @@ type DevicesRes struct {
form.PageRes
List []*sysin.ImUserDeviceListModel `json:"list" dc:"设备列表"`
}
type BanReq struct {
g.Meta `path:"/imUser/ban" method:"post" tags:"IM用户" summary:"封禁IM用户"`
sysin.ImUserGovernanceInp
}
type BanRes struct {
*sysin.ImUserCommandModel
}
type UnbanReq struct {
g.Meta `path:"/imUser/unban" method:"post" tags:"IM用户" summary:"解封IM用户"`
sysin.ImUserGovernanceInp
}
type UnbanRes struct {
*sysin.ImUserCommandModel
}
type FreezeReq struct {
g.Meta `path:"/imUser/freeze" method:"post" tags:"IM用户" summary:"冻结IM用户"`
sysin.ImUserGovernanceInp
}
type FreezeRes struct {
*sysin.ImUserCommandModel
}
type UnfreezeReq struct {
g.Meta `path:"/imUser/unfreeze" method:"post" tags:"IM用户" summary:"解冻IM用户"`
sysin.ImUserGovernanceInp
}
type UnfreezeRes struct {
*sysin.ImUserCommandModel
}
type DeviceKickReq struct {
g.Meta `path:"/imUser/deviceKick" method:"post" tags:"IM用户" summary:"踢出IM用户设备"`
sysin.ImUserGovernanceInp
}
type DeviceKickRes struct {
*sysin.ImUserCommandModel
}
type LogoutAllReq struct {
g.Meta `path:"/imUser/logoutAll" method:"post" tags:"IM用户" summary:"踢出IM用户全部会话"`
sysin.ImUserGovernanceInp
}
type LogoutAllRes struct {
*sysin.ImUserCommandModel
}
type AccountCancelReq struct {
g.Meta `path:"/imUser/accountCancel" method:"post" tags:"IM用户" summary:"注销IM用户账号"`
sysin.ImUserGovernanceInp
}
type AccountCancelRes struct {
*sysin.ImUserCommandModel
}
type AccountDeleteReq struct {
g.Meta `path:"/imUser/accountDelete" method:"post" tags:"IM用户" summary:"删除IM用户账号"`
sysin.ImUserGovernanceInp
}
type AccountDeleteRes struct {
*sysin.ImUserCommandModel
}