refactor all service dependency injection

This commit is contained in:
2026-08-10 11:35:48 +08:00
parent 007a7ba38a
commit c883cc52a2
152 changed files with 1030 additions and 223 deletions

View File

@@ -0,0 +1,32 @@
package service
import (
"bsm/full/module/ec/mall/internal/impl"
"git.apinb.com/bsm-sdk/core/cache/redis"
cache "github.com/patrickmn/go-cache"
clientv3 "go.etcd.io/etcd/client/v3"
"gorm.io/gorm"
)
// Dependencies contains shared infrastructure supplied by the all module.
type Dependencies struct {
Redis *redis.RedisClient
Etcd *clientv3.Client
DB *gorm.DB
Cache *cache.Cache
}
func applyDependencies(deps Dependencies) {
if deps.Redis != nil {
impl.RedisService = deps.Redis
}
if deps.Etcd != nil {
impl.EtcdService = deps.Etcd
}
if deps.DB != nil {
impl.DBService = deps.DB
}
if deps.Cache != nil {
impl.MemorySerice = deps.Cache
}
}

View File

@@ -10,11 +10,13 @@ import (
)
type ExposeOptions struct {
Dependencies
GRPC *grpc.Server
Gateway *gwRuntime.ServeMux
}
func Expose(options ExposeOptions) error {
applyDependencies(options.Dependencies)
server.New(options.GRPC)
ctx := context.Background()