Преглед на файлове

refactor(cdn): 更新 EditServerBasic 方法以包含 nodeId 参数

- 修改了 cdn.Service 接口中的 EditServerBasic 方法,增加了 nodeId 参数
- 更新了 cdnService 实现类中的 EditServerBasic 方法,使用 nodeId 替代硬编码的值
- 在 globalLimitRepository 中新增了 GetNodeId 方法,用于获取节点 ID
- 调用了 globalLimitRepository 的 GetNodeId 方法来获取节点 ID,并将其传递给 EditServerBasic 方法
- 此更改涉及到了多个服务和文件,包括 webforwarding、tcpforwarding 和 udpforwarding 服务
fusu преди 1 месец
родител
ревизия
c6141a0b57

+ 1 - 1
cmd/server/wire/wire_gen.go

@@ -71,7 +71,7 @@ func NewWire(viperViper *viper.Viper, logger *log.Logger) (*app.App, func(), err
 	cdnService := service.NewCdnService(serviceService, viperViper, requestService, cdnRepository)
 	wafFormatterService := service.NewWafFormatterService(serviceService, globalLimitRepository, hostRepository, requiredService, parserService, tcpforwardingRepository, udpForWardingRepository, webForwardingRepository, rabbitMQ, hostService, gatewayGroupRepository, gateWayGroupIpRepository, cdnService)
 	aoDunService := service.NewAoDunService(serviceService, viperViper)
-	webForwardingService := service.NewWebForwardingService(serviceService, requiredService, webForwardingRepository, crawlerService, parserService, wafFormatterService, aoDunService, rabbitMQ, gateWayGroupIpRepository, gatewayGroupRepository, cdnService)
+	webForwardingService := service.NewWebForwardingService(serviceService, requiredService, webForwardingRepository, crawlerService, parserService, wafFormatterService, aoDunService, rabbitMQ, gateWayGroupIpRepository, gatewayGroupRepository, globalLimitRepository, cdnService)
 	webForwardingHandler := handler.NewWebForwardingHandler(handlerHandler, webForwardingService)
 	webLimitRepository := repository.NewWebLimitRepository(repositoryRepository)
 	webLimitService := service.NewWebLimitService(serviceService, webLimitRepository, requiredService, parserService, crawlerService, hostService)

+ 9 - 0
internal/repository/globallimit.go

@@ -22,6 +22,7 @@ type GlobalLimitRepository interface {
 	GetGlobalLimitFirst(ctx context.Context,uid int64) (*model.GlobalLimit, error)
 	GetUserInfo(ctx context.Context, uid int64) (v1.UserInfo, error)
 	GetHostName(ctx context.Context,hostId int64) (string, error)
+	GetNodeId(ctx context.Context, id int) (int64, error)
 }
 
 func NewGlobalLimitRepository(
@@ -146,4 +147,12 @@ func (r *globalLimitRepository) GetHostName(ctx context.Context,hostId int64) (s
 
 	// 如果查询成功,返回项目名称
 	return projectName, nil
+}
+
+func (r *globalLimitRepository) GetNodeId(ctx context.Context, id int) (int64, error) {
+	var nodeId int64
+	if err := r.DBWithName(ctx,"cdn").WithContext(ctx).Table("cloud_servers").Where("id = ?", id).Select("clusterId").Scan(&nodeId).Error; err != nil {
+		return 0, err
+	}
+	return nodeId, nil
 }

+ 3 - 3
internal/service/cdn.go

@@ -26,7 +26,7 @@ type CdnService interface {
 	AddServerOrigin(ctx context.Context, serverId int64, originId int64) error
 	EditOriginIsOn(ctx context.Context, originId int64, isOn bool) error
 	// 修改网站基本信息
-	EditServerBasic(ctx context.Context, serverId int64, name string) error
+	EditServerBasic(ctx context.Context, serverId int64, name string,nodeId int64) error
 	// 从网站中删除某个源站
 	DelServerOrigin(ctx context.Context, serverId int64, originId int64) error
 	// 删除网站
@@ -515,11 +515,11 @@ func (s *cdnService) EditOriginIsOn(ctx context.Context, originId int64, isOn bo
 }
 
 // EditServerBasic 修改网站基本信息
-func (s *cdnService) EditServerBasic(ctx context.Context, serverId int64, name string) error {
+func (s *cdnService) EditServerBasic(ctx context.Context, serverId int64, name string,nodeId int64) error {
 	formData := map[string]interface{}{
 		"serverId":      serverId,
 		"name":          name,
-		"nodeClusterId": 1,
+		"nodeClusterId": nodeId,
 		"isOn":          true,
 	}
 	apiUrl := s.Url + "ServerService/updateServerBasic"

+ 2 - 1
internal/service/tcpforwarding.go

@@ -251,7 +251,8 @@ func (s *tcpforwardingService) EditTcpForwarding(ctx context.Context, req *v1.Tc
 
 	//修改网站名字
 	if oldData.Comment != req.TcpForwardingData.Comment {
-		err = s.cdn.EditServerBasic(ctx, int64(oldData.CdnWebId), require.Tag)
+		nodeId, err := s.globalRep.GetNodeId(ctx, oldData.CdnWebId)
+		err = s.cdn.EditServerBasic(ctx, int64(oldData.CdnWebId), require.Tag, nodeId)
 		if err != nil {
 			return err
 		}

+ 5 - 1
internal/service/udpforwarding.go

@@ -249,7 +249,11 @@ func (s *udpForWardingService) EditUdpForwarding(ctx context.Context, req *v1.Ud
 
 	//修改网站名字
 	if oldData.Comment != req.UdpForwardingData.Comment {
-		err = s.cdn.EditServerBasic(ctx, int64(oldData.CdnWebId), require.Tag)
+		nodeId, err := s.globalRep.GetNodeId(ctx, oldData.CdnWebId)
+		if err != nil {
+			return err
+		}
+		err = s.cdn.EditServerBasic(ctx, int64(oldData.CdnWebId), require.Tag, nodeId)
 		if err != nil {
 			return err
 		}

+ 8 - 1
internal/service/webforwarding.go

@@ -33,6 +33,7 @@ func NewWebForwardingService(
 	mq *rabbitmq.RabbitMQ,
 	gatewayGroupIpRep repository.GateWayGroupIpRepository,
 	gatewayGroupRep repository.GatewayGroupRepository,
+	globalLimitRep repository.GlobalLimitRepository,
 	cdn CdnService,
 ) WebForwardingService {
 	return &webForwardingService{
@@ -47,6 +48,7 @@ func NewWebForwardingService(
 		gatewayGroupIpRep:       gatewayGroupIpRep,
 		gatewayGroupRep:         gatewayGroupRep,
 		cdn:                     cdn,
+		globalLimitRep:          globalLimitRep,
 	}
 }
 
@@ -69,6 +71,7 @@ type webForwardingService struct {
 	gatewayGroupIpRep       repository.GateWayGroupIpRepository
 	gatewayGroupRep         repository.GatewayGroupRepository
 	cdn                     CdnService
+	globalLimitRep          repository.GlobalLimitRepository
 }
 
 func (s *webForwardingService) require(ctx context.Context, req v1.GlobalRequire) (v1.GlobalRequire, error) {
@@ -512,7 +515,11 @@ func (s *webForwardingService) EditWebForwarding(ctx context.Context, req *v1.We
 
 	//修改网站名字
 	if oldData.Comment != req.WebForwardingData.Comment {
-		err = s.cdn.EditServerBasic(ctx, int64(oldData.CdnWebId), require.Tag)
+		nodeId,err := s.globalLimitRep.GetNodeId(ctx, oldData.CdnWebId)
+		if err != nil {
+			return err
+		}
+		err = s.cdn.EditServerBasic(ctx, int64(oldData.CdnWebId), require.Tag,nodeId)
 		if err != nil {
 			return err
 		}