UserLogs.go 2.8 KB

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