RawSql.go 3.1 KB

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