user_level_mapping.go 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. package models
  2. import (
  3. "fmt"
  4. "github.com/beego/beego/v2/client/orm"
  5. "strings"
  6. "time"
  7. )
  8. // UserLevelMapping 用户等级分类关联表
  9. type UserLevelMapping struct {
  10. Id int `orm:"column(id);pk"`
  11. UserLevelId int `description:"用户等级ID"`
  12. ClassifyId int `description:"分类ID"`
  13. CreateTime time.Time `description:"创建时间"`
  14. }
  15. func (m *UserLevelMapping) TableName() string {
  16. return "user_level_mapping"
  17. }
  18. type UserLevelMappingCols struct {
  19. PrimaryId string
  20. UserLevelId string
  21. ClassifyId string
  22. CreateTime string
  23. }
  24. func (m *UserLevelMapping) Cols() UserLevelMappingCols {
  25. return UserLevelMappingCols{
  26. PrimaryId: "id",
  27. UserLevelId: "user_level_id",
  28. ClassifyId: "classify_id",
  29. CreateTime: "create_time",
  30. }
  31. }
  32. func (m *UserLevelMapping) GetItemsByCondition(condition string, pars []interface{}, fieldArr []string, orderRule string) (items []*UserLevelMapping, err error) {
  33. o := orm.NewOrm()
  34. fields := strings.Join(fieldArr, ",")
  35. if len(fieldArr) == 0 {
  36. fields = `*`
  37. }
  38. order := fmt.Sprintf(`ORDER BY %s DESC`, m.Cols().CreateTime)
  39. if orderRule != "" {
  40. order = ` ORDER BY ` + orderRule
  41. }
  42. sql := fmt.Sprintf(`SELECT %s FROM %s WHERE 1=1 %s %s`, fields, m.TableName(), condition, order)
  43. _, err = o.Raw(sql, pars).QueryRows(&items)
  44. return
  45. }