12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- package service
- import (
- "context"
- "icloudapp.cn/tools/service/dependency"
- "icloudapp.cn/tools/service/entity"
- "icloudapp.cn/tools/service/model"
- )
- type Group struct {
- ctx context.Context
- dependency.IGroupRes
- query *model.MGroup
- }
- func NewGroup(ctx context.Context) *Group {
- group := &Group{ctx: ctx}
- group.query = model.Group
- return group
- }
- func (g *Group) Info(groupId int64) (*entity.Group, error) {
- query := model.Group
- group, err := query.WithContext(g.ctx).ReadDB().Where(query.GroupID.Eq(groupId)).First()
- if err != nil {
- return nil, err
- }
- return group, nil
- }
- func (g *Group) Infos(groupsID ...int64) (map[int64]*entity.Group, error) {
- groups := make(map[int64]*entity.Group, len(groupsID))
- groupsInfo, err := g.query.WithContext(g.ctx).ReadDB().Where(g.query.GroupID.In(groupsID...)).Find()
- if err != nil {
- return groups, err
- }
- for _, val := range groupsInfo {
- groups[val.GroupID] = val
- }
- for _, groupID := range groupsID {
- if _, ok := groups[groupID]; !ok {
- groups[groupID] = nil
- }
- }
- return groups, nil
- }
|