1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- package service
- import (
- "context"
- "icloudapp.cn/tools/service/entity"
- "icloudapp.cn/tools/service/model"
- )
- type Roles struct {
- ctx context.Context
- Base
- query *model.MRole
- }
- func NewRoles(ctx context.Context) *Roles {
- roles := &Roles{ctx: ctx}
- roles.query = model.Role
- return roles
- }
- func (r *Roles) Info(roleID int64) (*entity.Role, error) {
- return r.query.WithContext(r.ctx).Where(r.query.RoleID.Eq(roleID)).Take()
- }
- func (r *Roles) Infos(rolesID ...int64) (map[int64]*entity.Role, error) {
- roles := make(map[int64]*entity.Role, len(rolesID))
- rolesInfo, err := r.query.WithContext(r.ctx).Where(r.query.RoleID.In(rolesID...)).Find()
- if err != nil {
- return nil, err
- }
- for _, val := range rolesInfo {
- roles[val.RoleID] = val
- }
- for _, roleID := range rolesID {
- if _, ok := roles[roleID]; !ok {
- roles[roleID] = nil
- }
- }
- return roles, nil
- }
|