This commit is contained in:
2025-06-06 14:31:58 +08:00
parent 38ee553cf3
commit 96d537c044
20 changed files with 412 additions and 421 deletions

View File

@@ -13,6 +13,10 @@ import (
"github.com/drhin/logger"
)
//type RouterGroup interface {
// Register(router chi.Router)
//}
type Handler struct {
Config *config.Config
Log *logger.Logger

View File

@@ -107,7 +107,6 @@ func (h *RoleHandler) Save(w http.ResponseWriter, r *http.Request) {
h.JSONErr(w, err.Error())
return
}
h.JSONOk(w, "更新成功")
}
}
@@ -122,18 +121,14 @@ func (h *RoleHandler) Data(w http.ResponseWriter, r *http.Request) {
h.JSONErr(w, err.Error())
return
}
h.JSON(w, res)
return
} else if t == "xm_select_tree" {
res, err := h.roleService.XmSelectTree(ctx, 0)
if err != nil {
h.JSONErr(w, err.Error())
return
}
h.JSON(w, res)
return
}
}

View File

@@ -0,0 +1,145 @@
package system
//
//import (
// v1 "management/internal/erpserver/service/v1"
// mi "management/internal/pkg/middleware"
// "management/internal/pkg/session"
//
// "github.com/go-chi/chi/v5"
//)
//
//type HandlerGroup struct {
// sm session.Manager
// menuService v1.MenuService
// HomeHandler *HomeHandler
// ConfigHandler *ConfigHandler
// UserHandler *UserHandler
// LoginLogHandler *LoginLogHandler
// AuditHandler *AuditHandler
// MenuHandler *MenuHandler
// RoleHandler *RoleHandler
// DepartmentHandler *DepartmentHandler
//}
//
//func NewHandlerGroup(
// sm session.Manager,
// menuService v1.MenuService,
// homeHandler *HomeHandler,
// configHandler *ConfigHandler,
// userHandler *UserHandler,
// loginLogHandler *LoginLogHandler,
// auditHandler *AuditHandler,
// menuHandler *MenuHandler,
// roleHandler *RoleHandler,
// departmentHandler *DepartmentHandler,
//) *HandlerGroup {
// return &HandlerGroup{
// sm: sm,
// HomeHandler: homeHandler,
// ConfigHandler: configHandler,
// UserHandler: userHandler,
// LoginLogHandler: loginLogHandler,
// AuditHandler: auditHandler,
// MenuHandler: menuHandler,
// RoleHandler: roleHandler,
// DepartmentHandler: departmentHandler,
// }
//}
//
//func (g *HandlerGroup) Register(r chi.Router) {
// //r.Get("/captcha", g.CaptchaHandler.Captcha)
// //r.Post("/login", userHandler.Login)
//
// r.Get("/", g.UserHandler.Login)
// r.Group(func(r chi.Router) {
// r.Use(mi.Authorize(g.sm, menuService))
//
// r.Get("/logout", userHandler.Logout)
//
// r.Get("/home.html", homeHandler.Home)
// r.Get("/dashboard", homeHandler.Dashboard)
// r.Get("/pear.json", configHandler.Pear)
//
// r.Route("/upload", func(r chi.Router) {
// r.Use(mi.Audit(sm, auditLogService, log))
// r.Get("/img", uploadHandler.Img)
// r.Get("/file", uploadHandler.File)
// r.Get("/multi_files", uploadHandler.MultiFiles)
// })
//
// r.Route("/system", func(r chi.Router) {
// r.Use(mi.Audit(sm, auditLogService, log))
//
// r.Get("/menus", menuHandler.Menus)
//
// r.Route("/config", func(r chi.Router) {
// r.Get("/list", configHandler.List)
// r.Post("/list", configHandler.List)
// r.Get("/add", configHandler.Add)
// r.Get("/edit", configHandler.Edit)
// r.Post("/save", configHandler.Save)
// r.Post("/refresh_cache", configHandler.RefreshCache)
// r.Post("/reset_pear", configHandler.ResetPear)
// })
//
// r.Route("/menu", func(r chi.Router) {
// r.Get("/list", menuHandler.List)
// r.Post("/list", menuHandler.List)
// r.Get("/add", menuHandler.Add)
// r.Get("/add_children", menuHandler.AddChildren)
// r.Get("/edit", menuHandler.Edit)
// r.Post("/save", menuHandler.Save)
// r.Post("/data", menuHandler.Data)
// r.Post("/refresh_cache", menuHandler.RefreshCache)
// })
//
// r.Route("/department", func(r chi.Router) {
// r.Get("/list", departmentHandler.List)
// r.Post("/list", departmentHandler.List)
// r.Get("/add", departmentHandler.Add)
// r.Get("/add_children", departmentHandler.AddChildren)
// r.Get("/edit", departmentHandler.Edit)
// r.Post("/save", departmentHandler.Save)
// r.Post("/data", departmentHandler.Data)
// r.Post("/refresh_cache", departmentHandler.RefreshCache)
// r.Post("/rebuild_parent_path", departmentHandler.RebuildParentPath)
// })
//
// r.Route("/role", func(r chi.Router) {
// r.Get("/list", roleHandler.List)
// r.Post("/list", roleHandler.List)
// r.Get("/add", roleHandler.Add)
// r.Get("/add_children", roleHandler.AddChildren)
// r.Get("/edit", roleHandler.Edit)
// r.Post("/save", roleHandler.Save)
// r.Post("/data", roleHandler.Data)
// r.Post("/refresh_cache", roleHandler.RefreshCache)
// r.Post("/rebuild_parent_path", roleHandler.RebuildParentPath)
// r.Post("/refresh_role_menus", roleHandler.RefreshRoleMenus)
// r.Get("/set_menu", roleHandler.SetMenu)
// r.Post("/set_menu", roleHandler.SetMenu)
// })
//
// r.Route("/user", func(r chi.Router) {
// r.Get("/list", userHandler.List)
// r.Post("/list", userHandler.List)
// r.Get("/add", userHandler.Add)
// r.Get("/edit", userHandler.Edit)
// r.Post("/save", userHandler.Save)
// r.Get("/profile", userHandler.Profile)
// r.Post("/data", userHandler.Data)
// })
//
// r.Route("/login_log", func(r chi.Router) {
// r.Get("/list", loginLogHandler.List)
// r.Post("/list", loginLogHandler.List)
// })
//
// r.Route("/audit_log", func(r chi.Router) {
// r.Get("/list", auditHandler.List)
// r.Post("/list", auditHandler.List)
// })
// })
// })
//}

View File

@@ -1,30 +0,0 @@
package service
import (
"management/internal/erpserver/repository"
"management/internal/pkg/redis"
"management/internal/pkg/session"
"github.com/drhin/logger"
)
type Service struct {
Log *logger.Logger
Tx repository.Transaction
Session session.Manager
Redis redis.Cache
}
func NewService(
log *logger.Logger,
tx repository.Transaction,
session session.Manager,
redis redis.Cache,
) *Service {
return &Service{
Log: log,
Tx: tx,
Session: session,
Redis: redis,
}
}

View File

@@ -0,0 +1,54 @@
package util
import (
"context"
"encoding/json"
"log"
"math/rand"
"time"
"management/internal/erpserver/model/view"
"management/internal/pkg/redis"
)
func GetCacheExpire() time.Duration {
return time.Hour*6 + time.Duration(rand.Intn(600))*time.Second // 6小时±10分钟
}
func GetOrSetCache(ctx context.Context, redis redis.Cache, key string, expire time.Duration, getData func() (any, error), result any) error {
if data, err := redis.GetBytes(ctx, key); err == nil {
return json.Unmarshal(data, result)
}
data, err := getData()
if err != nil {
return err
}
bytes, err := json.Marshal(data)
if err != nil {
return err
}
if err := redis.Set(ctx, key, bytes, expire); err != nil {
log.Printf("Failed to set cache: %v", err)
}
return json.Unmarshal(bytes, result)
}
func BuildTree[T any](
parentID int32,
data []*T,
idFunc func(*T) int32,
childrenFunc func(*T, []*view.LayuiTree) *view.LayuiTree,
) []*view.LayuiTree {
var res []*view.LayuiTree
for _, item := range data {
if idFunc(item) == parentID {
childNodes := BuildTree[T](idFunc(item), data, idFunc, childrenFunc)
res = append(res, childrenFunc(item, childNodes))
}
}
return res
}

View File

@@ -6,23 +6,25 @@ import (
"github.com/mojocn/base64Captcha"
)
type captchaService struct{}
func NewCaptchaService() v1.CaptchaService {
return &captchaService{}
type captchaService struct {
store base64Captcha.Store
}
var captchaStore = base64Captcha.DefaultMemStore
func NewCaptchaService() v1.CaptchaService {
return &captchaService{
store: base64Captcha.DefaultMemStore,
}
}
func (b *captchaService) Generate(height int, width int, length int, maxSkew float64, dotCount int) (id, b64s, answer string, err error) {
driver := base64Captcha.NewDriverDigit(height, width, length, maxSkew, dotCount)
// driver := base64Captcha.NewDriverString(config.File.Captcha.ImgHeight,
// config.File.Captcha.ImgWidth,
// 6, 1, keyLong, source, nil, nil, nil)
cp := base64Captcha.NewCaptcha(driver, captchaStore)
cp := base64Captcha.NewCaptcha(driver, b.store)
return cp.Generate()
}
func (b *captchaService) Verify(id, answer string, clear bool) bool {
return captchaStore.Verify(id, answer, clear)
return b.store.Verify(id, answer, clear)
}

View File

@@ -8,8 +8,34 @@ import (
"management/internal/erpserver/model/form"
"management/internal/erpserver/model/system"
"management/internal/erpserver/model/view"
"management/internal/erpserver/repository"
"management/internal/pkg/redis"
"management/internal/pkg/session"
"github.com/drhin/logger"
)
type Service struct {
Log *logger.Logger
Tx repository.Transaction
Session session.Manager
Redis redis.Cache
}
func NewService(
log *logger.Logger,
tx repository.Transaction,
session session.Manager,
redis redis.Cache,
) *Service {
return &Service{
Log: log,
Tx: tx,
Session: session,
Redis: redis,
}
}
type CaptchaService interface {
Generate(height int, width int, length int, maxSkew float64, dotCount int) (id, b64s, answer string, err error)
Verify(id, answer string, clear bool) bool

View File

@@ -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,

View File

@@ -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 {

View File

@@ -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 {

View File

@@ -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,

View File

@@ -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 {

View File

@@ -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 {

View File

@@ -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,

View File

@@ -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,

View File

@@ -9,7 +9,7 @@ import (
systemHandler "management/internal/erpserver/handler/system"
"management/internal/erpserver/repository"
systemRepo "management/internal/erpserver/repository/system"
"management/internal/erpserver/service"
"management/internal/erpserver/service/v1"
commonService "management/internal/erpserver/service/v1/common"
systemService "management/internal/erpserver/service/v1/system"
"management/internal/pkg/config"
@@ -37,7 +37,7 @@ var repositorySet = wire.NewSet(
)
var serviceSet = wire.NewSet(
service.NewService,
v1.NewService,
commonService.NewCaptchaService,
systemService.NewUserService,
systemService.NewLoginLogService,

View File

@@ -15,7 +15,7 @@ import (
system3 "management/internal/erpserver/handler/system"
"management/internal/erpserver/repository"
"management/internal/erpserver/repository/system"
"management/internal/erpserver/service"
"management/internal/erpserver/service/v1"
"management/internal/erpserver/service/v1/common"
system2 "management/internal/erpserver/service/v1/system"
"management/internal/pkg/config"
@@ -43,15 +43,15 @@ func NewWire(configConfig *config.Config, loggerLogger *logger.Logger) (*chi.Mux
cleanup()
return nil, nil, err
}
serviceService := service.NewService(loggerLogger, transaction, manager, cache)
service := v1.NewService(loggerLogger, transaction, manager, cache)
menuRepository := system.NewMenuRepository(repositoryRepository)
roleRepository := system.NewRoleRepository(repositoryRepository)
roleService := system2.NewRoleService(serviceService, roleRepository)
roleService := system2.NewRoleService(service, roleRepository)
roleMenuRepository := system.NewRoleMenuRepository(repositoryRepository)
roleMenuService := system2.NewRoleMenuService(serviceService, roleMenuRepository)
menuService := system2.NewMenuService(serviceService, menuRepository, roleService, roleMenuService)
roleMenuService := system2.NewRoleMenuService(service, roleMenuRepository)
menuService := system2.NewMenuService(service, menuRepository, roleService, roleMenuService)
auditLogRepository := system.NewAuditLogRepository(repositoryRepository)
auditLogService := system2.NewAuditLogService(serviceService, auditLogRepository)
auditLogService := system2.NewAuditLogService(service, auditLogRepository)
renderRender, err := render.New(manager, menuService)
if err != nil {
cleanup2()
@@ -63,15 +63,15 @@ func NewWire(configConfig *config.Config, loggerLogger *logger.Logger) (*chi.Mux
captchaHandler := common2.NewCaptchaHandler(handlerHandler, captchaService)
uploadHandler := common2.NewUploadHandler(handlerHandler)
configRepository := system.NewConfigRepository(repositoryRepository)
configService := system2.NewConfigService(serviceService, configRepository)
configService := system2.NewConfigService(service, configRepository)
configHandler := system3.NewConfigHandler(handlerHandler, configService)
userRepository := system.NewUserRepository(repositoryRepository)
loginLogRepository := system.NewLoginLogRepository(repositoryRepository)
loginLogService := system2.NewLoginLogService(serviceService, loginLogRepository)
userService := system2.NewUserService(serviceService, userRepository, roleService, loginLogService)
loginLogService := system2.NewLoginLogService(service, loginLogRepository)
userService := system2.NewUserService(service, userRepository, roleService, loginLogService)
homeHandler := system3.NewHomeHandler(handlerHandler, userService, loginLogService)
departmentRepository := system.NewDepartmentRepository(repositoryRepository)
departmentService := system2.NewDepartmentService(serviceService, departmentRepository)
departmentService := system2.NewDepartmentService(service, departmentRepository)
userHandler := system3.NewUserHandler(handlerHandler, captchaService, userService, roleService, departmentService)
loginLogHandler := system3.NewLoginLogHandler(handlerHandler, loginLogService)
auditHandler := system3.NewAuditHandler(handlerHandler, auditLogService)
@@ -89,7 +89,7 @@ func NewWire(configConfig *config.Config, loggerLogger *logger.Logger) (*chi.Mux
var repositorySet = wire.NewSet(repository.NewDB, repository.NewRepository, repository.NewTransaction, system.NewUserRepository, system.NewLoginLogRepository, system.NewAuditLogRepository, system.NewRoleRepository, system.NewMenuRepository, system.NewRoleMenuRepository, system.NewDepartmentRepository, system.NewConfigRepository)
var serviceSet = wire.NewSet(service.NewService, common.NewCaptchaService, system2.NewUserService, system2.NewLoginLogService, system2.NewAuditLogService, system2.NewRoleService, system2.NewMenuService, system2.NewRoleMenuService, system2.NewDepartmentService, system2.NewConfigService)
var serviceSet = wire.NewSet(v1.NewService, common.NewCaptchaService, system2.NewUserService, system2.NewLoginLogService, system2.NewAuditLogService, system2.NewRoleService, system2.NewMenuService, system2.NewRoleMenuService, system2.NewDepartmentService, system2.NewConfigService)
var handlerSet = wire.NewSet(handler.NewHandler, common2.NewCaptchaHandler, common2.NewUploadHandler, system3.NewHomeHandler, system3.NewUserHandler, system3.NewLoginLogHandler, system3.NewAuditHandler, system3.NewRoleHandler, system3.NewMenuHandler, system3.NewDepartmentHandler, system3.NewConfigHandler)