Przeglądaj źródła

fix(tcpforwarding): 修复更新记录时的错误处理和 WAF 规则更新

- 在更新 MongoDB 文档时增加对 ErrNoDocuments 错误的特殊处理,返回更友好的错误信息
- 修正 WAF 规则更新时的 ID 字段,使用正确的属性
fusu 1 miesiąc temu
rodzic
commit
cfe6b41e27

+ 3 - 0
internal/repository/tcpforwarding.go

@@ -139,6 +139,9 @@ func (r *tcpforwardingRepository) EditTcpforwardingIps(ctx context.Context, req
 	update := bson.M{"$set": updateData}
 	 err := collection.UpdateOne(ctx, bson.M{"tcp_id": req.TcpId}, update)
 	if err != nil {
+		if errors.Is(err, mongo.ErrNoDocuments) {
+			return fmt.Errorf("记录不存在")
+		}
 		return fmt.Errorf("更新MongoDB文档失败: %w", err)
 	}
 

+ 1 - 1
internal/service/tcpforwarding.go

@@ -244,7 +244,7 @@ func (s *tcpforwardingService) EditTcpForwarding(ctx context.Context, req *v1.Tc
 		return  err
 	}
 
-	_, err = s.wafformatter.sendFormData(ctx, "admin/info/waf_tcp/edit?&__goadmin_edit_pk="+strconv.Itoa(req.TcpForwardingData.WafTcpId), "admin/edit/waf_tcp", formData)
+	_, err = s.wafformatter.sendFormData(ctx, "admin/info/waf_tcp/edit?&__goadmin_edit_pk="+strconv.Itoa(req.TcpForwardingData.Id), "admin/edit/waf_tcp", formData)
 	if err != nil {
 		return err
 	}