classify.go 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  1. package models
  2. import (
  3. "eta/eta_mini_crm/utils"
  4. "fmt"
  5. "strings"
  6. "time"
  7. "github.com/beego/beego/v2/client/orm"
  8. )
  9. type Classify struct {
  10. Id int `orm:"column(id);pk"`
  11. ClassifyName string `description:"分类名称"`
  12. Sort int `description:"排序"`
  13. ParentId int `description:"父级ID"`
  14. Enabled int `description:"状态:0-禁用;1-正常"`
  15. Level int `description:"分类层级"`
  16. CreateTime time.Time `description:"创建时间"`
  17. ModifyTime time.Time `description:"修改时间"`
  18. }
  19. func (m *Classify) TableName() string {
  20. return "classify"
  21. }
  22. type ClassifyCols struct {
  23. PrimaryId string
  24. ClassifyName string
  25. Sort string
  26. ParentId string
  27. Enabled string
  28. Level string
  29. CreateTime string
  30. ModifyTime string
  31. }
  32. func (m *Classify) Cols() ClassifyCols {
  33. return ClassifyCols{
  34. PrimaryId: "company_id",
  35. ClassifyName: "company_name",
  36. Sort: "credit_code",
  37. ParentId: "province_id",
  38. Enabled: "province",
  39. CreateTime: "create_time",
  40. ModifyTime: "modify_time",
  41. }
  42. }
  43. func (m *Classify) GetItemsByCondition(condition string, pars []interface{}, fieldArr []string, orderRule string) (items []*Classify, err error) {
  44. o := orm.NewOrmUsingDB("rddp")
  45. fields := strings.Join(fieldArr, ",")
  46. if len(fieldArr) == 0 {
  47. fields = `*`
  48. }
  49. order := fmt.Sprintf(`ORDER BY %s DESC`, m.Cols().CreateTime)
  50. if orderRule != "" {
  51. order = ` ORDER BY ` + orderRule
  52. }
  53. sql := fmt.Sprintf(`SELECT %s FROM %s WHERE 1=1 %s %s`, fields, m.TableName(), condition, order)
  54. _, err = o.Raw(sql, pars).QueryRows(&items)
  55. return
  56. }
  57. type ClassifyItem struct {
  58. Id int `orm:"column(id);pk"`
  59. ClassifyName string `description:"分类名称"`
  60. Sort int `description:"排序"`
  61. ParentId int `description:"父级ID"`
  62. Enabled int `description:"状态:0-禁用;1-正常"`
  63. Level int `description:"分类层级"`
  64. CreateTime string `description:"创建时间"`
  65. ModifyTime string `description:"修改时间"`
  66. Child []*ClassifyItem `description:"子分类"`
  67. }
  68. func (m *Classify) Format2Item() (item *ClassifyItem) {
  69. item = new(ClassifyItem)
  70. item.Id = m.Id
  71. item.ClassifyName = m.ClassifyName
  72. item.Sort = m.Sort
  73. item.ParentId = m.ParentId
  74. item.Enabled = m.Enabled
  75. item.Level = m.Level
  76. item.CreateTime = utils.TimeTransferString(utils.FormatDateTime, m.CreateTime)
  77. item.ModifyTime = utils.TimeTransferString(utils.FormatDateTime, m.ModifyTime)
  78. item.Child = make([]*ClassifyItem, 0)
  79. return
  80. }
  81. func GetClassifyList() (items []*ClassifyItem, err error) {
  82. o := orm.NewOrmUsingDB("rddp")
  83. sql := `SELECT * FROM classify WHERE enabled=1`
  84. _, err = o.Raw(sql).QueryRows(&items)
  85. return
  86. }
  87. func GetClassifyById(classifyId int) (item *ClassifyItem, err error) {
  88. o := orm.NewOrmUsingDB("rddp")
  89. sql := `SELECT * FROM classify WHERE enabled=1 AND id=?`
  90. err = o.Raw(sql, classifyId).QueryRow(&item)
  91. return
  92. }
  93. func GetClassifyListByIds(ids []string) (items []*ClassifyItem, err error) {
  94. if len(ids) == 0 {
  95. return
  96. }
  97. o := orm.NewOrmUsingDB("rddp")
  98. sql := `SELECT * FROM classify WHERE enabled=1 AND id IN (` + utils.GetOrmReplaceHolder(len(ids)) + `)`
  99. _, err = o.Raw(sql, ids).QueryRows(&items)
  100. return
  101. }