Template.go 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165
  1. package Template
  2. import (
  3. "Cold_Api/conf"
  4. "fmt"
  5. "github.com/beego/beego/v2/adapter/orm"
  6. _ "github.com/go-sql-driver/mysql"
  7. "time"
  8. )
  9. // 模板
  10. type Template struct {
  11. Id int `orm:"column(ID);size(11);auto;pk"`
  12. T_name string `orm:"size(256);null"` // 标题
  13. T_class int `orm:"size(200);null"` // 分类
  14. T_img string `orm:"size(256);null"` // 图片
  15. T_int int `orm:"size(200);null"` // 数量
  16. T_text string `orm:"type(text);null"` // 详情
  17. T_Visit int `orm:"size(200);1"` // 浏览量
  18. T_State int `orm:"size(2);1"` // 0 删除 1 正常
  19. CreateTime time.Time `orm:"column(create_time);type(timestamp);null;auto_now_add"` //auto_now_add 第一次保存时才设置时间
  20. UpdateTime time.Time `orm:"column(update_time);type(timestamp);null;auto_now"` //auto_now 每次 model 保存时都会对时间自动更新
  21. }
  22. func (t *Template) TableName() string {
  23. return "Template" // 数据库名称 // ************** 替换 FormulaList **************
  24. }
  25. func init() {
  26. //注册模型
  27. orm.RegisterModel(new(Template))
  28. }
  29. // ---------------- 特殊方法 -------------------
  30. // 修改
  31. func Update_TTemplate(r Template, cols ...string) bool {
  32. o := orm.NewOrm()
  33. if num, err := o.Update(&r, cols...); err == nil {
  34. fmt.Println("Number of records updated in database:", num)
  35. return true
  36. }
  37. return false
  38. }
  39. // 获取 ById
  40. func Read_List_ById(id int) (r Template) {
  41. o := orm.NewOrm()
  42. r = Template{Id: id}
  43. err := o.Read(&r) // o.Read(&r,"Tokey") 如果不是 主键 就得指定字段名
  44. if err != nil {
  45. fmt.Println(err)
  46. }
  47. return r
  48. }
  49. // 添加
  50. func Add_List(m Template) (id int64, err error) {
  51. o := orm.NewOrm()
  52. id, err = o.Insert(&m)
  53. if err != nil {
  54. fmt.Println(err)
  55. }
  56. return id, err
  57. }
  58. // 删除
  59. func Delete_List_ById(id int) (err error) {
  60. o := orm.NewOrm()
  61. v := Template{Id: id}
  62. // ascertain id exists in the database
  63. if err = o.Read(&v); err == nil {
  64. var num int64
  65. if num, err = o.Delete(&Template{Id: id}); err == nil {
  66. fmt.Println("Number of records deleted in database:", num)
  67. }
  68. }
  69. return
  70. }
  71. // 删除
  72. func Delete_List(m Template) (err error) {
  73. o := orm.NewOrm()
  74. if num, err := o.Delete(&m); err == nil {
  75. fmt.Println("Number of records deleted in database:", num)
  76. }
  77. return
  78. }
  79. // 修改
  80. func Update_List_ById(m Template) (err error) {
  81. o := orm.NewOrm()
  82. v := Template{Id: m.Id}
  83. // ascertain id exists in the database
  84. if err = o.Read(&v); err == nil {
  85. var num int64
  86. v.T_State = 0
  87. if num, err = o.Update(&v, "T_State"); err == nil {
  88. fmt.Println("Number of records updated in database:", num)
  89. }
  90. }
  91. return err
  92. }
  93. // 获取列表
  94. func Read_List_1(page int,name string,class int) (r []Template,cnt int64) {
  95. o := orm.NewOrm()
  96. // 也可以直接使用 Model 结构体作为表名
  97. qs := o.QueryTable(new(Template))
  98. var offset int64
  99. if page <= 1 {
  100. offset = 0
  101. } else {
  102. offset = int64((page - 1) * conf.Page_size)
  103. }
  104. if class == 0 {
  105. qs.Limit(conf.Page_size, offset).Filter("T_name__icontains", name).OrderBy("-Id").Filter("T_State", 1).All(&r)
  106. cnt, _ = qs.Filter("T_name__icontains", name).Filter("T_State", 1).Count()
  107. } else {
  108. qs.Limit(conf.Page_size, offset).Filter("T_name__icontains", name).Filter("T_class", class).Filter("T_State", 1).OrderBy("-Id").All(&r)
  109. cnt, _ = qs.Filter("T_name__icontains", name).Filter("T_class", class).Filter("T_State", 1).Count()
  110. }
  111. return r,cnt
  112. }
  113. // 获取列表 /时间筛选 Time_start_ Time_end_ 2021-12-30,所以下面要加后缀 时间
  114. func Read_DeviceWarning_1(page int, T_sn string, T_Title string,Time_start_ string,Time_end_ string) (r []Template, cnt int64) {
  115. o := orm.NewOrm()
  116. // 也可以直接使用 Model 结构体作为表名
  117. qs := o.QueryTable(new(Template))
  118. var offset int64
  119. if page <= 1 {
  120. offset = 0
  121. } else {
  122. offset = int64((page - 1) * conf.Page_size)
  123. }
  124. if(len(Time_start_) > 1 && len(Time_end_) > 1 ) {
  125. fmt.Println(Time_start_,Time_end_)
  126. qs.Limit(conf.Page_size, offset).Filter("T_Ut__lte", Time_end_+" 23:59:59").Filter("T_Ut__gte", Time_start_+" 00:00:00").Filter("T_Title__icontains", T_Title).Filter("T_sn__icontains", T_sn).OrderBy("-Id").Filter("T_State", 1).All(&r)
  127. cnt, _ = qs.Filter("T_Ut__lte", Time_end_+" 23:59:59").Filter("T_Ut__gte", Time_start_+" 00:00:00").Filter("T_Title__icontains", T_Title).Filter("T_sn__icontains", T_sn).Filter("T_State", 1).Count()
  128. return r, cnt
  129. }
  130. if(len(Time_start_) > 1) {
  131. qs.Limit(conf.Page_size, offset).Filter("T_Ut__gte", Time_start_+" 00:00:00").Filter("T_Title__icontains", T_Title).Filter("T_sn__icontains", T_sn).OrderBy("-Id").Filter("T_State", 1).All(&r)
  132. cnt, _ = qs.Filter("T_Ut__gte", Time_start_+" 00:00:00").Filter("T_Title__icontains", T_Title).Filter("T_sn__icontains", T_sn).Filter("T_State", 1).Count()
  133. return r, cnt
  134. }else if(len(Time_end_) > 1) {
  135. qs.Limit(conf.Page_size, offset).Filter("T_Ut__lte", Time_end_+" 23:59:59").Filter("T_Title__icontains", T_Title).Filter("T_sn__icontains", T_sn).OrderBy("-Id").Filter("T_State", 1).All(&r)
  136. cnt, _ = qs.Filter("T_Ut__lte", Time_end_+" 23:59:59").Filter("T_Title__icontains", T_Title).Filter("T_sn__icontains", T_sn).Filter("T_State", 1).Count()
  137. return r, cnt
  138. }
  139. qs.Limit(conf.Page_size, offset).Filter("T_Title__icontains", T_Title).Filter("T_sn__icontains", T_sn).OrderBy("-Id").Filter("T_State", 1).All(&r)
  140. cnt, _ = qs.Filter("T_Title__icontains", T_Title).Filter("T_sn__icontains", T_sn).Filter("T_State", 1).Count()
  141. return r, cnt
  142. }