// 自动生成模板SysOperationRecord package dao import ( "time" "server/global" ) // 如果含有time.Time 请自行import time包 type SysOperationRecord struct { global.GVA_MODEL Ip string `json:"ip" form:"ip" gorm:"column:ip;comment:请求ip"` // 请求ip Method string `json:"method" form:"method" gorm:"column:method;comment:请求方法"` // 请求方法 Path string `json:"path" form:"path" gorm:"column:path;comment:请求路径"` // 请求路径 Status int `json:"status" form:"status" gorm:"column:status;comment:请求状态"` // 请求状态 Latency time.Duration `json:"latency" form:"latency" gorm:"column:latency;comment:延迟" swaggertype:"string"` // 延迟 Agent string `json:"agent" form:"agent" gorm:"type:text;column:agent;comment:代理"` // 代理 ErrorMessage string `json:"error_message" form:"error_message" gorm:"column:error_message;comment:错误信息"` // 错误信息 Body string `json:"body" form:"body" gorm:"type:text;column:body;comment:请求Body"` // 请求Body Resp string `json:"resp" form:"resp" gorm:"type:text;column:resp;comment:响应Body"` // 响应Body UserID int `json:"user_id" form:"user_id" gorm:"column:user_id;comment:用户id"` // 用户id User SysUser `json:"user"` } // TODO:操作查询 // GetSysOperationRecord 根据id获取单条操作记录 func GetSysOperationRecord(id uint) (sysOperationRecord SysOperationRecord, err error) { err = global.GVA_DB.Where("id = ?", id).First(&sysOperationRecord).Error return } // GetSysOperationRecordInfoList 分页获取操作记录列表 func (sor SysOperationRecord) GetSysOperationRecordInfoList(limit, offset int) (sysOperationRecords []SysOperationRecord, total int64, err error) { // 创建db db := global.GVA_DB.Model(&SysOperationRecord{}) // 如果有条件搜索 下方会自动创建搜索语句 if sor.Method != "" { db = db.Where("method = ?", sor.Method) } if sor.Path != "" { db = db.Where("path LIKE ?", "%"+sor.Path+"%") } if sor.Status != 0 { db = db.Where("status = ?", sor.Status) } err = db.Count(&total).Error if err != nil { return } err = db.Order("id desc").Limit(limit).Offset(offset).Preload("User").Find(&sysOperationRecords).Error return sysOperationRecords, total, err } // TODO:操作新增 func (sor SysOperationRecord) CreateSysOperationRecord() error { return global.GVA_DB.Create(&sor).Error } // TODO:操作修改 // TODO:操作删除 // DeleteSysOperationRecordByIds 删除操作记录按id func DeleteSysOperationRecordByIds(ids []int) (err error) { err = global.GVA_DB.Delete(&[]SysOperationRecord{}, "id in (?)", ids).Error return err } // DeleteSysOperationRecord 删除操作记录 func (sor SysOperationRecord) DeleteSysOperationRecord() (err error) { err = global.GVA_DB.Delete(&sor).Error return err }