MemberGroupModel.go 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. package models
  2. import (
  3. "time"
  4. "github.com/lifei6671/mindoc/conf"
  5. "github.com/astaxie/beego/orm"
  6. "github.com/astaxie/beego"
  7. )
  8. type MemberGroup struct {
  9. GroupId int `orm:"column(group_id);pk;auto;unique;" json:"group_id"`
  10. GroupName string `orm:"column(group_name);size(255);" json:"group_name"`
  11. GroupNumber int `orm:"column(group_number);" json:"group_number"`
  12. CreateTime time.Time `orm:"type(datetime);column(create_time);auto_now_add" json:"create_time"`
  13. CreateAt int `orm:"type(int);column(create_at)" json:"create_at"`
  14. ModifyTime time.Time `orm:"column(modify_time);type(datetime);auto_now" json:"modify_time"`
  15. ModifyAt int `orm:"column(modify_at);type(int)" json:"-"`
  16. }
  17. // TableName 获取对应数据库表名.
  18. func (m *MemberGroup) TableName() string {
  19. return "member_group"
  20. }
  21. // TableEngine 获取数据使用的引擎.
  22. func (m *MemberGroup) TableEngine() string {
  23. return "INNODB"
  24. }
  25. func (m *MemberGroup) TableNameWithPrefix() string {
  26. return conf.GetDatabasePrefix() + m.TableName()
  27. }
  28. func NewMemberGroup() *MemberGroup {
  29. return &MemberGroup{}
  30. }
  31. //根据id查询用户组
  32. func (m *MemberGroup) FindFirst(id int) (*MemberGroup,error){
  33. o := orm.NewOrm()
  34. if err :=o.QueryTable(m.TableNameWithPrefix()).Filter("group_id",id).One(m); err != nil {
  35. beego.Error("查询用户组时出错 =>",err)
  36. return m,err
  37. }
  38. return m,nil
  39. }
  40. //删除指定用户组
  41. func (m *MemberGroup) Delete(id int) error {
  42. o := orm.NewOrm()
  43. _,err := o.QueryTable(m.TableNameWithPrefix()).Filter("group_id",id).Delete()
  44. if err != nil {
  45. beego.Error("删除用户组失败 =>",err)
  46. }
  47. return err
  48. }
  49. //分页查询用户组
  50. func (m *MemberGroup) FindByPager(pageIndex, pageSize int) ([]*MemberGroup,int,error){
  51. o := orm.NewOrm()
  52. if pageIndex <= 0 {
  53. pageIndex = 1
  54. }
  55. offset := (pageIndex - 1) * pageSize
  56. var memberGroups []*MemberGroup
  57. totalCount := 0
  58. _,err := o.QueryTable(m.TableNameWithPrefix()).Offset(offset).Limit(pageSize).All(&memberGroups)
  59. if err != nil {
  60. beego.Error("分页查询用户组失败 =>",err)
  61. }else{
  62. i,err := o.QueryTable(m.TableNameWithPrefix()).Count()
  63. if err != nil {
  64. beego.Error("分页查询用户组失败 =>",err)
  65. }else {
  66. totalCount = int(i)
  67. }
  68. }
  69. return memberGroups,totalCount,err
  70. }