package forms import ( "errors" "time" ) type AdminLogListReq struct { ListReq AdminId int64 `json:"admin_id" form:"admin_id"` Path string `json:"path" form:"path"` Ip string `json:"ip" form:"ip"` Method string `json:"method" form:"method"` CreatedAt []int64 `json:"created_at" form:"created_at[]"` Time []time.Time } func (req *AdminLogListReq) Check() error { if req.CreatedAt != nil && len(req.CreatedAt) != 2 { return errors.New("生成时间必须选择一个区间或者留空") } if len(req.CreatedAt) == 2 { if req.CreatedAt[0] > req.CreatedAt[1] { return errors.New("生成时间选择的区间值不合理") } // 默认是毫秒 req.Time = append(req.Time, time.Unix(req.CreatedAt[0]/1000, 0)) req.Time = append(req.Time, time.Unix(req.CreatedAt[1]/1000, 0)) } return nil } type AdminLogListModel struct { ID int64 `gorm:"column:id;primaryKey;autoIncrement:true" json:"id"` Environment string `gorm:"column:environment;not null" json:"environment"` // 所在环境 AdminID int64 `gorm:"column:admin_id" json:"admin_id"` // 管理员ID AdminName string ` json:"adminName"` AppID string `gorm:"column:app_id" json:"app_id"` // 所属应用 UserAgent string `gorm:"column:user_agent;not null" json:"user_agent"` // 访问代理 Method string `gorm:"column:method;not null" json:"method"` // 请求方式 URL string `gorm:"column:url;not null" json:"url"` // 访问地址 Host string `gorm:"column:host;not null" json:"host"` // 服务域 Path string `gorm:"column:path;not null" json:"path"` // 访问路径 GetData string `gorm:"column:get_data" json:"get_data"` PostData string `gorm:"column:post_data" json:"post_data"` HeaderData string `gorm:"column:header_data" json:"header_data"` AccessIP string `gorm:"column:access_ip;not null" json:"access_ip"` // 访问IP StatusCode int32 `gorm:"column:status_code;not null" json:"status_code"` // 响应状态码 ErrorMessage string `gorm:"column:error_message" json:"error_message"` // 错误消息 //Data string `gorm:"column:data;not null" json:"data"` // 响应数据 Latency int32 `gorm:"column:latency" json:"latency"` // 耗时 Timestamp time.Time `gorm:"column:timestamp;not null" json:"timestamp"` // 请求时间 CreatedAt time.Time `gorm:"column:created_at;not null" json:"created_at"` // 创建时间 Remark string `gorm:"column:remark;not null" json:"remark"` } type AdminLogViewReq struct { Id int64 `json:"id" form:"id"` } func (req *AdminLogViewReq) Check() error { if req.Id <= 0 { return errors.New("记录ID不能为空") } return nil } type AdminLogViewModel struct { ID int64 `gorm:"column:id;primaryKey;autoIncrement:true" json:"id"` Environment string `gorm:"column:environment;not null" json:"environment"` // 所在环境 AdminID int64 `gorm:"column:admin_id" json:"admin_id"` // 管理员ID AdminName string ` json:"adminName"` AppID string `gorm:"column:app_id" json:"app_id"` // 所属应用 UserAgent string `gorm:"column:user_agent;not null" json:"user_agent"` // 访问代理 Method string `gorm:"column:method;not null" json:"method"` // 请求方式 URL string `gorm:"column:url;not null" json:"url"` // 访问地址 Host string `gorm:"column:host;not null" json:"host"` // 服务域 Path string `gorm:"column:path;not null" json:"path"` // 访问路径 GetData string `gorm:"column:get_data" json:"get_data"` PostData string `gorm:"column:post_data" json:"post_data"` HeaderData string `gorm:"column:header_data" json:"header_data"` AccessIP string `gorm:"column:access_ip;not null" json:"access_ip"` // 访问IP StatusCode int32 `gorm:"column:status_code;not null" json:"status_code"` // 响应状态码 ErrorMessage string `gorm:"column:error_message" json:"error_message"` // 错误消息 Data string `gorm:"column:data;not null" json:"data"` // 响应数据 Latency int32 `gorm:"column:latency" json:"latency"` // 耗时 Timestamp time.Time `gorm:"column:timestamp;not null" json:"timestamp"` // 请求时间 CreatedAt time.Time `gorm:"column:created_at;not null" json:"created_at"` // 创建时间 Remark string `gorm:"column:remark;not null" json:"remark"` }