package bootstrap import ( accountSvc "github.com/break/junhong_cmp_fiber/internal/service/account" authSvc "github.com/break/junhong_cmp_fiber/internal/service/auth" permissionSvc "github.com/break/junhong_cmp_fiber/internal/service/permission" personalCustomerSvc "github.com/break/junhong_cmp_fiber/internal/service/personal_customer" roleSvc "github.com/break/junhong_cmp_fiber/internal/service/role" shopSvc "github.com/break/junhong_cmp_fiber/internal/service/shop" shopAccountSvc "github.com/break/junhong_cmp_fiber/internal/service/shop_account" ) // services 封装所有 Service 实例 // 注意:此结构体不导出,仅在 bootstrap 包内部使用 type services struct { Account *accountSvc.Service Role *roleSvc.Service Permission *permissionSvc.Service PersonalCustomer *personalCustomerSvc.Service Shop *shopSvc.Service ShopAccount *shopAccountSvc.Service Auth *authSvc.Service } // initServices 初始化所有 Service 实例 func initServices(s *stores, deps *Dependencies) *services { return &services{ Account: accountSvc.New(s.Account, s.Role, s.AccountRole), Role: roleSvc.New(s.Role, s.Permission, s.RolePermission), Permission: permissionSvc.New(s.Permission, s.AccountRole, s.RolePermission, deps.Redis), PersonalCustomer: personalCustomerSvc.NewService(s.PersonalCustomer, s.PersonalCustomerPhone, deps.VerificationService, deps.JWTManager, deps.Logger), Shop: shopSvc.New(s.Shop, s.Account), ShopAccount: shopAccountSvc.New(s.Account, s.Shop), Auth: authSvc.New(s.Account, s.AccountRole, s.RolePermission, s.Permission, deps.TokenManager, deps.Logger), } }