user_level.go 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. package models
  2. import (
  3. "fmt"
  4. "github.com/beego/beego/v2/client/orm"
  5. "strings"
  6. "time"
  7. )
  8. // UserLevel 用户等级表
  9. type UserLevel struct {
  10. UserLevelId int `orm:"column(user_level_id);pk"`
  11. LevelRank int `description:"等级编号"`
  12. LevelName string `description:"等级名称"`
  13. State int `description:"状态:0-禁用;1-启用"`
  14. SysUserId int `description:"创建人ID"`
  15. SysUserRealName string `description:"创建人姓名"`
  16. CreateTime time.Time `description:"创建时间"`
  17. ModifyTime time.Time `description:"修改时间"`
  18. }
  19. func (m *UserLevel) TableName() string {
  20. return "user_level"
  21. }
  22. type UserLevelCols struct {
  23. PrimaryId string
  24. LevelRank string
  25. LevelName string
  26. State string
  27. SysUserId string
  28. SysUserRealName string
  29. CreateTime string
  30. ModifyTime string
  31. }
  32. func (m *UserLevel) Cols() UserLevelCols {
  33. return UserLevelCols{
  34. PrimaryId: "user_level_id",
  35. LevelRank: "level_rank",
  36. LevelName: "level_name",
  37. State: "state",
  38. SysUserId: "sys_user_id",
  39. SysUserRealName: "sys_user_real_name",
  40. CreateTime: "create_time",
  41. ModifyTime: "modify_time",
  42. }
  43. }
  44. func (m *UserLevel) GetItemById(id int) (item *UserLevel, err error) {
  45. o := orm.NewOrm()
  46. sql := fmt.Sprintf(`SELECT * FROM %s WHERE 1=1 AND %s = ? LIMIT 1`, m.TableName(), m.Cols().PrimaryId)
  47. err = o.Raw(sql, id).QueryRow(&item)
  48. return
  49. }
  50. func (m *UserLevel) GetItemsByCondition(condition string, pars []interface{}, fieldArr []string, orderRule string) (items []*UserLevel, err error) {
  51. o := orm.NewOrm()
  52. fields := strings.Join(fieldArr, ",")
  53. if len(fieldArr) == 0 {
  54. fields = `*`
  55. }
  56. order := fmt.Sprintf(`ORDER BY %s DESC`, m.Cols().CreateTime)
  57. if orderRule != "" {
  58. order = ` ORDER BY ` + orderRule
  59. }
  60. sql := fmt.Sprintf(`SELECT %s FROM %s WHERE 1=1 %s %s`, fields, m.TableName(), condition, order)
  61. _, err = o.Raw(sql, pars).QueryRows(&items)
  62. return
  63. }