Prechádzať zdrojové kódy

fix(internal/service): 修复 webforwarding 中网关组 IP 获取及任务发布逻辑

- 移除了获取网关组 IP 的冗余代码
- 添加了对网关组不存在的错误检查
- 修改了域名白名单任务发布的逻辑,使用前端传入的 GatewayIps
- 优化了 IP 白名单任务发布的逻辑,使用前端传入的 GatewayIps
fusu 1 mesiac pred
rodič
commit
db2a1d8e0d
1 zmenil súbory, kde vykonal 7 pridanie a 7 odobranie
  1. 7 7
      internal/service/webforwarding.go

+ 7 - 7
internal/service/webforwarding.go

@@ -446,10 +446,7 @@ func (s *webForwardingService) EditWebForwarding(ctx context.Context, req *v1.We
 	if err != nil {
 		return err
 	}
-	gatewayIps, firstIp, err := s.wafformatter.GetIp(ctx, webData.WafGatewayGroupId)
-	if err != nil {
-		return err
-	}
+
 	// 异步任务:将域名添加到白名单
 	if webData.Domain != req.WebForwardingData.Domain {
 
@@ -461,8 +458,11 @@ func (s *webForwardingService) EditWebForwarding(ctx context.Context, req *v1.We
 		if err != nil {
 			return err
 		}
-		go s.wafformatter.PublishDomainWhitelistTask(oldDomain, firstIp, "del")
-		go s.wafformatter.PublishDomainWhitelistTask(doMain, firstIp, "add")
+		if len(require.GatewayIps) == 0 {
+			return fmt.Errorf("网关组不存在")
+		}
+		go s.wafformatter.PublishDomainWhitelistTask(oldDomain, require.GatewayIps[0], "del")
+		go s.wafformatter.PublishDomainWhitelistTask(doMain, require.GatewayIps[0], "add")
 	}
 
 	// IP过白
@@ -512,7 +512,7 @@ func (s *webForwardingService) EditWebForwarding(ctx context.Context, req *v1.We
 		}
 	}
 	addedAllowIps, removedAllowIps := s.wafformatter.findIpDifferences(oldAllowIps, newAllowIps)
-	for _, v := range gatewayIps {
+	for _, v := range require.GatewayIps {
 		if len(addedAllowIps) > 0 {
 			go s.wafformatter.PublishIpWhitelistTask(addedAllowIps, "add",v)
 		}