Parcourir la source

refactor(internal/service): 优化 OldFormat 方法参数

- 将 OldFormat 方法的参数从 *[]model.GameShieldBackend 改为 []model.GameShieldBackend
- 相应地修改了方法内部的处理逻辑,移除了对指针的解引用操作
- 这个改动简化了代码,提高了代码的可读性和安全性
fusu il y a 2 mois
Parent
commit
eef0336d68

+ 1 - 1
internal/model/gameshieldbackend.go

@@ -6,7 +6,7 @@ type GameShieldBackend struct {
 	Id              int `gorm:"primary"`
 	HostId          int `gorm:"not null"`
 	KeySort         int
-	SourceMachineIP string ``
+	SourceMachineIP string `gorm:"not null"`
 	Protocol        string `gorm:"not null"`
 	ProxyAddr       string `gorm:"null"`
 	ConnectPort     string `gorm:"not null"`

+ 4 - 3
internal/service/formatter.go

@@ -20,7 +20,7 @@ import (
 type FormatterService interface {
 	FormatBackendData(ctx context.Context, req *v1.GameShieldBackendArrayRequest, output map[string]v1.SendGameShieldBackend, keyCounter int) (string, error)
 	FormatPort(ctx context.Context, req interface{}) []int
-	OldFormat(ctx context.Context, req []model.GameShieldBackend) (map[string]v1.SendGameShieldBackend, error)
+	OldFormat(ctx context.Context, req *[]model.GameShieldBackend) (map[string]v1.SendGameShieldBackend, error)
 	TidyFormatBackendData(ctx context.Context, req *v1.GameShieldBackendArrayRequest, keyCounter int) (map[string]v1.SendGameShieldBackend, error)
 	Sort(ctx context.Context, mapData map[string]v1.SendGameShieldBackend) (map[string]v1.SendGameShieldBackend, error)
 	ValidateBackendData(ctx context.Context, mapData map[string]v1.SendGameShieldBackend, hostId int) error
@@ -105,11 +105,12 @@ func (service *formatterService) FormatPort(ctx context.Context, req interface{}
 }
 
 // OldFormat 旧格式
-func (service *formatterService) OldFormat(ctx context.Context, req []model.GameShieldBackend) (map[string]v1.SendGameShieldBackend, error) {
+func (service *formatterService) OldFormat(ctx context.Context, req *[]model.GameShieldBackend) (map[string]v1.SendGameShieldBackend, error) {
 	res := make(map[string]v1.SendGameShieldBackend)
 	var UdpSessionTimeout string
 	var MaxBandwidth string
-	for _, v := range req {
+	for _, v := range *req {
+		service.logger.Info("v", zap.Any("v", v))
 		addr := fmt.Sprintf("%s:%s", v.SourceMachineIP, v.ConnectPort)
 		service.logger.Info("addr", zap.Any("addr", addr))
 		sdkPort, err := strconv.Atoi(v.SdkPort)

+ 2 - 2
internal/service/gameshieldbackend.go

@@ -91,7 +91,7 @@ func (s *gameShieldBackendService) GetGameShieldRequired(ctx context.Context, re
 	if len(oldBackend) != 0 {
 		count = oldBackend[0].KeySort
 	}
-	OldBackend, err := s.formatter.OldFormat(ctx, oldBackend)
+	OldBackend, err := s.formatter.OldFormat(ctx, &oldBackend)
 	res.Backend, err = s.formatter.FormatBackendData(ctx, req, OldBackend, count)
 	if err != nil {
 		return nil, 0, err
@@ -223,7 +223,7 @@ func (s *gameShieldBackendService) EditGameShieldBackend(ctx context.Context, re
 	s.logger.Info("模拟修改后的数据", zap.Any("data", simulatedData))
 	// 5. 使用模拟修改后的数据进行验证
 	// 转换数据格式
-	simulatedBackend, err := s.formatter.OldFormat(ctx, simulatedData)
+	simulatedBackend, err := s.formatter.OldFormat(ctx, &simulatedData)
 	if err != nil {
 		return "", fmt.Errorf("格式化模拟数据失败: %w", err)
 	}