mongo开发工具类增加增删改操作日志写入redis消息逻辑

This commit is contained in:
2025-12-30 18:18:56 +08:00
parent 5ded2b08a2
commit 8c4918e4ed
6 changed files with 106 additions and 138 deletions

View File

@@ -20,37 +20,27 @@ type GetLogResp struct {
// OperationLogInfo 操作日志信息
type OperationLogInfo struct {
ID string `json:"id" dc:"日志ID"`
Module string `json:"module" dc:"模块名"`
Service string `json:"service" dc:"服务名"`
Operation string `json:"operation" dc:"操作类型"`
Resource string `json:"resource" dc:"资源类型"`
ResourceID string `json:"resource_id" dc:"资源ID"`
UserID interface{} `json:"user_id" dc:"操作人ID"`
UserName string `json:"user_name" dc:"操作人名称"`
IPAddress string `json:"ip_address" dc:"操作IP地址"`
UserAgent string `json:"user_agent" dc:"用户代理"`
Description string `json:"description" dc:"操作描述"`
BeforeData map[string]interface{} `json:"before_data" dc:"操作前的数据"`
AfterData map[string]interface{} `json:"after_data" dc:"操作后的数据"`
ExtraData map[string]interface{} `json:"extra_data" dc:"额外数据"`
CreatedAt string `json:"created_at" dc:"创建时间"`
UpdatedAt string `json:"updated_at" dc:"更新时间"`
ID string `json:"id" dc:"日志ID"`
ServiceName string `json:"service_name" dc:"服务名"`
Collection string `json:"collection" dc:"数据所在集合名称"`
CollectionID string `json:"collection_id" dc:"数据ID"`
Operation string `json:"operation" dc:"操作类型"`
UserName string `json:"user_name" dc:"操作人名称"`
IPAddress string `json:"ip_address" dc:"操作IP地址"`
Data map[string]interface{} `json:"data" dc:"当前数据"`
}
// ListLogsReq 查询操作日志列表请求(通用方法,支持根据不同条件动态查询)
type ListLogsReq struct {
g.Meta `path:"/listLogs" method:"get" tags:"操作日志" summary:"查询操作日志列表" dc:"根据多个条件查询操作日志列表"`
beans.Page
Module string `json:"module" dc:"模块名(可选)"`
Service string `json:"service" dc:"服务名(可选)"`
Operation string `json:"operation" dc:"操作类型(可选)"`
Resource string `json:"resource" dc:"资源类型(可选)"`
ResourceID string `json:"resource_id" dc:"资源ID(可选)"`
UserID string `json:"user_id" dc:"用户ID(可选)"`
StartTime string `json:"start_time" dc:"开始时间(可选)"`
EndTime string `json:"end_time" dc:"结束时间(可选)"`
SortFields string `json:"sort_fields" dc:"排序字段,多个用逗号分隔,如:-createdAt,module可选"`
ServiceName string `json:"service_name" dc:"服务名(可选)"`
Collection string `json:"collection" dc:"数据所在集合名称(可选)"`
CollectionID string `json:"collection_id" dc:"数据ID(可选)"`
Operation string `json:"operation" dc:"操作类型(可选)"`
StartTime string `json:"start_time" dc:"开始时间(可选)"`
EndTime string `json:"end_time" dc:"结束时间(可选)"`
SortFields string `json:"sort_fields" dc:"排序字段,多个用逗号分隔,如:-createdAt"`
}
// ListLogsResp 查询操作日志列表响应
@@ -63,34 +53,7 @@ type ListLogsResp struct {
// RecordCreateLogReq 记录创建操作日志请求
type RecordCreateLogReq struct {
g.Meta `path:"/recordCreateLog" method:"post" tags:"操作日志" summary:"记录创建操作日志" dc:"记录数据创建操作的行为日志"`
Module string `json:"module" v:"required" dc:"模块名"`
Service string `json:"service" v:"required" dc:"服务名"`
Resource string `json:"resource" v:"required" dc:"资源类型"`
ResourceID string `json:"resource_id" v:"required" dc:"资源ID"`
Description string `json:"description" dc:"操作描述"`
AfterData map[string]interface{} `json:"after_data" dc:"操作后的数据"`
}
// RecordUpdateLogReq 记录更新操作日志请求
type RecordUpdateLogReq struct {
g.Meta `path:"/recordUpdateLog" method:"post" tags:"操作日志" summary:"记录更新操作日志" dc:"记录数据更新操作的行为日志"`
Module string `json:"module" v:"required" dc:"模块名"`
Service string `json:"service" v:"required" dc:"服务名"`
Resource string `json:"resource" v:"required" dc:"资源类型"`
ResourceID string `json:"resource_id" v:"required" dc:"资源ID"`
Description string `json:"description" dc:"操作描述"`
BeforeData map[string]interface{} `json:"before_data" dc:"操作前的数据"`
AfterData map[string]interface{} `json:"after_data" dc:"操作后的数据"`
}
// RecordDeleteLogReq 记录删除操作日志请求
type RecordDeleteLogReq struct {
g.Meta `path:"/recordDeleteLog" method:"post" tags:"操作日志" summary:"记录删除操作日志" dc:"记录数据删除操作的行为日志"`
Module string `json:"module" v:"required" dc:"模块名"`
Service string `json:"service" v:"required" dc:"服务名"`
Resource string `json:"resource" v:"required" dc:"资源类型"`
ResourceID string `json:"resource_id" v:"required" dc:"资源ID"`
Description string `json:"description" dc:"操作描述"`
BeforeData map[string]interface{} `json:"before_data" dc:"操作前的数据"`
ServiceName string `json:"service_name" v:"required" dc:"服务名"`
Collection string `json:"collection" v:"required" dc:"数据所在集合名称"`
Data []interface{} `json:"data" dc:"当前数据"`
}

View File

@@ -8,17 +8,11 @@ import (
type OperationLog struct {
do.MongoBaseDO `bson:",inline"`
Module string `bson:"module" json:"module"` // 模块名:如 order, wallet, market 等
Service string `bson:"service" json:"service"` // 服务名:具体的微服务名称
Operation string `bson:"operation" json:"operation"` // 操作类型create, update, delete
Resource string `bson:"resource" json:"resource"` // 资源类型:如 order, wallet, product 等
ResourceID string `bson:"resource_id" json:"resource_id"` // 资源ID具体操作的数据ID如订单号、钱包ID等
UserID interface{} `bson:"user_id" json:"user_id"` // 操作人ID
UserName string `bson:"user_name" json:"user_name"` // 操作人名称
IPAddress string `bson:"ip_address" json:"ip_address"` // 操作IP地址
UserAgent string `bson:"user_agent" json:"user_agent"` // 用户代理
Description string `bson:"description" json:"description"` // 操作描述
BeforeData map[string]interface{} `bson:"before_data,omitempty" json:"before_data"` // 操作前的数据用于update/delete
AfterData map[string]interface{} `bson:"after_data,omitempty" json:"after_data"` // 操作后的数据用于create/update
ExtraData map[string]interface{} `bson:"extra_data,omitempty" json:"extra_data"` // 额外数据
ServiceName string `bson:"service_name" json:"service_name"` // 服务名:具体的微服务名称
Collection string `bson:"collection" json:"collection"` // 集合名:数据所在的集合名称
CollectionID string `bson:"collection_id" json:"collection_id"` // 数据ID具体操作的数据ID如订单号、钱包ID等
Operation string `bson:"operation" json:"operation"` // 操作类型:create, update, delete
UserName string `bson:"user_name" json:"user_name"` // 操作人名称
IPAddress string `bson:"ip_address" json:"ip_address"` // 操作IP地址
Data map[string]interface{} `bson:"data,omitempty" json:"data"` // 当前数据:操作时的数据状态
}