SqlLogs.go 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. package RawSql
  2. import (
  3. "Cold_Api/conf"
  4. "Cold_Api/logs"
  5. "github.com/beego/beego/v2/adapter/orm"
  6. orm2 "github.com/beego/beego/v2/client/orm"
  7. "time"
  8. )
  9. type SqlLogs struct {
  10. Id int `orm:"column(ID);size(11);auto;pk"`
  11. Logs_uuid string `orm:"size(256);null"` //
  12. Logs_class string `orm:"size(256);null"` //
  13. Logs_Txt string `orm:"type(text);null"` // 详情
  14. CreateTime time.Time `orm:"column(create_time);type(timestamp);null;auto_now_add"` //auto_now 每次 model 保存时都会对时间自动更新
  15. UpdateTime time.Time `orm:"column(update_time);type(timestamp);null;auto_now"` //auto_now_add 第一次保存时才设置时间
  16. }
  17. func (t *SqlLogs) TableName() string {
  18. return "sql_logs" // 数据库名称 // ************** 替换 FormulaList **************
  19. }
  20. func init() {
  21. //注册模型
  22. orm.RegisterModel(new(SqlLogs))
  23. }
  24. // 添加 System.Add_SqlLogs("MqttServer","参数请求 [Rt_Parameter]","base")
  25. func Add_SqlLogs(Logs_uuid string, Logs_class string, Logs_Txt string) {
  26. o := orm.NewOrm()
  27. m := SqlLogs{Logs_uuid: Logs_uuid, Logs_class: Logs_class, Logs_Txt: Logs_Txt}
  28. _, err := o.Insert(&m)
  29. if err != nil {
  30. logs.Error("Add_SqlLogs", err)
  31. }
  32. }
  33. // 获取列表
  34. func Read_SqlLogs_ALL(page int, Logs_class string) (r []SqlLogs, cnt int64) {
  35. o := orm.NewOrm()
  36. // 也可以直接使用 Model 结构体作为表名
  37. qs := o.QueryTable(new(SqlLogs))
  38. var offset int64
  39. if page <= 1 {
  40. offset = 0
  41. } else {
  42. offset = int64((page - 1) * conf.Page_size)
  43. }
  44. _, err := qs.Limit(conf.Page_size, offset).Filter("Logs_class__icontains", Logs_class).OrderBy("-Id").All(&r)
  45. if err != nil {
  46. logs.Error("Read_SqlLogs_ALL", err)
  47. return
  48. }
  49. cnt, err = qs.Filter("Logs_class__icontains", Logs_class).Count()
  50. if err != nil {
  51. logs.Error("Read_SqlLogs_ALL Count", err)
  52. return
  53. }
  54. return r, cnt
  55. }
  56. // 获取列表
  57. func Read_SqlLogs_Class() (lists orm2.ParamsList) {
  58. o := orm.NewOrm()
  59. var pl_lists orm2.ParamsList
  60. _, err := o.Raw("SELECT DISTINCT logs_class FROM SqlLogs LIMIT 0,1000").ValuesFlat(&pl_lists)
  61. if err != nil {
  62. logs.Error("Read_SqlLogs_Class", err)
  63. return
  64. }
  65. return pl_lists
  66. }