transfer_yl/cmd/api/internal/svc/serviceContext.go

38 lines
940 B
Go

package svc
import (
"github.com/zeromicro/go-zero/core/stores/sqlx"
"github.com/zeromicro/go-zero/rest"
"github.com/zeromicro/go-zero/zrpc"
_ "github.com/zeromicro/zero-contrib/zrpc/registry/nacos"
"rs/cmd/api/internal/config"
"rs/cmd/api/internal/middleware"
"rs/cmd/api/internal/types"
"rs/genModel"
"rs/rpc/transferClient"
)
type ServiceContext struct {
*types.BaseServiceContext
SignMiddleware rest.Middleware
}
func NewServiceContext(c config.Config) *ServiceContext {
client := transferClient.NewTransfer(zrpc.MustNewClient(zrpc.RpcClientConf{
Endpoints: c.Nacos.Endpoints,
}))
sqlConn := sqlx.NewMysql(c.DB.Master.DataSource)
base := types.BaseServiceContext{
Config: c,
TransferRpc: client,
YlOrderMarketRepo: genModel.NewYlOrderMarketModel(sqlConn, c.Cache),
}
return &ServiceContext{
BaseServiceContext: &base,
SignMiddleware: middleware.NewSignMiddleware(&c).Handle,
}
}