// 数据操作底层模型 // 秒寻科技 // zt 2024-01-04 package mysqlmodel import ( "time" ) // BaseModel 数据库模型的基础结构体(用于返回响应数据时的简单模型) type BaseModel struct { ID int `json:"id"` //记录ID OwnerID int `json:"owner_id,omitempty"` } // BaseModelDB 数据库模型的基础结构体 type BaseModelDB struct { CompanyID int `json:"company_id" gorm:"size:32;index"` //公司ID ProjectID int `json:"project_id" gorm:"default:0"` //项目ID(项目编号由由后台维护,前端可读不可写) ID int `json:"id" gorm:"primary_key"` //记录的ID CreatedAt time.Time `json:"created_at,omitempty"` //记录的创建时间 UpdatedAt time.Time `json:"updated_at"` //记录的更新时间 Status uint8 `json:"status" gorm:"default:1"` //记录的状态 IsActive uint8 `json:"is_active" gorm:"default:1"` //是否是有效记录,0:无效数据(已删除的数据标记为无效数据) 1:有效数据 OwnerID int `json:"owner_id"` //记录的所属者 SourceID int8 `json:"source_id" gorm:"-"` //数据来源,1:管理端,2:移动端,3:GUI网管 } // query参数 type QueryParam struct { Key string `json:"key"` Opt string `json:"opt"` Data interface{} `json:"data"` } // 查询参数 type ListParam struct { CompanyID int `json:"company_id"` //公司ID ProjectID int `json:"project_id"` //项目ID(项目编号由由后台维护,前端可读不可写) OwnerID int `json:"user_id"` //用户ID Search map[string]interface{} `json:"search"` Query []QueryParam `json:"query"` OrderBy string `json:"order_by"` //排序 } // 查询分页参数 type PageListParam struct { CompanyID int `json:"company_id" form:"company_id"` //公司ID //ProjectID string `json:"project_id"` //项目ID(项目编号由由后台维护,前端可读不可写) ProjectID int `json:"project_id"` //项目ID(项目编号由由后台维护,前端可读不可写) OwnerID int `json:"user_id" form:"user_id"` //用户ID PageNum int `json:"page_num" form:"page_num"` //页码 PageSize int `json:"page_size" form:"page_size"` //每页记录数 Search map[string]interface{} `json:"search" form:"search"` Query []QueryParam `json:"query" form:"query"` OrderBy string `json:"order_by" form:"order_by"` //获得分页数据时的SQL排序字段,默认为id } // PageListData 分页列表数据结构 type PageListData struct { PageNum int `json:"page_num"` //分页数据的页码 PageSize int `json:"page_size"` //每页的记录条数 TotalCount int `json:"total_count"` //数据总条数 Items interface{} `json:"items"` //当前页的列表数据 }