From 05611f98f33c2ea4c61a0ec38d3da8d916e5775c Mon Sep 17 00:00:00 2001 From: GoEdgeLab Date: Tue, 17 Nov 2020 17:11:40 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8F=8D=E5=90=91=E4=BB=A3=E7=90=86=E6=BA=90?= =?UTF-8?q?=E7=AB=99=E5=8F=AF=E4=BB=A5=E8=AE=BE=E7=BD=AE=E6=9D=83=E9=87=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- internal/db/models/origin_dao.go | 12 ++++++++++-- .../{service_origin_server.go => service_origin.go} | 4 ++-- 2 files changed, 12 insertions(+), 4 deletions(-) rename internal/rpc/services/{service_origin_server.go => service_origin.go} (96%) diff --git a/internal/db/models/origin_dao.go b/internal/db/models/origin_dao.go index d7b33a8e..50df4ca4 100644 --- a/internal/db/models/origin_dao.go +++ b/internal/db/models/origin_dao.go @@ -91,12 +91,16 @@ func (this *OriginDAO) FindOriginName(id int64) (string, error) { } // 创建源站 -func (this *OriginDAO) CreateOrigin(name string, addrJSON string, description string) (originId int64, err error) { +func (this *OriginDAO) CreateOrigin(name string, addrJSON string, description string, weight int32) (originId int64, err error) { op := NewOriginOperator() op.IsOn = true op.Name = name op.Addr = addrJSON op.Description = description + if weight < 0 { + weight = 0 + } + op.Weight = weight op.State = OriginStateEnabled _, err = this.Save(op) if err != nil { @@ -106,7 +110,7 @@ func (this *OriginDAO) CreateOrigin(name string, addrJSON string, description st } // 修改源站 -func (this *OriginDAO) UpdateOrigin(originId int64, name string, addrJSON string, description string) error { +func (this *OriginDAO) UpdateOrigin(originId int64, name string, addrJSON string, description string, weight int32) error { if originId <= 0 { return errors.New("invalid originId") } @@ -115,6 +119,10 @@ func (this *OriginDAO) UpdateOrigin(originId int64, name string, addrJSON string op.Name = name op.Addr = addrJSON op.Description = description + if weight < 0 { + weight = 0 + } + op.Weight = weight op.Version = dbs.SQL("version+1") _, err := this.Save(op) return err diff --git a/internal/rpc/services/service_origin_server.go b/internal/rpc/services/service_origin.go similarity index 96% rename from internal/rpc/services/service_origin_server.go rename to internal/rpc/services/service_origin.go index 72af8b6d..825fdf4e 100644 --- a/internal/rpc/services/service_origin_server.go +++ b/internal/rpc/services/service_origin.go @@ -29,7 +29,7 @@ func (this *OriginService) CreateOrigin(ctx context.Context, req *pb.CreateOrigi "portRange": req.Addr.PortRange, "host": req.Addr.Host, } - originId, err := models.SharedOriginDAO.CreateOrigin(req.Name, string(addrMap.AsJSON()), req.Description) + originId, err := models.SharedOriginDAO.CreateOrigin(req.Name, string(addrMap.AsJSON()), req.Description, req.Weight) if err != nil { return nil, err } @@ -52,7 +52,7 @@ func (this *OriginService) UpdateOrigin(ctx context.Context, req *pb.UpdateOrigi "portRange": req.Addr.PortRange, "host": req.Addr.Host, } - err = models.SharedOriginDAO.UpdateOrigin(req.OriginId, req.Name, string(addrMap.AsJSON()), req.Description) + err = models.SharedOriginDAO.UpdateOrigin(req.OriginId, req.Name, string(addrMap.AsJSON()), req.Description, req.Weight) if err != nil { return nil, err }