gorm wire
This commit is contained in:
@@ -10,29 +10,29 @@ import (
|
||||
"management/internal/erpserver/model/dto"
|
||||
"management/internal/erpserver/model/system"
|
||||
"management/internal/erpserver/model/view"
|
||||
"management/internal/erpserver/repository"
|
||||
"management/internal/erpserver/service"
|
||||
v1 "management/internal/erpserver/service/v1"
|
||||
"management/internal/pkg/know"
|
||||
"management/internal/pkg/redis"
|
||||
)
|
||||
|
||||
type menuService struct {
|
||||
redis redis.RedisCache
|
||||
store repository.Store
|
||||
repo system.MenuRepository
|
||||
rolesvc v1.RoleService
|
||||
rolemenusvc v1.RoleMenuService
|
||||
*service.Service
|
||||
repo system.MenuRepository
|
||||
roleService v1.RoleService
|
||||
roleMenuService v1.RoleMenuService
|
||||
}
|
||||
|
||||
var _ v1.MenuService = (*menuService)(nil)
|
||||
|
||||
func NewMenuService(redis redis.RedisCache, store repository.Store, repo system.MenuRepository, rolesvc v1.RoleService, rolemenusvc v1.RoleMenuService) *menuService {
|
||||
func NewMenuService(
|
||||
service *service.Service,
|
||||
repo system.MenuRepository,
|
||||
roleService v1.RoleService,
|
||||
roleMenuService v1.RoleMenuService,
|
||||
) v1.MenuService {
|
||||
return &menuService{
|
||||
redis: redis,
|
||||
store: store,
|
||||
repo: repo,
|
||||
rolesvc: rolesvc,
|
||||
rolemenusvc: rolemenusvc,
|
||||
Service: service,
|
||||
repo: repo,
|
||||
roleService: roleService,
|
||||
roleMenuService: roleMenuService,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -54,7 +54,7 @@ func (s *menuService) GetByUrl(ctx context.Context, url string) (*system.Menu, e
|
||||
|
||||
func (s *menuService) All(ctx context.Context) ([]*system.Menu, error) {
|
||||
key := know.GetManageKey(ctx, know.AllMenus)
|
||||
b, err := s.redis.GetBytes(ctx, key)
|
||||
b, err := s.Redis.GetBytes(ctx, key)
|
||||
if err == nil {
|
||||
var res []*system.Menu
|
||||
if err := json.Unmarshal(b, &res); err == nil {
|
||||
@@ -72,7 +72,7 @@ func (s *menuService) All(ctx context.Context) ([]*system.Menu, error) {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
_ = s.redis.Set(ctx, key, b, time.Hour*6)
|
||||
_ = s.Redis.Set(ctx, key, b, time.Hour*6)
|
||||
return res, nil
|
||||
}
|
||||
|
||||
@@ -87,7 +87,7 @@ func (s *menuService) ListMenuTree(ctx context.Context) ([]*view.MenuTree, error
|
||||
|
||||
func (s *menuService) ListByRoleID(ctx context.Context, roleID int32) ([]*dto.OwnerMenuDto, error) {
|
||||
key := know.GetManageKey(ctx, know.OwnerMenus, roleID)
|
||||
bs, err := s.redis.GetBytes(ctx, key)
|
||||
bs, err := s.Redis.GetBytes(ctx, key)
|
||||
if err == nil {
|
||||
var res []*dto.OwnerMenuDto
|
||||
if err := json.Unmarshal(bs, &res); err == nil {
|
||||
@@ -111,13 +111,13 @@ func (s *menuService) SetListByRoleID(ctx context.Context, roleID int32) ([]*dto
|
||||
return nil, err
|
||||
}
|
||||
|
||||
_ = s.redis.Set(ctx, key, b, time.Hour*6)
|
||||
_ = s.Redis.Set(ctx, key, b, time.Hour*6)
|
||||
return res, nil
|
||||
}
|
||||
|
||||
func (s *menuService) ListByRoleIDToMap(ctx context.Context, roleID int32) (map[string]*dto.OwnerMenuDto, error) {
|
||||
key := know.GetManageKey(ctx, know.OwnerMenusMap, roleID)
|
||||
bs, err := s.redis.GetBytes(ctx, key)
|
||||
bs, err := s.Redis.GetBytes(ctx, key)
|
||||
if err == nil {
|
||||
var res map[string]*dto.OwnerMenuDto
|
||||
if err := json.Unmarshal(bs, &res); err == nil {
|
||||
@@ -141,13 +141,13 @@ func (s *menuService) SetListByRoleIDToMap(ctx context.Context, roleID int32) (m
|
||||
return nil, err
|
||||
}
|
||||
|
||||
_ = s.redis.Set(ctx, key, b, time.Hour*6)
|
||||
_ = s.Redis.Set(ctx, key, b, time.Hour*6)
|
||||
return res, nil
|
||||
}
|
||||
|
||||
func (s *menuService) OwerMenus(ctx context.Context, roleID int32) ([]*dto.MenuUIDto, error) {
|
||||
key := know.GetManageKey(ctx, know.AdminMenus, roleID)
|
||||
bs, err := s.redis.GetBytes(ctx, key)
|
||||
bs, err := s.Redis.GetBytes(ctx, key)
|
||||
if err == nil {
|
||||
var res []*dto.MenuUIDto
|
||||
if err := json.Unmarshal(bs, &res); err == nil {
|
||||
@@ -172,7 +172,7 @@ func (s *menuService) SetOwerMenus(ctx context.Context, roleID int32) ([]*dto.Me
|
||||
return nil, err
|
||||
}
|
||||
|
||||
_ = s.redis.Set(ctx, key, b, time.Hour*6)
|
||||
_ = s.Redis.Set(ctx, key, b, time.Hour*6)
|
||||
return res, nil
|
||||
}
|
||||
|
||||
@@ -193,15 +193,15 @@ func (s *menuService) MenuViewData(ctx context.Context, roleID int32) ([]*dto.Se
|
||||
|
||||
func (s *menuService) SetRoleMenu(ctx context.Context, roleID int32, rms []*system.RoleMenu) error {
|
||||
// 开启事务
|
||||
return s.store.TX(ctx, func(ctx context.Context) error {
|
||||
return s.Tx.Transaction(ctx, func(ctx context.Context) error {
|
||||
// 先删除该角色的所有权限
|
||||
err := s.rolemenusvc.DeleteByRoleID(ctx, roleID)
|
||||
err := s.roleMenuService.DeleteByRoleID(ctx, roleID)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
// 再添加该角色的所有权限
|
||||
return s.rolemenusvc.Create(ctx, rms)
|
||||
return s.roleMenuService.Create(ctx, rms)
|
||||
})
|
||||
}
|
||||
|
||||
@@ -217,7 +217,7 @@ func (s *menuService) RefreshCache(ctx context.Context) error {
|
||||
return err
|
||||
}
|
||||
|
||||
_ = redis.Set(ctx, key, b, time.Hour*6)
|
||||
_ = s.Redis.Set(ctx, key, b, time.Hour*6)
|
||||
return nil
|
||||
}
|
||||
|
||||
@@ -245,7 +245,7 @@ func (s *menuService) XmSelectTree(ctx context.Context, id int32) ([]*view.XmSel
|
||||
|
||||
// listByRoleID 获取该角色所拥有的菜单集合
|
||||
func (s *menuService) listByRoleID(ctx context.Context, roleID int32) ([]*system.Menu, error) {
|
||||
role, err := s.rolesvc.Get(ctx, roleID)
|
||||
role, err := s.roleService.Get(ctx, roleID)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@@ -260,7 +260,7 @@ func (s *menuService) listByRoleID(ctx context.Context, roleID int32) ([]*system
|
||||
}
|
||||
|
||||
// 通过角色获取所拥有的权限
|
||||
roleMenus, err := s.rolemenusvc.ListByRoleID(ctx, roleID)
|
||||
roleMenus, err := s.roleMenuService.ListByRoleID(ctx, roleID)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user