RawSql.go 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140
  1. package RawSql
  2. import (
  3. "Cold_Api/conf"
  4. "Cold_Api/controllers/lib"
  5. "github.com/beego/beego/v2/adapter/orm"
  6. "github.com/beego/beego/v2/core/logs"
  7. _ "github.com/go-sql-driver/mysql"
  8. "time"
  9. )
  10. // 模板
  11. type RawSql struct {
  12. Id int `orm:"column(ID);size(11);auto;pk"`
  13. T_id string `orm:"size(10);null"` // 订单唯一ID
  14. T_name string `orm:"size(256);null"` // 设备名称
  15. T_text string `orm:"type(text);null"` // 详情
  16. CreateTime time.Time `orm:"column(create_time);type(timestamp);null;auto_now_add"` //auto_now_add 第一次保存时才设置时间
  17. }
  18. type RawSqlR struct {
  19. T_id string // ID
  20. T_name string // SQL 名称
  21. T_text string // 详情
  22. }
  23. func (t *RawSql) TableName() string {
  24. return "raw_sql" // 数据库名称 // ************** 替换 FormulaList **************
  25. }
  26. func init() {
  27. //注册模型
  28. orm.RegisterModel(new(RawSql))
  29. }
  30. // ---------------- 特殊方法 -------------------
  31. func RawSqlToRawSqlR(t RawSql) (r RawSqlR) {
  32. r.T_id = t.T_id
  33. r.T_name = t.T_name
  34. r.T_text = t.T_text
  35. return
  36. }
  37. // 获取 ById
  38. func Read_RawSql_ById(id int) (r RawSql) {
  39. o := orm.NewOrm()
  40. r = RawSql{Id: id}
  41. err := o.Read(&r) // o.Read(&r,"Tokey") 如果不是 主键 就得指定字段名
  42. if err != nil {
  43. logs.Error(lib.FuncName(), err)
  44. }
  45. return r
  46. }
  47. // 获取 ById
  48. func Read_RawSql_ByT_id(T_id string) (r RawSql) {
  49. o := orm.NewOrm()
  50. r = RawSql{T_id: T_id}
  51. err := o.Read(&r, "T_id") // o.Read(&r,"Tokey") 如果不是 主键 就得指定字段名
  52. if err != nil {
  53. logs.Error(lib.FuncName(), err)
  54. }
  55. return r
  56. }
  57. // 添加
  58. func Add_RawSql(m RawSql) (id int64, err error) {
  59. o := orm.NewOrm()
  60. T_id := ""
  61. var rand_x int64
  62. for true {
  63. var rx RawSql
  64. rx.T_id = lib.GetRandstring(5, "", rand_x)
  65. err = o.Read(&rx, "T_id") // o.Read(&r,"Tokey") 如果不是 主键 就得指定字段名
  66. if err != nil {
  67. T_id = rx.T_id
  68. break
  69. }
  70. rand_x++
  71. }
  72. m.T_id = T_id
  73. id, err = o.Insert(&m)
  74. if err != nil {
  75. logs.Error(lib.FuncName(), err)
  76. }
  77. return id, err
  78. }
  79. // 修改
  80. func Update_TRawSql(r RawSql, cols ...string) bool {
  81. o := orm.NewOrm()
  82. num, err := o.Update(&r, cols...)
  83. if err != nil {
  84. logs.Error(lib.FuncName(), err)
  85. return false
  86. }
  87. logs.Info("Number of records updated in database:", num)
  88. return true
  89. }
  90. // 删除
  91. func Delete_RawSql(m RawSql) (err error) {
  92. o := orm.NewOrm()
  93. _, err = o.Delete(&m)
  94. if err != nil {
  95. logs.Error(lib.FuncName(), err)
  96. }
  97. return
  98. }
  99. // 获取列表
  100. func Read_RawSql_List(page int, page_z int) (t []RawSql, cnt int64) {
  101. o := orm.NewOrm()
  102. // 也可以直接使用 Model 结构体作为表名
  103. qs := o.QueryTable(new(RawSql))
  104. var offset int64
  105. if page_z == 0 {
  106. page_z = conf.Page_size
  107. }
  108. if page <= 1 {
  109. offset = 0
  110. } else {
  111. offset = int64((page - 1) * page_z)
  112. }
  113. _, err := qs.Limit(page_z, offset).OrderBy("Id").All(&t)
  114. if err != nil {
  115. logs.Error(lib.FuncName(), err)
  116. return
  117. }
  118. cnt, err = qs.Count()
  119. if err != nil {
  120. logs.Error(lib.FuncName(), err)
  121. return
  122. }
  123. return t, cnt
  124. }