From dc894828e0144e98d57e5fc2e957434e7e5acd94 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=98=E7=A5=A5=E8=B6=85?= Date: Sun, 14 Apr 2024 16:27:27 +0800 Subject: [PATCH] =?UTF-8?q?=E6=BA=90=E7=AB=99=E5=A2=9E=E5=8A=A0=E5=BF=AB?= =?UTF-8?q?=E9=80=9F=E5=81=9C=E7=94=A8/=E5=90=AF=E7=94=A8=E5=8A=9F?= =?UTF-8?q?=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- internal/db/models/origin_dao.go | 13 +++++++++++++ internal/rpc/services/service_origin.go | 24 ++++++++++++++++++++++++ 2 files changed, 37 insertions(+) diff --git a/internal/db/models/origin_dao.go b/internal/db/models/origin_dao.go index b9786022..986766fe 100644 --- a/internal/db/models/origin_dao.go +++ b/internal/db/models/origin_dao.go @@ -305,6 +305,19 @@ func (this *OriginDAO) UpdateOrigin(tx *dbs.Tx, return this.NotifyUpdate(tx, originId) } +// UpdateOriginIsOn 修改源站是否启用 +func (this *OriginDAO) UpdateOriginIsOn(tx *dbs.Tx, originId int64, isOn bool) error { + err := this.Query(tx). + Pk(originId). + Set("isOn", isOn). + UpdateQuickly() + if err != nil { + return err + } + + return this.NotifyUpdate(tx, originId) +} + // CloneOrigin 复制源站 func (this *OriginDAO) CloneOrigin(tx *dbs.Tx, fromOriginId int64) (newOriginId int64, err error) { if fromOriginId <= 0 { diff --git a/internal/rpc/services/service_origin.go b/internal/rpc/services/service_origin.go index 593974b6..ee969a2d 100644 --- a/internal/rpc/services/service_origin.go +++ b/internal/rpc/services/service_origin.go @@ -248,3 +248,27 @@ func (this *OriginService) FindEnabledOriginConfig(ctx context.Context, req *pb. return &pb.FindEnabledOriginConfigResponse{OriginJSON: configData}, nil } + +// UpdateOriginIsOn 修改源站是否启用 +func (this *OriginService) UpdateOriginIsOn(ctx context.Context, req *pb.UpdateOriginIsOnRequest) (*pb.RPCSuccess, error) { + _, userId, err := this.ValidateAdminAndUser(ctx, true) + if err != nil { + return nil, err + } + + var tx = this.NullTx() + + if userId > 0 { + err = models.SharedOriginDAO.CheckUserOrigin(tx, userId, req.OriginId) + if err != nil { + return nil, err + } + } + + err = models.SharedOriginDAO.UpdateOriginIsOn(tx, req.OriginId, req.IsOn) + if err != nil { + return nil, err + } + + return this.Success() +}