package RawSql import ( "Cold_Api/conf" "Cold_Api/controllers/lib" "github.com/beego/beego/v2/adapter/orm" "github.com/beego/beego/v2/core/logs" _ "github.com/go-sql-driver/mysql" "time" ) // 模板 type RawSql struct { Id int `orm:"column(ID);size(11);auto;pk"` T_id string `orm:"size(10);null"` // 订单唯一ID T_name string `orm:"size(256);null"` // 设备名称 T_text string `orm:"type(text);null"` // 详情 CreateTime time.Time `orm:"column(create_time);type(timestamp);null;auto_now_add"` //auto_now_add 第一次保存时才设置时间 } type RawSqlR struct { T_id string // ID T_name string // SQL 名称 T_text string // 详情 } func (t *RawSql) TableName() string { return "raw_sql" // 数据库名称 // ************** 替换 FormulaList ************** } func init() { //注册模型 orm.RegisterModel(new(RawSql)) } // ---------------- 特殊方法 ------------------- func RawSqlToRawSqlR(t RawSql) (r RawSqlR) { r.T_id = t.T_id r.T_name = t.T_name r.T_text = t.T_text return } // 获取 ById func Read_RawSql_ById(id int) (r RawSql) { o := orm.NewOrm() r = RawSql{Id: id} err := o.Read(&r) // o.Read(&r,"Tokey") 如果不是 主键 就得指定字段名 if err != nil { logs.Error(lib.FuncName(), err) } return r } // 获取 ById func Read_RawSql_ByT_id(T_id string) (r RawSql) { o := orm.NewOrm() r = RawSql{T_id: T_id} err := o.Read(&r, "T_id") // o.Read(&r,"Tokey") 如果不是 主键 就得指定字段名 if err != nil { logs.Error(lib.FuncName(), err) } return r } // 添加 func Add_RawSql(m RawSql) (id int64, err error) { o := orm.NewOrm() T_id := "" var rand_x int64 for true { var rx RawSql rx.T_id = lib.GetRandstring(5, "", rand_x) err = o.Read(&rx, "T_id") // o.Read(&r,"Tokey") 如果不是 主键 就得指定字段名 if err != nil { T_id = rx.T_id break } rand_x++ } m.T_id = T_id id, err = o.Insert(&m) if err != nil { logs.Error(lib.FuncName(), err) } return id, err } // 修改 func Update_TRawSql(r RawSql, cols ...string) bool { o := orm.NewOrm() num, err := o.Update(&r, cols...) if err != nil { logs.Error(lib.FuncName(), err) return false } logs.Info("Number of records updated in database:", num) return true } // 删除 func Delete_RawSql(m RawSql) (err error) { o := orm.NewOrm() _, err = o.Delete(&m) if err != nil { logs.Error(lib.FuncName(), err) } return } // 获取列表 func Read_RawSql_List(page int, page_z int) (t []RawSql, cnt int64) { o := orm.NewOrm() // 也可以直接使用 Model 结构体作为表名 qs := o.QueryTable(new(RawSql)) var offset int64 if page_z == 0 { page_z = conf.Page_size } if page <= 1 { offset = 0 } else { offset = int64((page - 1) * page_z) } _, err := qs.Limit(page_z, offset).OrderBy("Id").All(&t) if err != nil { logs.Error(lib.FuncName(), err) return } cnt, err = qs.Count() if err != nil { logs.Error(lib.FuncName(), err) return } return t, cnt }