// Package sysin // @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 sysin import ( "context" "hotgo/internal/model/input/form" "github.com/gogf/gf/v2/errors/gerror" "github.com/gogf/gf/v2/os/gtime" ) // ImAuditLogListInp 获取IM审计日志列表 type ImAuditLogListInp struct { form.PageReq TenantId int64 `json:"tenantId" dc:"租户ID"` ActorUid int64 `json:"actorUid" dc:"操作人UID"` ActorRole string `json:"actorRole" dc:"操作角色"` Action string `json:"action" dc:"操作类型"` TargetType string `json:"targetType" dc:"目标类型"` TargetId string `json:"targetId" dc:"目标ID"` RequestId string `json:"requestId" dc:"请求ID"` Ip string `json:"ip" dc:"IP"` Keyword string `json:"keyword" dc:"关键词"` CreatedAt []*gtime.Time `json:"createdAt" dc:"创建时间"` } func (in *ImAuditLogListInp) Filter(ctx context.Context) (err error) { return } type ImAuditLogListModel struct { TenantId int64 `json:"tenantId" dc:"租户ID"` TenantName string `json:"tenantName" dc:"租户名称"` Id int64 `json:"id" dc:"ID"` ActorUid int64 `json:"actorUid" dc:"操作人UID"` ActorRole string `json:"actorRole" dc:"操作角色"` Action string `json:"action" dc:"操作类型"` TargetType string `json:"targetType" dc:"目标类型"` TargetId string `json:"targetId" dc:"目标ID"` Reason string `json:"reason" dc:"操作原因"` RequestId string `json:"requestId" dc:"请求ID"` Ip string `json:"ip" dc:"IP"` UserAgent string `json:"userAgent" dc:"客户端"` BeforeSnapshot string `json:"beforeSnapshot" dc:"变更前快照"` AfterSnapshot string `json:"afterSnapshot" dc:"变更后快照"` Metadata string `json:"metadata" dc:"元数据"` CreatedAt *gtime.Time `json:"createdAt" dc:"创建时间"` } // ImAuditLogViewInp 获取指定IM审计日志信息 type ImAuditLogViewInp struct { TenantId int64 `json:"tenantId" v:"required#租户ID不能为空" dc:"租户ID"` Id int64 `json:"id" v:"required#ID不能为空" dc:"ID"` } func (in *ImAuditLogViewInp) Filter(ctx context.Context) (err error) { if in.Id <= 0 { return gerror.New("ID不能为空") } return } type ImAuditLogViewModel struct { ImAuditLogListModel } type ImAuditLogExportModel struct { Id int64 `json:"id" dc:"ID"` TenantName string `json:"tenantName" dc:"租户名称"` ActorUid int64 `json:"actorUid" dc:"操作人UID"` ActorRole string `json:"actorRole" dc:"操作角色"` Action string `json:"action" dc:"操作类型"` TargetType string `json:"targetType" dc:"目标类型"` TargetId string `json:"targetId" dc:"目标ID"` Reason string `json:"reason" dc:"操作原因"` RequestId string `json:"requestId" dc:"请求ID"` Ip string `json:"ip" dc:"IP"` UserAgent string `json:"userAgent" dc:"客户端"` CreatedAt *gtime.Time `json:"createdAt" dc:"创建时间"` }