浏览代码

feat(service): 新增 RequestService并集成到 GatewayGroupService 中- 在 gatewaygroup.go 中添加 RequestService 依赖
- 在 local.yml 和 prod.yml 中添加 flexCdn 配置
- 新增 request.go 文件定义 FlexCdnResponse 和 FlexCdnTokenResponse 结构体
- 在 wire.go 和 wire_gen.go 中更新服务集,添加 NewRequestService

fusu 1 月之前
父节点
当前提交
590f1e6a04
共有 6 个文件被更改,包括 29 次插入3 次删除
  1. 12 0
      api/v1/request.go
  2. 1 0
      cmd/server/wire/wire.go
  3. 3 2
      cmd/server/wire/wire_gen.go
  4. 5 0
      config/local.yml
  5. 4 0
      config/prod.yml
  6. 4 1
      internal/service/gatewaygroup.go

+ 12 - 0
api/v1/request.go

@@ -0,0 +1,12 @@
+package v1
+
+type FlexCdnResponse[T any] struct {
+	Code    int    `json:"code" form:"code"`
+	Message string `json:"message" form:"message"`
+	Data    T  `json:"data" form:"data"`
+}
+
+type FlexCdnTokenResponse struct {
+	Token string `json:"token" form:"token"`
+	ExpiresAt int64 `json:"expiresAt" form:"expiresAt"`
+}

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

@@ -75,6 +75,7 @@ var serviceSet = wire.NewSet(
 	service.NewGatewayGroupService,
 	service.NewWafFormatterService,
 	service.NewGateWayGroupIpService,
+	service.NewRequestService,
 )
 
 var handlerSet = wire.NewSet(

+ 3 - 2
cmd/server/wire/wire_gen.go

@@ -82,7 +82,8 @@ func NewWire(viperViper *viper.Viper, logger *log.Logger) (*app.App, func(), err
 	udpLimitRepository := repository.NewUdpLimitRepository(repositoryRepository)
 	udpLimitService := service.NewUdpLimitService(serviceService, udpLimitRepository, requiredService, crawlerService, parserService, hostService)
 	udpLimitHandler := handler.NewUdpLimitHandler(handlerHandler, udpLimitService)
-	gatewayGroupService := service.NewGatewayGroupService(serviceService, gatewayGroupRepository, requiredService, parserService)
+	requestService := service.NewRequestService(serviceService, viperViper)
+	gatewayGroupService := service.NewGatewayGroupService(serviceService, gatewayGroupRepository, requiredService, parserService, requestService)
 	globalLimitService := service.NewGlobalLimitService(serviceService, globalLimitRepository, duedateService, crawlerService, viperViper, requiredService, parserService, hostService, tcpLimitService, udpLimitService, webLimitService, gatewayGroupService, hostRepository, gatewayGroupRepository)
 	globalLimitHandler := handler.NewGlobalLimitHandler(handlerHandler, globalLimitService)
 	adminRepository := repository.NewAdminRepository(repositoryRepository)
@@ -102,7 +103,7 @@ func NewWire(viperViper *viper.Viper, logger *log.Logger) (*app.App, func(), err
 
 var repositorySet = wire.NewSet(repository.NewDB, repository.NewCasbinEnforcer, repository.NewMongoClient, repository.NewMongoDB, repository.NewRabbitMQ, repository.NewRepository, repository.NewTransaction, repository.NewAdminRepository, repository.NewUserRepository, repository.NewGameShieldRepository, repository.NewGameShieldPublicIpRepository, repository.NewWebForwardingRepository, repository.NewTcpforwardingRepository, repository.NewUdpForWardingRepository, repository.NewGameShieldUserIpRepository, repository.NewWebLimitRepository, repository.NewTcpLimitRepository, repository.NewUdpLimitRepository, repository.NewGameShieldBackendRepository, repository.NewGameShieldSdkIpRepository, repository.NewHostRepository, repository.NewGlobalLimitRepository, repository.NewGatewayGroupRepository, repository.NewGateWayGroupIpRepository)
 
-var serviceSet = wire.NewSet(service.NewService, service.NewAoDunService, service.NewUserService, service.NewAdminService, service.NewGameShieldService, service.NewGameShieldPublicIpService, service.NewDuedateService, service.NewFormatterService, service.NewParserService, service.NewRequiredService, service.NewCrawlerService, service.NewWebForwardingService, service.NewTcpforwardingService, service.NewUdpForWardingService, service.NewGameShieldUserIpService, service.NewWebLimitService, service.NewTcpLimitService, service.NewUdpLimitService, service.NewGameShieldBackendService, service.NewGameShieldSdkIpService, service.NewHostService, service.NewGlobalLimitService, service.NewGatewayGroupService, service.NewWafFormatterService, service.NewGateWayGroupIpService)
+var serviceSet = wire.NewSet(service.NewService, service.NewAoDunService, service.NewUserService, service.NewAdminService, service.NewGameShieldService, service.NewGameShieldPublicIpService, service.NewDuedateService, service.NewFormatterService, service.NewParserService, service.NewRequiredService, service.NewCrawlerService, service.NewWebForwardingService, service.NewTcpforwardingService, service.NewUdpForWardingService, service.NewGameShieldUserIpService, service.NewWebLimitService, service.NewTcpLimitService, service.NewUdpLimitService, service.NewGameShieldBackendService, service.NewGameShieldSdkIpService, service.NewHostService, service.NewGlobalLimitService, service.NewGatewayGroupService, service.NewWafFormatterService, service.NewGateWayGroupIpService, service.NewRequestService)
 
 var handlerSet = wire.NewSet(handler.NewHandler, handler.NewUserHandler, handler.NewAdminHandler, handler.NewGameShieldHandler, handler.NewGameShieldPublicIpHandler, handler.NewWebForwardingHandler, handler.NewTcpforwardingHandler, handler.NewUdpForWardingHandler, handler.NewGameShieldUserIpHandler, handler.NewWebLimitHandler, handler.NewTcpLimitHandler, handler.NewUdpLimitHandler, handler.NewGameShieldBackendHandler, handler.NewGameShieldSdkIpHandler, handler.NewHostHandler, handler.NewGlobalLimitHandler, handler.NewGatewayGroupHandler, handler.NewGateWayGroupIpHandler)
 

+ 5 - 0
config/local.yml

@@ -64,6 +64,11 @@ crawler:
   Url: "http://115.238.186.121:8700/"
   keyUrl: "http://115.238.186.121:13350/sdk/key?app_name="
 
+flexCdn:
+  AccessKeyID : "7P9yRc3eTKXxaKIE"
+  AccessKeySecret : "rOfLMlrsRrb1T46PlNMqkFG1RdGewNhr"
+  Url: "http://110.42.96.120:8002/"
+
 # 令牌桶限流配置
 limiter:
   # 全局限流配置

+ 4 - 0
config/prod.yml

@@ -67,6 +67,10 @@ crawler:
 #  Url: "http://115.238.186.121:8700/"
 #  keyUrl: "http://115.238.186.121:13350/sdk/key?app_name="
 
+flexCdn:
+  AccessKeyID : "7P9yRc3eTKXxaKIE"
+  AccessKeySecret : "rOfLMlrsRrb1T46PlNMqkFG1RdGewNhr"
+  Url: "http://110.42.96.120:8002/"
 # 令牌桶限流配置
 limiter:
   # 全局限流配置

+ 4 - 1
internal/service/gatewaygroup.go

@@ -1,7 +1,7 @@
 package service
 
 import (
-    "context"
+	"context"
 	"errors"
 	"fmt"
 	v1 "github.com/go-nunu/nunu-layout-advanced/api/v1"
@@ -26,12 +26,14 @@ func NewGatewayGroupService(
     gatewayGroupRepository repository.GatewayGroupRepository,
 	required RequiredService,
 	parser ParserService,
+	request RequestService,
 ) GatewayGroupService {
 	return &gatewayGroupService{
 		Service:        service,
 		gatewayGroupRepository: gatewayGroupRepository,
 		required: required,
 		parser: parser,
+		request: request,
 	}
 }
 
@@ -40,6 +42,7 @@ type gatewayGroupService struct {
 	gatewayGroupRepository repository.GatewayGroupRepository
 	required RequiredService
 	parser ParserService
+	request RequestService
 }
 
 func (s *gatewayGroupService) GetGatewayGroup(ctx context.Context, id int64) (*model.GatewayGroup, error) {