赛思维服务调研
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

106 lines
2.4 KiB

  1. package models
  2. import (
  3. "errors"
  4. "SSW_WebPlatform/db"
  5. "SSW_WebPlatform/utils"
  6. )
  7. type Courttab struct {
  8. Cid int `json:"cid" xorm:"not null pk INT(4)"`
  9. Descr string `json:"descr" xorm:"VARCHAR(255)"`
  10. Active int `json:"active" xorm:"INT(4)"`
  11. Address string `json:"address" xorm:"VARCHAR(255)"`
  12. Constructionarea float64 `json:"constructionarea" xorm:"DECIMAL(10,2)"`
  13. Totalhouseholds int `json:"totalhouseholds" xorm:"INT(4)"`
  14. Createtime string `json:"createtime" xorm:"VARCHAR(14)"`
  15. Lastmodifytime string `json:"lastmodifytime" xorm:"VARCHAR(14)"`
  16. Lastmodifyby string `json:"lastmodifyby" xorm:"VARCHAR(40)"`
  17. }
  18. func (t *Courttab) TableName() string {
  19. return "courttab"
  20. }
  21. // 清除string字段的右侧空格
  22. func (t *Courttab) Clipped() {
  23. utils.TrimStruct(t, *t)
  24. }
  25. func (t *Courttab) GetCourts() ([]*Courttab, error) {
  26. e := db.MasterEngine()
  27. courts := make([]*Courttab, 0)
  28. err := e.Find(&courts)
  29. return courts, err
  30. }
  31. //增
  32. func (t *Courttab) Add() error {
  33. e := db.MasterEngine()
  34. countrole := new(Courttab)
  35. affw, err := e.Table("courttab").ID(t.Cid).Count(countrole)
  36. if err != nil {
  37. return err
  38. }
  39. if affw > 0 {
  40. return errors.New("数据已经存在!")
  41. }
  42. _, err = e.Table("courttab").Insert(t)
  43. if err != nil {
  44. return err
  45. }
  46. return nil
  47. }
  48. //删
  49. func (t *Courttab) Del() bool {
  50. e := db.MasterEngine()
  51. _, err := e.ID(t.Cid).Delete(&Courttab{})
  52. if err != nil {
  53. return false
  54. }
  55. return true
  56. }
  57. //改
  58. func (t *Courttab) Update() bool {
  59. e := db.MasterEngine()
  60. _, err := e.ID(t.Cid).Update(t)
  61. if err != nil {
  62. return false
  63. }
  64. return true
  65. }
  66. //查
  67. func (t *Courttab) SelectOne() (Courttab, error) {
  68. e := db.MasterEngine()
  69. var data Courttab
  70. _, err := e.ID(t.Cid).Get(&data)
  71. if err != nil {
  72. return data, err
  73. }
  74. return data, nil
  75. }
  76. //分页
  77. func (t *Courttab) GetPage(pageSize int, pageIndex int) ([]Courttab, int, error) {
  78. data := make([]Courttab, 0)
  79. e := db.MasterEngine()
  80. query := e.Table("courttab").Where("cid = ? ", t.Cid)
  81. table := e.Table("courttab").Where("cid = ? ", t.Cid)
  82. if !utils.ValueIsEmpty(t.Descr) {
  83. descr := "%" + t.Descr + "%"
  84. query = query.And("descr like ?", descr)
  85. table = table.And("descr like ?", descr)
  86. }
  87. Offset := (pageIndex - 1) * pageSize
  88. err := query.Limit(pageSize,Offset).Desc("createtime").Find(&data)
  89. pcount := new(Courttab)
  90. count, err := table.Count(pcount)
  91. if err != nil {
  92. return data, 0, err
  93. }
  94. return data, int(count), nil
  95. }