From 022aa174a4ec40ee5de8299af35e0f91e40ceb49 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=98=E7=A5=A5=E8=B6=85?= Date: Sun, 25 Oct 2020 16:22:44 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=9E=E7=8E=B0=E5=88=A0=E9=99=A4=E9=9B=86?= =?UTF-8?q?=E7=BE=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- internal/db/models/server_dao.go | 8 ++++++++ internal/rpc/services/service_node_cluster.go | 4 ++-- internal/rpc/services/service_server.go | 15 +++++++++++++++ 3 files changed, 25 insertions(+), 2 deletions(-) diff --git a/internal/db/models/server_dao.go b/internal/db/models/server_dao.go index 6ab6d7b8..f6639348 100644 --- a/internal/db/models/server_dao.go +++ b/internal/db/models/server_dao.go @@ -729,6 +729,14 @@ func (this *ServerDAO) FindAllEnabledServersWithWebIds(webIds []int64) (result [ return } +// 计算使用某个集群的所有服务数量 +func (this *ServerDAO) CountAllEnabledServersWithNodeClusterId(clusterId int64) (int64, error) { + return this.Query(). + State(ServerStateEnabled). + Attr("clusterId", clusterId). + Count() +} + // 创建事件 func (this *ServerDAO) createEvent() error { return SharedSysEventDAO.CreateEvent(NewServerChangeEvent()) diff --git a/internal/rpc/services/service_node_cluster.go b/internal/rpc/services/service_node_cluster.go index 7971b661..e045f796 100644 --- a/internal/rpc/services/service_node_cluster.go +++ b/internal/rpc/services/service_node_cluster.go @@ -46,7 +46,7 @@ func (this *NodeClusterService) UpdateNodeCluster(ctx context.Context, req *pb.U } // 禁用集群 -func (this *NodeClusterService) DisableNodeCluster(ctx context.Context, req *pb.DisableNodeClusterRequest) (*pb.DisableNodeClusterResponse, error) { +func (this *NodeClusterService) DeleteNodeCluster(ctx context.Context, req *pb.DeleteNodeClusterRequest) (*pb.RPCDeleteSuccess, error) { _, _, err := rpcutils.ValidateRequest(ctx, rpcutils.UserTypeAdmin) if err != nil { return nil, err @@ -57,7 +57,7 @@ func (this *NodeClusterService) DisableNodeCluster(ctx context.Context, req *pb. return nil, err } - return &pb.DisableNodeClusterResponse{}, nil + return rpcutils.RPCDeleteSuccess() } // 查找单个集群 diff --git a/internal/rpc/services/service_server.go b/internal/rpc/services/service_server.go index 7592903c..9d49240e 100644 --- a/internal/rpc/services/service_server.go +++ b/internal/rpc/services/service_server.go @@ -718,3 +718,18 @@ func (this *ServerService) CountAllEnabledServersWithHTTPFirewallPolicyId(ctx co } return &pb.CountAllEnabledServersWithHTTPFirewallPolicyIdResponse{Count: countServers}, nil } + +// 计算运行在某个集群上的所有服务数量 +func (this *ServerService) CountAllEnabledServersWithNodeClusterId(ctx context.Context, req *pb.CountAllEnabledServersWithNodeClusterIdRequest) (*pb.CountAllEnabledServersWithNodeClusterIdResponse, error) { + // 校验请求 + _, _, err := rpcutils.ValidateRequest(ctx, rpcutils.UserTypeAdmin) + if err != nil { + return nil, err + } + + count, err := models.SharedServerDAO.CountAllEnabledServersWithNodeClusterId(req.NodeClusterId) + if err != nil { + return nil, err + } + return &pb.CountAllEnabledServersWithNodeClusterIdResponse{Count: count}, nil +}