SqlLogs.go 2.1 KB

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