package service import ( "context" "icloudapp.cn/tools/repository/mysql" "icloudapp.cn/tools/service/entity" "icloudapp.cn/tools/service/model" ) type UserGroup struct { ctx context.Context Base query *model.MUserGroup } type UserGroupList struct { Pages Page `json:"pages"` Lists []*entity.UserGroup `json:"lists"` } func NewUserGroup(ctx context.Context) *UserGroup { model.SetDefault(mysql.DBConn) userGroup := &UserGroup{ctx: ctx} userGroup.query = model.UserGroup return userGroup } func (g *UserGroup) Info(uid int64) (*entity.UserGroup, error) { return g.query.WithContext(g.ctx).Where(g.query.UID.Eq(uid)).Take() } // Count 获取group总数量 func (g *UserGroup) Count() int64 { count, err := g.query.WithContext(g.ctx).Count() if err != nil { return 0 } return count } func (g *UserGroup) Scan(page, pageSize int) UserGroupList { var userGroupList UserGroupList count := g.Count() pages := g.InitPages(count, page, pageSize) userGroupList.Pages = pages if pages.Count == 0 { } lists, err := g.query.WithContext(g.ctx).Offset(int(pages.LimitStart)).Limit(pages.PageSize).Find() userGroupList.Lists = lists if err != nil { return userGroupList } return userGroupList } func (g *UserGroup) UserGroups(uid int64) *entity.UserGroup { userGroup, err := g.query.WithContext(g.ctx).Where(g.query.UID.Eq(uid)).Take() if err != nil { return nil } return userGroup }