12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- 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
- }
|