From d135442a528611adf40192e0ccacf6fc228702d6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=98=E7=A5=A5=E8=B6=85?= Date: Mon, 13 Sep 2021 13:45:58 +0800 Subject: [PATCH] =?UTF-8?q?IP=E5=9C=B0=E5=9D=80=E6=94=AF=E6=8C=81=E6=89=8B?= =?UTF-8?q?=E5=8A=A8=E4=B8=8A=E7=BA=BF=E5=92=8C=E4=BB=8E=E5=A4=87=E7=94=A8?= =?UTF-8?q?IP=E4=B8=AD=E6=81=A2=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../rpc/services/service_node_ip_address.go | 70 ++++++++++++++++--- 1 file changed, 60 insertions(+), 10 deletions(-) diff --git a/internal/rpc/services/service_node_ip_address.go b/internal/rpc/services/service_node_ip_address.go index f0da7a13..3345673c 100644 --- a/internal/rpc/services/service_node_ip_address.go +++ b/internal/rpc/services/service_node_ip_address.go @@ -83,8 +83,8 @@ func (this *NodeIPAddressService) DisableNodeIPAddress(ctx context.Context, req return &pb.DisableNodeIPAddressResponse{}, nil } -// DisableAllIPAddressesWithNodeId 禁用某个节点的IP地址 -func (this *NodeIPAddressService) DisableAllIPAddressesWithNodeId(ctx context.Context, req *pb.DisableAllIPAddressesWithNodeIdRequest) (*pb.DisableAllIPAddressesWithNodeIdResponse, error) { +// DisableAllNodeIPAddressesWithNodeId 禁用某个节点的IP地址 +func (this *NodeIPAddressService) DisableAllNodeIPAddressesWithNodeId(ctx context.Context, req *pb.DisableAllNodeIPAddressesWithNodeIdRequest) (*pb.DisableAllNodeIPAddressesWithNodeIdResponse, error) { // 校验请求 _, err := this.ValidateAdmin(ctx, 0) if err != nil { @@ -98,7 +98,7 @@ func (this *NodeIPAddressService) DisableAllIPAddressesWithNodeId(ctx context.Co return nil, err } - return &pb.DisableAllIPAddressesWithNodeIdResponse{}, nil + return &pb.DisableAllNodeIPAddressesWithNodeIdResponse{}, nil } // FindEnabledNodeIPAddress 查找单个IP地址 @@ -137,8 +137,8 @@ func (this *NodeIPAddressService) FindEnabledNodeIPAddress(ctx context.Context, return &pb.FindEnabledNodeIPAddressResponse{NodeIPAddress: result}, nil } -// FindAllEnabledIPAddressesWithNodeId 查找节点的所有地址 -func (this *NodeIPAddressService) FindAllEnabledIPAddressesWithNodeId(ctx context.Context, req *pb.FindAllEnabledIPAddressesWithNodeIdRequest) (*pb.FindAllEnabledIPAddressesWithNodeIdResponse, error) { +// FindAllEnabledNodeIPAddressesWithNodeId 查找节点的所有地址 +func (this *NodeIPAddressService) FindAllEnabledNodeIPAddressesWithNodeId(ctx context.Context, req *pb.FindAllEnabledNodeIPAddressesWithNodeIdRequest) (*pb.FindAllEnabledNodeIPAddressesWithNodeIdResponse, error) { // 校验请求 _, err := this.ValidateAdmin(ctx, 0) if err != nil { @@ -170,11 +170,11 @@ func (this *NodeIPAddressService) FindAllEnabledIPAddressesWithNodeId(ctx contex }) } - return &pb.FindAllEnabledIPAddressesWithNodeIdResponse{Addresses: result}, nil + return &pb.FindAllEnabledNodeIPAddressesWithNodeIdResponse{NodeIPAddresses: result}, nil } -// CountAllEnabledIPAddresses 计算IP地址数量 -func (this *NodeIPAddressService) CountAllEnabledIPAddresses(ctx context.Context, req *pb.CountAllEnabledIPAddressesRequest) (*pb.RPCCountResponse, error) { +// CountAllEnabledNodeIPAddresses 计算IP地址数量 +func (this *NodeIPAddressService) CountAllEnabledNodeIPAddresses(ctx context.Context, req *pb.CountAllEnabledNodeIPAddressesRequest) (*pb.RPCCountResponse, error) { // 校验请求 _, err := this.ValidateAdmin(ctx, 0) if err != nil { @@ -191,7 +191,7 @@ func (this *NodeIPAddressService) CountAllEnabledIPAddresses(ctx context.Context } // ListEnabledIPAddresses 列出单页IP地址 -func (this *NodeIPAddressService) ListEnabledIPAddresses(ctx context.Context, req *pb.ListEnabledIPAddressesRequest) (*pb.ListEnabledIPAddressesResponse, error) { +func (this *NodeIPAddressService) ListEnabledNodeIPAddresses(ctx context.Context, req *pb.ListEnabledNodeIPAddressesRequest) (*pb.ListEnabledNodeIPAddressesResponse, error) { // 校验请求 _, err := this.ValidateAdmin(ctx, 0) if err != nil { @@ -219,5 +219,55 @@ func (this *NodeIPAddressService) ListEnabledIPAddresses(ctx context.Context, re BackupIP: addr.DecodeBackupIP(), }) } - return &pb.ListEnabledIPAddressesResponse{NodeIPAddresses: pbAddrs}, nil + return &pb.ListEnabledNodeIPAddressesResponse{NodeIPAddresses: pbAddrs}, nil +} + +// UpdateNodeIPAddressIsUp 设置上下线状态 +func (this *NodeIPAddressService) UpdateNodeIPAddressIsUp(ctx context.Context, req *pb.UpdateNodeIPAddressIsUpRequest) (*pb.RPCSuccess, error) { + // 校验请求 + adminId, err := this.ValidateAdmin(ctx, 0) + if err != nil { + return nil, err + } + + var tx = this.NullTx() + err = models.SharedNodeIPAddressDAO.UpdateAddressIsUp(tx, req.NodeIPAddressId, req.IsUp) + if err != nil { + return nil, err + } + + // 增加日志 + if req.IsUp { + err = models.SharedNodeIPAddressLogDAO.CreateLog(tx, adminId, req.NodeIPAddressId, "手动上线") + } else { + err = models.SharedNodeIPAddressLogDAO.CreateLog(tx, adminId, req.NodeIPAddressId, "手动下线") + } + if err != nil { + return nil, err + } + + return this.Success() +} + +// RestoreNodeIPAddressBackupIP 还原备用IP状态 +func (this *NodeIPAddressService) RestoreNodeIPAddressBackupIP(ctx context.Context, req *pb.RestoreNodeIPAddressBackupIPRequest) (*pb.RPCSuccess, error) { + // 校验请求 + adminId, err := this.ValidateAdmin(ctx, 0) + if err != nil { + return nil, err + } + + var tx = this.NullTx() + err = models.SharedNodeIPAddressDAO.UpdateAddressBackupIP(tx, req.NodeIPAddressId, 0, "") + if err != nil { + return nil, err + } + + // 增加日志 + err = models.SharedNodeIPAddressLogDAO.CreateLog(tx, adminId, req.NodeIPAddressId, "恢复IP状态") + if err != nil { + return nil, err + } + + return this.Success() }