update
This commit is contained in:
@@ -5,16 +5,15 @@ import (
|
||||
|
||||
"management/internal/erpserver/model/dto"
|
||||
"management/internal/erpserver/model/system"
|
||||
"management/internal/erpserver/service"
|
||||
v1 "management/internal/erpserver/service/v1"
|
||||
"management/internal/erpserver/service/v1"
|
||||
)
|
||||
|
||||
type auditLogService struct {
|
||||
*service.Service
|
||||
*v1.Service
|
||||
repo system.AuditLogRepository
|
||||
}
|
||||
|
||||
func NewAuditLogService(service *service.Service, repo system.AuditLogRepository) v1.AuditLogService {
|
||||
func NewAuditLogService(service *v1.Service, repo system.AuditLogRepository) v1.AuditLogService {
|
||||
return &auditLogService{
|
||||
Service: service,
|
||||
repo: repo,
|
||||
|
||||
@@ -8,8 +8,8 @@ import (
|
||||
|
||||
"management/internal/erpserver/model/dto"
|
||||
"management/internal/erpserver/model/system"
|
||||
"management/internal/erpserver/service"
|
||||
v1 "management/internal/erpserver/service/v1"
|
||||
"management/internal/erpserver/service/util"
|
||||
"management/internal/erpserver/service/v1"
|
||||
"management/internal/pkg/know"
|
||||
"management/internal/pkg/know/pearadmin"
|
||||
|
||||
@@ -17,11 +17,11 @@ import (
|
||||
)
|
||||
|
||||
type configService struct {
|
||||
*service.Service
|
||||
*v1.Service
|
||||
repo system.ConfigRepository
|
||||
}
|
||||
|
||||
func NewConfigService(service *service.Service, repo system.ConfigRepository) v1.ConfigService {
|
||||
func NewConfigService(service *v1.Service, repo system.ConfigRepository) v1.ConfigService {
|
||||
return &configService{
|
||||
Service: service,
|
||||
repo: repo,
|
||||
@@ -45,28 +45,12 @@ func (s *configService) List(ctx context.Context, q dto.SearchDto) ([]*system.Co
|
||||
}
|
||||
|
||||
func (s *configService) Pear(ctx context.Context) (*dto.PearConfig, error) {
|
||||
// 判断redis是否存储
|
||||
var res *dto.PearConfig
|
||||
key := know.GetManageKey(ctx, know.PearAdmin)
|
||||
bs, err := s.Redis.GetBytes(ctx, key)
|
||||
if err == nil {
|
||||
var res *dto.PearConfig
|
||||
if err := json.Unmarshal(bs, &res); err == nil {
|
||||
return res, nil
|
||||
}
|
||||
}
|
||||
|
||||
conf, err := s.repo.GetByKey(ctx, pearadmin.PearKey)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var pear dto.PearConfig
|
||||
if err := json.Unmarshal([]byte(conf.Value), &pear); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
_ = s.Redis.Set(ctx, key, conf.Value, time.Hour*6)
|
||||
return &pear, nil
|
||||
err := util.GetOrSetCache(ctx, s.Redis, key, util.GetCacheExpire(), func() (any, error) {
|
||||
return s.repo.GetByKey(ctx, pearadmin.PearKey)
|
||||
}, &res)
|
||||
return res, err
|
||||
}
|
||||
|
||||
func (s *configService) RefreshCache(ctx context.Context, key string) error {
|
||||
|
||||
@@ -2,7 +2,6 @@ package system
|
||||
|
||||
import (
|
||||
"context"
|
||||
"encoding/json"
|
||||
"errors"
|
||||
"fmt"
|
||||
"strconv"
|
||||
@@ -12,19 +11,19 @@ import (
|
||||
"management/internal/erpserver/model/form"
|
||||
"management/internal/erpserver/model/system"
|
||||
"management/internal/erpserver/model/view"
|
||||
"management/internal/erpserver/service"
|
||||
v1 "management/internal/erpserver/service/v1"
|
||||
"management/internal/erpserver/service/util"
|
||||
"management/internal/erpserver/service/v1"
|
||||
"management/internal/pkg/convertor"
|
||||
"management/internal/pkg/database"
|
||||
"management/internal/pkg/know"
|
||||
)
|
||||
|
||||
type departmentService struct {
|
||||
*service.Service
|
||||
*v1.Service
|
||||
repo system.DepartmentRepository
|
||||
}
|
||||
|
||||
func NewDepartmentService(service *service.Service, repo system.DepartmentRepository) v1.DepartmentService {
|
||||
func NewDepartmentService(service *v1.Service, repo system.DepartmentRepository) v1.DepartmentService {
|
||||
return &departmentService{
|
||||
Service: service,
|
||||
repo: repo,
|
||||
@@ -107,27 +106,12 @@ func (s *departmentService) Get(ctx context.Context, id int32) (*system.Departme
|
||||
}
|
||||
|
||||
func (s *departmentService) All(ctx context.Context) ([]*system.Department, error) {
|
||||
var res []*system.Department
|
||||
key := know.GetManageKey(ctx, know.AllDepartments)
|
||||
bs, err := s.Redis.GetBytes(ctx, key)
|
||||
if err == nil {
|
||||
var res []*system.Department
|
||||
if err := json.Unmarshal(bs, &res); err == nil {
|
||||
return res, nil
|
||||
}
|
||||
}
|
||||
|
||||
res, err := s.repo.All(ctx)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
bs, err = json.Marshal(res)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
_ = s.Redis.Set(ctx, key, bs, time.Hour*6)
|
||||
return res, nil
|
||||
err := util.GetOrSetCache(ctx, s.Redis, key, util.GetCacheExpire(), func() (any, error) {
|
||||
return s.repo.All(ctx)
|
||||
}, &res)
|
||||
return res, err
|
||||
}
|
||||
|
||||
func (s *departmentService) List(ctx context.Context, q dto.SearchDto) ([]*system.Department, int64, error) {
|
||||
@@ -135,19 +119,12 @@ func (s *departmentService) List(ctx context.Context, q dto.SearchDto) ([]*syste
|
||||
}
|
||||
|
||||
func (s *departmentService) RefreshCache(ctx context.Context) error {
|
||||
var res []*system.Department
|
||||
key := know.GetManageKey(ctx, know.AllDepartments)
|
||||
res, err := s.All(ctx)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
b, err := json.Marshal(res)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
_ = s.Redis.Set(ctx, key, b, time.Hour*6)
|
||||
return nil
|
||||
err := util.GetOrSetCache(ctx, s.Redis, key, util.GetCacheExpire(), func() (any, error) {
|
||||
return s.All(ctx)
|
||||
}, &res)
|
||||
return err
|
||||
}
|
||||
|
||||
func (s *departmentService) RebuildParentPath(ctx context.Context) error {
|
||||
|
||||
@@ -6,16 +6,15 @@ import (
|
||||
|
||||
"management/internal/erpserver/model/dto"
|
||||
"management/internal/erpserver/model/system"
|
||||
"management/internal/erpserver/service"
|
||||
v1 "management/internal/erpserver/service/v1"
|
||||
"management/internal/erpserver/service/v1"
|
||||
)
|
||||
|
||||
type loginLogService struct {
|
||||
*service.Service
|
||||
*v1.Service
|
||||
repo system.LoginLogRepository
|
||||
}
|
||||
|
||||
func NewLoginLogService(service *service.Service, repo system.LoginLogRepository) v1.LoginLogService {
|
||||
func NewLoginLogService(service *v1.Service, repo system.LoginLogRepository) v1.LoginLogService {
|
||||
return &loginLogService{
|
||||
Service: service,
|
||||
repo: repo,
|
||||
|
||||
@@ -5,25 +5,24 @@ import (
|
||||
"encoding/json"
|
||||
"strconv"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"management/internal/erpserver/model/dto"
|
||||
"management/internal/erpserver/model/system"
|
||||
"management/internal/erpserver/model/view"
|
||||
"management/internal/erpserver/service"
|
||||
v1 "management/internal/erpserver/service/v1"
|
||||
"management/internal/erpserver/service/util"
|
||||
"management/internal/erpserver/service/v1"
|
||||
"management/internal/pkg/know"
|
||||
)
|
||||
|
||||
type menuService struct {
|
||||
*service.Service
|
||||
*v1.Service
|
||||
repo system.MenuRepository
|
||||
roleService v1.RoleService
|
||||
roleMenuService v1.RoleMenuService
|
||||
}
|
||||
|
||||
func NewMenuService(
|
||||
service *service.Service,
|
||||
service *v1.Service,
|
||||
repo system.MenuRepository,
|
||||
roleService v1.RoleService,
|
||||
roleMenuService v1.RoleMenuService,
|
||||
@@ -53,27 +52,12 @@ func (s *menuService) GetByUrl(ctx context.Context, url string) (*system.Menu, e
|
||||
}
|
||||
|
||||
func (s *menuService) All(ctx context.Context) ([]*system.Menu, error) {
|
||||
var res []*system.Menu
|
||||
key := know.GetManageKey(ctx, know.AllMenus)
|
||||
b, err := s.Redis.GetBytes(ctx, key)
|
||||
if err == nil {
|
||||
var res []*system.Menu
|
||||
if err := json.Unmarshal(b, &res); err == nil {
|
||||
return res, nil
|
||||
}
|
||||
}
|
||||
|
||||
res, err := s.repo.All(ctx)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
b, err = json.Marshal(res)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
_ = s.Redis.Set(ctx, key, b, time.Hour*6)
|
||||
return res, nil
|
||||
err := util.GetOrSetCache(ctx, s.Redis, key, util.GetCacheExpire(), func() (any, error) {
|
||||
return s.repo.All(ctx)
|
||||
}, &res)
|
||||
return res, err
|
||||
}
|
||||
|
||||
func (s *menuService) ListMenuTree(ctx context.Context) ([]*view.MenuTree, error) {
|
||||
@@ -111,7 +95,7 @@ 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, util.GetCacheExpire())
|
||||
return res, nil
|
||||
}
|
||||
|
||||
@@ -141,7 +125,7 @@ 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, util.GetCacheExpire())
|
||||
return res, nil
|
||||
}
|
||||
|
||||
@@ -172,7 +156,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, util.GetCacheExpire())
|
||||
return res, nil
|
||||
}
|
||||
|
||||
@@ -206,19 +190,12 @@ func (s *menuService) SetRoleMenu(ctx context.Context, roleID int32, rms []*syst
|
||||
}
|
||||
|
||||
func (s *menuService) RefreshCache(ctx context.Context) error {
|
||||
var res []*system.Menu
|
||||
key := know.GetManageKey(ctx, know.AllMenus)
|
||||
res, err := s.All(ctx)
|
||||
if err != nil {
|
||||
return err
|
||||
getData := func() (any, error) {
|
||||
return s.repo.All(ctx)
|
||||
}
|
||||
|
||||
b, err := json.Marshal(res)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
_ = s.Redis.Set(ctx, key, b, time.Hour*6)
|
||||
return nil
|
||||
return util.GetOrSetCache(ctx, s.Redis, key, util.GetCacheExpire(), getData, &res)
|
||||
}
|
||||
|
||||
func (s *menuService) RebuildParentPath(ctx context.Context) error {
|
||||
@@ -303,15 +280,28 @@ func (s *menuService) toXmSelectTree(parentId int32, data []*system.Menu) []*vie
|
||||
}
|
||||
|
||||
func findMenu(rms []*system.RoleMenu, ms []*system.Menu) []*system.Menu {
|
||||
menuMap := make(map[int32]*system.Menu)
|
||||
for _, m := range ms {
|
||||
menuMap[m.ID] = m
|
||||
}
|
||||
|
||||
var res []*system.Menu
|
||||
for _, rm := range rms {
|
||||
for _, m := range ms {
|
||||
if rm.MenuID == m.ID {
|
||||
res = append(res, m)
|
||||
}
|
||||
if m, ok := menuMap[rm.MenuID]; ok {
|
||||
res = append(res, m)
|
||||
}
|
||||
}
|
||||
return res
|
||||
|
||||
//var res []*system.Menu
|
||||
//for _, rm := range rms {
|
||||
// for _, m := range ms {
|
||||
// if rm.MenuID == m.ID {
|
||||
// res = append(res, m)
|
||||
// }
|
||||
// }
|
||||
//}
|
||||
//return res
|
||||
}
|
||||
|
||||
func toOwnerMenuDto(ms []*system.Menu) []*dto.OwnerMenuDto {
|
||||
|
||||
@@ -2,7 +2,6 @@ package system
|
||||
|
||||
import (
|
||||
"context"
|
||||
"encoding/json"
|
||||
"errors"
|
||||
"fmt"
|
||||
"strconv"
|
||||
@@ -12,19 +11,19 @@ import (
|
||||
"management/internal/erpserver/model/form"
|
||||
"management/internal/erpserver/model/system"
|
||||
"management/internal/erpserver/model/view"
|
||||
"management/internal/erpserver/service"
|
||||
v1 "management/internal/erpserver/service/v1"
|
||||
"management/internal/erpserver/service/util"
|
||||
"management/internal/erpserver/service/v1"
|
||||
"management/internal/pkg/convertor"
|
||||
"management/internal/pkg/database"
|
||||
"management/internal/pkg/know"
|
||||
)
|
||||
|
||||
type roleService struct {
|
||||
*service.Service
|
||||
*v1.Service
|
||||
repo system.RoleRepository
|
||||
}
|
||||
|
||||
func NewRoleService(service *service.Service, repo system.RoleRepository) v1.RoleService {
|
||||
func NewRoleService(service *v1.Service, repo system.RoleRepository) v1.RoleService {
|
||||
return &roleService{
|
||||
Service: service,
|
||||
repo: repo,
|
||||
@@ -110,27 +109,12 @@ func (s *roleService) Get(ctx context.Context, id int32) (*system.Role, error) {
|
||||
}
|
||||
|
||||
func (s *roleService) All(ctx context.Context) ([]*system.Role, error) {
|
||||
var res []*system.Role
|
||||
key := know.GetManageKey(ctx, know.AllRoles)
|
||||
bs, err := s.Redis.GetBytes(ctx, key)
|
||||
if err == nil {
|
||||
var res []*system.Role
|
||||
if err := json.Unmarshal(bs, &res); err == nil {
|
||||
return res, nil
|
||||
}
|
||||
}
|
||||
|
||||
res, err := s.repo.All(ctx)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
bs, err = json.Marshal(res)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
_ = s.Redis.Set(ctx, key, bs, time.Hour*6)
|
||||
return res, nil
|
||||
err := util.GetOrSetCache(ctx, s.Redis, key, util.GetCacheExpire(), func() (any, error) {
|
||||
return s.repo.All(ctx)
|
||||
}, &res)
|
||||
return res, err
|
||||
}
|
||||
|
||||
func (s *roleService) List(ctx context.Context, q dto.SearchDto) ([]*system.Role, int64, error) {
|
||||
@@ -138,19 +122,11 @@ func (s *roleService) List(ctx context.Context, q dto.SearchDto) ([]*system.Role
|
||||
}
|
||||
|
||||
func (s *roleService) RefreshCache(ctx context.Context) error {
|
||||
var res []*system.Role
|
||||
key := know.GetManageKey(ctx, know.AllRoles)
|
||||
res, err := s.All(ctx)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
b, err := json.Marshal(res)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
_ = s.Redis.Set(ctx, key, b, time.Hour*6)
|
||||
return nil
|
||||
return util.GetOrSetCache(ctx, s.Redis, key, util.GetCacheExpire(), func() (any, error) {
|
||||
return s.repo.All(ctx)
|
||||
}, &res)
|
||||
}
|
||||
|
||||
func (s *roleService) RebuildParentPath(ctx context.Context) error {
|
||||
@@ -176,6 +152,23 @@ func (s *roleService) XmSelectTree(ctx context.Context, id int32) ([]*view.XmSel
|
||||
}
|
||||
|
||||
func (s *roleService) toTree(parentId int32, data []*system.Role) []*view.LayuiTree {
|
||||
//idFunc := func(s *system.Role) int32 {
|
||||
// return s.ParentID
|
||||
//}
|
||||
//childrenFunc := func(s *system.Role, childNodes []*view.LayuiTree) *view.LayuiTree {
|
||||
// spread := false
|
||||
// if s.ParentID == 0 {
|
||||
// spread = true
|
||||
// }
|
||||
// return &view.LayuiTree{
|
||||
// Title: s.Name,
|
||||
// ID: strconv.FormatInt(int64(s.ID), 10),
|
||||
// Children: childNodes,
|
||||
// Spread: spread,
|
||||
// }
|
||||
//}
|
||||
//return util.BuildTree(parentId, data, idFunc, childrenFunc)
|
||||
|
||||
var res []*view.LayuiTree
|
||||
for _, v := range data {
|
||||
if v.ParentID == parentId {
|
||||
|
||||
@@ -4,16 +4,15 @@ import (
|
||||
"context"
|
||||
|
||||
"management/internal/erpserver/model/system"
|
||||
"management/internal/erpserver/service"
|
||||
v1 "management/internal/erpserver/service/v1"
|
||||
"management/internal/erpserver/service/v1"
|
||||
)
|
||||
|
||||
type roleMenuService struct {
|
||||
*service.Service
|
||||
*v1.Service
|
||||
repo system.RoleMenuRepository
|
||||
}
|
||||
|
||||
func NewRoleMenuService(service *service.Service, repo system.RoleMenuRepository) v1.RoleMenuService {
|
||||
func NewRoleMenuService(service *v1.Service, repo system.RoleMenuRepository) v1.RoleMenuService {
|
||||
return &roleMenuService{
|
||||
Service: service,
|
||||
repo: repo,
|
||||
|
||||
@@ -10,8 +10,7 @@ import (
|
||||
"management/internal/erpserver/model/form"
|
||||
"management/internal/erpserver/model/system"
|
||||
"management/internal/erpserver/model/view"
|
||||
"management/internal/erpserver/service"
|
||||
v1 "management/internal/erpserver/service/v1"
|
||||
"management/internal/erpserver/service/v1"
|
||||
"management/internal/pkg/crypto"
|
||||
"management/internal/pkg/database"
|
||||
"management/internal/pkg/know"
|
||||
@@ -22,14 +21,14 @@ import (
|
||||
)
|
||||
|
||||
type userService struct {
|
||||
*service.Service
|
||||
*v1.Service
|
||||
repo system.UserRepository
|
||||
roleService v1.RoleService
|
||||
loginLogService v1.LoginLogService
|
||||
}
|
||||
|
||||
func NewUserService(
|
||||
service *service.Service,
|
||||
service *v1.Service,
|
||||
repo system.UserRepository,
|
||||
roleService v1.RoleService,
|
||||
loginLogService v1.LoginLogService,
|
||||
|
||||
Reference in New Issue
Block a user