This commit is contained in:
kenneth
2025-06-14 21:12:52 +08:00
parent 3bd4c5d672
commit b6aff77084
8 changed files with 54 additions and 94 deletions

View File

@@ -1,21 +1,14 @@
package erpserver
import (
"management/internal/erpserver/model/system"
"management/internal/erpserver/repository/seed"
v1 "management/internal/erpserver/service/v1"
"github.com/go-chi/chi/v5"
)
type App struct {
UserRepo system.UserRepository
RoleRepo system.RoleRepository
MenuRepo system.MenuRepository
RoleMenuRepo system.RoleMenuRepository
DepartmentRepo system.DepartmentRepository
ConfigRepo system.ConfigRepository
LoginLogRepo system.LoginLogRepository
AuditLogRepo system.AuditLogRepository
Seed *seed.Seed
AuditLogService v1.AuditLogService
@@ -23,28 +16,14 @@ type App struct {
}
func NewApp(
UserRepo system.UserRepository,
RoleRepo system.RoleRepository,
MenuRepo system.MenuRepository,
RoleMenuRepo system.RoleMenuRepository,
DepartmentRepo system.DepartmentRepository,
ConfigRepo system.ConfigRepository,
LoginLogRepo system.LoginLogRepository,
AuditLogRepo system.AuditLogRepository,
Seed *seed.Seed,
AuditLogService v1.AuditLogService,
Router *chi.Mux,
) App {
return App{
UserRepo: UserRepo,
RoleRepo: RoleRepo,
MenuRepo: MenuRepo,
RoleMenuRepo: RoleMenuRepo,
DepartmentRepo: DepartmentRepo,
ConfigRepo: ConfigRepo,
LoginLogRepo: LoginLogRepo,
AuditLogRepo: AuditLogRepo,
Seed: Seed,
AuditLogService: AuditLogService,

View File

@@ -2,43 +2,63 @@ package seed
import (
"context"
"time"
"management/internal/erpserver/model/system"
)
func Init(
type Seed struct {
configRepository system.ConfigRepository
departmentRepository system.DepartmentRepository
roleRepository system.RoleRepository
userRepository system.UserRepository
menuRepository system.MenuRepository
}
func NewSeed(
configRepository system.ConfigRepository,
departmentRepository system.DepartmentRepository,
roleRepository system.RoleRepository,
userRepository system.UserRepository,
menuRepository system.MenuRepository,
) error {
ctx := context.Background()
) *Seed {
return &Seed{
configRepository: configRepository,
departmentRepository: departmentRepository,
roleRepository: roleRepository,
userRepository: userRepository,
menuRepository: menuRepository,
}
}
func (s *Seed) Run() error {
ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second)
defer cancel()
// 后台pear配置
if err := configRepository.Initialize(ctx); err != nil {
if err := s.configRepository.Initialize(ctx); err != nil {
return err
}
// 部门
err := departmentRepository.Initialize(ctx)
err := s.departmentRepository.Initialize(ctx)
if err != nil {
return err
}
// 角色
role, err := roleRepository.Initialize(ctx)
role, err := s.roleRepository.Initialize(ctx)
if err != nil {
return err
}
// 用户
if err := userRepository.Initialize(ctx, 0, role.ID); err != nil {
if err := s.userRepository.Initialize(ctx, 0, role.ID); err != nil {
return err
}
// 菜单
if err = menuRepository.Initialize(ctx); err != nil {
if err = s.menuRepository.Initialize(ctx); err != nil {
return err
}

View File

@@ -8,6 +8,7 @@ import (
commonHandler "management/internal/erpserver/handler/common"
systemHandler "management/internal/erpserver/handler/system"
"management/internal/erpserver/repository"
"management/internal/erpserver/repository/seed"
systemRepo "management/internal/erpserver/repository/system"
"management/internal/erpserver/service/v1"
commonService "management/internal/erpserver/service/v1/common"
@@ -33,6 +34,7 @@ var repositorySet = wire.NewSet(
systemRepo.NewRoleMenuRepository,
systemRepo.NewDepartmentRepository,
systemRepo.NewConfigRepository,
seed.NewSeed,
)
var serviceSet = wire.NewSet(

View File

@@ -13,6 +13,7 @@ import (
common2 "management/internal/erpserver/handler/common"
system3 "management/internal/erpserver/handler/system"
"management/internal/erpserver/repository"
"management/internal/erpserver/repository/seed"
"management/internal/erpserver/repository/system"
"management/internal/erpserver/service/v1"
"management/internal/erpserver/service/v1/common"
@@ -31,14 +32,12 @@ func NewWire(configConfig *config.Config, loggerLogger *logger.Logger) (App, fun
return App{}, nil, err
}
repositoryRepository := repository.NewRepository(db, loggerLogger)
userRepository := system.NewUserRepository(repositoryRepository)
roleRepository := system.NewRoleRepository(repositoryRepository)
menuRepository := system.NewMenuRepository(repositoryRepository)
roleMenuRepository := system.NewRoleMenuRepository(repositoryRepository)
departmentRepository := system.NewDepartmentRepository(repositoryRepository)
configRepository := system.NewConfigRepository(repositoryRepository)
loginLogRepository := system.NewLoginLogRepository(repositoryRepository)
auditLogRepository := system.NewAuditLogRepository(repositoryRepository)
departmentRepository := system.NewDepartmentRepository(repositoryRepository)
roleRepository := system.NewRoleRepository(repositoryRepository)
userRepository := system.NewUserRepository(repositoryRepository)
menuRepository := system.NewMenuRepository(repositoryRepository)
seedSeed := seed.NewSeed(configRepository, departmentRepository, roleRepository, userRepository, menuRepository)
transaction := repository.NewTransaction(repositoryRepository)
client, cleanup2, err := cache.ConnectRedis(configConfig, loggerLogger)
if err != nil {
@@ -53,8 +52,10 @@ func NewWire(configConfig *config.Config, loggerLogger *logger.Logger) (App, fun
}
cacheCache := cache.NewRedisCache(client)
service := v1.NewService(loggerLogger, transaction, manager, cacheCache)
auditLogRepository := system.NewAuditLogRepository(repositoryRepository)
auditLogService := system2.NewAuditLogService(service, auditLogRepository)
roleService := system2.NewRoleService(service, roleRepository)
roleMenuRepository := system.NewRoleMenuRepository(repositoryRepository)
roleMenuService := system2.NewRoleMenuService(service, roleMenuRepository)
menuService := system2.NewMenuService(service, menuRepository, roleService, roleMenuService)
renderRender, err := render.New(manager, menuService)
@@ -69,6 +70,7 @@ func NewWire(configConfig *config.Config, loggerLogger *logger.Logger) (App, fun
uploadHandler := common2.NewUploadHandler(handlerHandler)
configService := system2.NewConfigService(service, configRepository)
configHandler := system3.NewConfigHandler(handlerHandler, configService)
loginLogRepository := system.NewLoginLogRepository(repositoryRepository)
loginLogService := system2.NewLoginLogService(service, loginLogRepository)
userService := system2.NewUserService(service, userRepository, roleService, loginLogService)
homeHandler := system3.NewHomeHandler(handlerHandler, userService, loginLogService)
@@ -80,7 +82,7 @@ func NewWire(configConfig *config.Config, loggerLogger *logger.Logger) (App, fun
roleHandler := system3.NewRoleHandler(handlerHandler, roleService, menuService)
departmentHandler := system3.NewDepartmentHandler(handlerHandler, departmentService)
mux := NewHTTPServer(manager, loggerLogger, menuService, auditLogService, captchaHandler, uploadHandler, configHandler, homeHandler, userHandler, loginLogHandler, auditHandler, menuHandler, roleHandler, departmentHandler)
app := NewApp(userRepository, roleRepository, menuRepository, roleMenuRepository, departmentRepository, configRepository, loginLogRepository, auditLogRepository, auditLogService, mux)
app := NewApp(seedSeed, auditLogService, mux)
return app, func() {
cleanup2()
cleanup()
@@ -89,7 +91,7 @@ func NewWire(configConfig *config.Config, loggerLogger *logger.Logger) (App, fun
// wire.go:
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 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, seed.NewSeed)
var serviceSet = wire.NewSet(v1.NewService, common.NewCaptchaService, system2.NewUserService, system2.NewLoginLogService, system2.NewAuditLogService, system2.NewRoleService, system2.NewMenuService, system2.NewRoleMenuService, system2.NewDepartmentService, system2.NewConfigService)