feat: refine IM admin management workflows

This commit is contained in:
richjohnrambo
2026-09-13 23:25:53 +08:00
parent 6e65935e3c
commit 8b30b8241c
15 changed files with 2128 additions and 525 deletions
+21 -21
View File
@@ -34,7 +34,7 @@ type ImGroupListModel struct {
TenantName string `json:"tenantName" dc:"租户名称"`
Topic string `json:"topic" dc:"Topic"`
State int `json:"state" dc:"状态"`
OwnerId int64 `json:"ownerId" dc:"群主ID"`
OwnerId int64 `json:"ownerId,string" dc:"群主ID"`
OwnerNickname string `json:"ownerNickname" dc:"群主昵称"`
OwnerUsername string `json:"ownerUsername" dc:"群主用户名"`
SeqId int `json:"seqId" dc:"最新消息序号"`
@@ -101,7 +101,7 @@ func (in *ImGroupMemberListInp) Filter(ctx context.Context) (err error) {
}
type ImGroupMemberListModel struct {
UserId int64 `json:"userId" dc:"用户ID"`
UserId int64 `json:"userId,string" dc:"用户ID"`
Nickname string `json:"nickname" dc:"昵称"`
State int `json:"state" dc:"用户状态"`
ModeWant string `json:"modeWant" dc:"期望权限"`
@@ -119,10 +119,10 @@ type ImGroupMemberListModel struct {
Pinned int `json:"pinned" dc:"置顶"`
MuteNotifications int `json:"muteNotifications" dc:"免打扰"`
JoinSource string `json:"joinSource" dc:"加入来源"`
JoinedBy int64 `json:"joinedBy" dc:"邀请/处理人"`
JoinedBy int64 `json:"joinedBy,string" dc:"邀请/处理人"`
JoinedAt *gtime.Time `json:"joinedAt" dc:"业务加入时间"`
LeftAt *gtime.Time `json:"leftAt" dc:"离开时间"`
RemovedBy int64 `json:"removedBy" dc:"移除人"`
RemovedBy int64 `json:"removedBy,string" dc:"移除人"`
Version int `json:"version" dc:"版本"`
}
@@ -143,7 +143,7 @@ type ImGroupGovernanceModel struct {
TenantId int64 `json:"tenantId" dc:"租户ID"`
TenantName string `json:"tenantName" dc:"租户名称"`
Topic string `json:"topic" dc:"Topic"`
OwnerUserId int64 `json:"ownerUserId" dc:"群主ID"`
OwnerUserId int64 `json:"ownerUserId,string" dc:"群主ID"`
Name string `json:"name" dc:"群名称"`
AvatarFileId string `json:"avatarFileId" dc:"头像文件ID"`
Description string `json:"description" dc:"简介"`
@@ -157,8 +157,8 @@ type ImGroupGovernanceModel struct {
MaxAdminCount int `json:"maxAdminCount" dc:"最大管理员数"`
MemberCount int `json:"memberCount" dc:"成员数"`
Version int `json:"version" dc:"版本"`
CreatedBy int64 `json:"createdBy" dc:"创建人"`
DissolvedBy int64 `json:"dissolvedBy" dc:"解散人"`
CreatedBy int64 `json:"createdBy,string" dc:"创建人"`
DissolvedBy int64 `json:"dissolvedBy,string" dc:"解散人"`
DissolvedAt *gtime.Time `json:"dissolvedAt" dc:"解散时间"`
CreatedAt *gtime.Time `json:"createdAt" dc:"创建时间"`
UpdatedAt *gtime.Time `json:"updatedAt" dc:"修改时间"`
@@ -338,13 +338,13 @@ type ImGroupJoinRequestListModel struct {
Id int64 `json:"id" dc:"ID"`
RequestId string `json:"requestId" dc:"申请ID"`
Topic string `json:"topic" dc:"Topic"`
ApplicantUserId int64 `json:"applicantUserId" dc:"申请人ID"`
InviterUserId int64 `json:"inviterUserId" dc:"邀请人ID"`
ApplicantUserId int64 `json:"applicantUserId,string" dc:"申请人ID"`
InviterUserId int64 `json:"inviterUserId,string" dc:"邀请人ID"`
Source string `json:"source" dc:"来源"`
Message string `json:"message" dc:"申请消息"`
Status string `json:"status" dc:"状态"`
RejectReason string `json:"rejectReason" dc:"拒绝原因"`
HandledBy int64 `json:"handledBy" dc:"处理人"`
HandledBy int64 `json:"handledBy,string" dc:"处理人"`
HandledAt *gtime.Time `json:"handledAt" dc:"处理时间"`
ExpiresAt *gtime.Time `json:"expiresAt" dc:"过期时间"`
Version int `json:"version" dc:"版本"`
@@ -368,13 +368,13 @@ type ImGroupFileListModel struct {
FileId string `json:"fileId" dc:"文件ID"`
SourceTopic string `json:"sourceTopic" dc:"来源Topic"`
SourceSeq int `json:"sourceSeq" dc:"来源消息序号"`
UploaderId int64 `json:"uploaderId" dc:"上传人ID"`
UploaderId int64 `json:"uploaderId,string" dc:"上传人ID"`
FileName string `json:"fileName" dc:"文件名"`
MimeType string `json:"mimeType" dc:"MIME类型"`
FileType string `json:"fileType" dc:"文件类型"`
FileSize int64 `json:"fileSize" dc:"文件大小"`
Status string `json:"status" dc:"状态"`
DeletedBy int64 `json:"deletedBy" dc:"删除人"`
DeletedBy int64 `json:"deletedBy,string" dc:"删除人"`
DeletedAt *gtime.Time `json:"deletedAt" dc:"删除时间"`
CreatedAt *gtime.Time `json:"createdAt" dc:"创建时间"`
UpdatedAt *gtime.Time `json:"updatedAt" dc:"修改时间"`
@@ -407,8 +407,8 @@ type ImGroupInvitationListModel struct {
Id int64 `json:"id" dc:"ID"`
InvitationId string `json:"invitationId" dc:"邀请ID"`
Topic string `json:"topic" dc:"Topic"`
InviterUserId int64 `json:"inviterUserId" dc:"邀请人ID"`
TargetUserId int64 `json:"targetUserId" dc:"目标用户ID"`
InviterUserId int64 `json:"inviterUserId,string" dc:"邀请人ID"`
TargetUserId int64 `json:"targetUserId,string" dc:"目标用户ID"`
Message string `json:"message" dc:"邀请消息"`
Status string `json:"status" dc:"状态"`
Result string `json:"result" dc:"结果"`
@@ -429,12 +429,12 @@ type ImGroupAnnouncementListModel struct {
Id int64 `json:"id" dc:"ID"`
AnnouncementId string `json:"announcementId" dc:"公告ID"`
Topic string `json:"topic" dc:"Topic"`
AuthorUserId int64 `json:"authorUserId" dc:"发布人ID"`
AuthorUserId int64 `json:"authorUserId,string" dc:"发布人ID"`
Content string `json:"content" dc:"内容"`
Status string `json:"status" dc:"状态"`
Version int `json:"version" dc:"版本"`
PublishedAt *gtime.Time `json:"publishedAt" dc:"发布时间"`
DeletedBy int64 `json:"deletedBy" dc:"删除人"`
DeletedBy int64 `json:"deletedBy,string" dc:"删除人"`
DeletedAt *gtime.Time `json:"deletedAt" dc:"删除时间"`
CreatedAt *gtime.Time `json:"createdAt" dc:"创建时间"`
UpdatedAt *gtime.Time `json:"updatedAt" dc:"修改时间"`
@@ -449,13 +449,13 @@ type ImGroupMuteListInp struct {
type ImGroupMuteListModel struct {
Topic string `json:"topic" dc:"Topic"`
UserId int64 `json:"userId" dc:"用户ID"`
MutedBy int64 `json:"mutedBy" dc:"禁言人"`
UserId int64 `json:"userId,string" dc:"用户ID"`
MutedBy int64 `json:"mutedBy,string" dc:"禁言人"`
MutedAt *gtime.Time `json:"mutedAt" dc:"禁言时间"`
ExpiresAt *gtime.Time `json:"expiresAt" dc:"过期时间"`
Reason string `json:"reason" dc:"原因"`
Status string `json:"status" dc:"状态"`
RevokedBy int64 `json:"revokedBy" dc:"解除人"`
RevokedBy int64 `json:"revokedBy,string" dc:"解除人"`
RevokedAt *gtime.Time `json:"revokedAt" dc:"解除时间"`
Version int `json:"version" dc:"版本"`
CreatedAt *gtime.Time `json:"createdAt" dc:"创建时间"`
@@ -473,8 +473,8 @@ type ImGroupAdminLogListModel struct {
Id int64 `json:"id" dc:"ID"`
LogId string `json:"logId" dc:"日志ID"`
Topic string `json:"topic" dc:"Topic"`
OperatorId int64 `json:"operatorId" dc:"操作人"`
TargetUserId int64 `json:"targetUserId" dc:"目标用户"`
OperatorId int64 `json:"operatorId,string" dc:"操作人"`
TargetUserId int64 `json:"targetUserId,string" dc:"目标用户"`
Action string `json:"action" dc:"动作"`
ObjectType string `json:"objectType" dc:"对象类型"`
ObjectId string `json:"objectId" dc:"对象ID"`