Browse Source

refactor(udp): 将 UDP 端口字段类型从 int 改为 string

- 在 api/v1/udpForwarding.go 中将 UdpForwardingData 结构
fusu 1 tháng trước cách đây
mục cha
commit
78523f2438
2 tập tin đã thay đổi với 9 bổ sung8 xóa
  1. 1 1
      api/v1/udpForwarding.go
  2. 8 7
      internal/service/udpforwarding.go

+ 1 - 1
api/v1/udpForwarding.go

@@ -25,7 +25,7 @@ type UdpForwardingDataRequest struct {
 	Id                int    `form:"id" json:"id"`
 	WafUdpId          int    `form:"waf_udp_id" json:"waf_udp_id"`
 	Tag               string `form:"tag" json:"tag"`
-	Port              int    `form:"port" json:"port" binding:"required"`
+	Port              string    `form:"port" json:"port" binding:"required"`
 	WafGatewayGroupId int    `form:"waf_gateway_group_id" json:"waf_gateway_group_id"`
 	WafUdpLimitId     int    `form:"waf_udp_limit_id" json:"waf_udp_limit_id"`
 	CcPacketCount     int    `form:"cc_packet_count" json:"cc_packet_count" default:"0"`

+ 8 - 7
internal/service/udpforwarding.go

@@ -87,16 +87,12 @@ func (s *udpForWardingService) GetUdpForWarding(ctx context.Context,req v1.GetFo
 	if err = g.Wait(); err != nil {
 		return v1.UdpForwardingDataRequest{}, err
 	}
-	portInt, err := strconv.Atoi(udpForWarding.Port)
-	if err != nil {
-		return v1.UdpForwardingDataRequest{}, err
-	}
 
 	return v1.UdpForwardingDataRequest{
 		Id:                 udpForWarding.Id,
 		WafUdpId:           udpForWarding.WafUdpId,
 		Tag:                udpForWarding.Tag,
-		Port:               portInt,
+		Port:               udpForWarding.Port,
 		WafGatewayGroupId:  udpForWarding.WafGatewayGroupId,
 		WafUdpLimitId:      udpForWarding.UdpLimitRuleId,
 		CcPacketCount:      udpForWarding.CcPacketCount,
@@ -142,7 +138,7 @@ func (s *udpForWardingService) buildUdpForwardingModel(req *v1.UdpForwardingData
 		HostId: 			  require.HostId,
 		WafUdpId:             ruleId,
 		Tag:                  require.Tag,
-		Port:                 strconv.Itoa(req.Port),
+		Port:                 req.Port,
 		WafGatewayGroupId:    require.WafGatewayGroupId,
 		UdpLimitRuleId:       require.LimitRuleId,
 		CcPacketCount:        req.CcPacketCount,
@@ -190,13 +186,18 @@ func (s *udpForWardingService) prepareWafData(ctx context.Context, req *v1.UdpFo
 	allowIpListStr := strings.Join(req.UdpForwardingData.AllowIpList, "\n")
 	denyIpListStr := strings.Join(req.UdpForwardingData.DenyIpList, "\n")
 
+	PortInt, err := strconv.Atoi(req.UdpForwardingData.Port)
+	if err != nil {
+		return v1.GlobalRequire{}, nil, err
+	}
+
 	// 3. 创建用于构建 WAF 表单的数据结构
 	formDataBase := v1.UdpForwardingDataSend{
 		Tag:               require.Tag,
 		WafUdpId:          req.UdpForwardingData.WafUdpId,
 		WafGatewayGroupId: require.WafGatewayGroupId,
 		WafUdpLimitId: require.LimitRuleId,
-		Port:              req.UdpForwardingData.Port,
+		Port:              PortInt,
 		CcPacketCount:     req.UdpForwardingData.CcPacketCount,
 		CcPacketDuration:  req.UdpForwardingData.CcPacketDuration,
 		CcCount:           req.UdpForwardingData.CcCount,