diff --git a/internal/db/models/node_cluster_dao.go b/internal/db/models/node_cluster_dao.go index 94572ae3..47326e5e 100644 --- a/internal/db/models/node_cluster_dao.go +++ b/internal/db/models/node_cluster_dao.go @@ -264,13 +264,22 @@ func (this *NodeClusterDAO) CountAllEnabledClusters(tx *dbs.Tx, keyword string) } // ListEnabledClusters 列出单页集群 -func (this *NodeClusterDAO) ListEnabledClusters(tx *dbs.Tx, keyword string, offset, size int64) (result []*NodeCluster, err error) { +func (this *NodeClusterDAO) ListEnabledClusters(tx *dbs.Tx, keyword string, idDesc bool, idAsc bool, offset, size int64) (result []*NodeCluster, err error) { var query = this.Query(tx). State(NodeClusterStateEnabled) if len(keyword) > 0 { query.Where("(name LIKE :keyword OR dnsName like :keyword OR (dnsDomainId > 0 AND dnsDomainId IN (SELECT id FROM "+dns.SharedDNSDomainDAO.Table+" WHERE name LIKE :keyword AND state=1)))"). Param("keyword", dbutils.QuoteLike(keyword)) } + + if idDesc { + query.DescPk() + } else if idAsc { + query.AscPk() + } else { + query.Desc("isPinned").DescPk() + } + _, err = query. Result( NodeClusterField_Id, @@ -295,8 +304,6 @@ func (this *NodeClusterDAO) ListEnabledClusters(tx *dbs.Tx, keyword string, offs Offset(offset). Limit(size). Slice(&result). - Desc("isPinned"). - DescPk(). FindAll() return diff --git a/internal/rpc/services/service_admin.go b/internal/rpc/services/service_admin.go index 8d785692..55458d9f 100644 --- a/internal/rpc/services/service_admin.go +++ b/internal/rpc/services/service_admin.go @@ -503,7 +503,7 @@ func (this *AdminService) ComposeAdminDashboard(ctx context.Context, req *pb.Com // 默认集群 this.BeginTag(ctx, "SharedNodeClusterDAO.ListEnabledClusters") - nodeClusters, err := models.SharedNodeClusterDAO.ListEnabledClusters(tx, "", 0, 1) + nodeClusters, err := models.SharedNodeClusterDAO.ListEnabledClusters(tx, "", true, false, 0, 1) this.EndTag(ctx, "SharedNodeClusterDAO.ListEnabledClusters") if err != nil { return nil, err diff --git a/internal/rpc/services/service_node_cluster.go b/internal/rpc/services/service_node_cluster.go index da9264eb..1a6d98fa 100644 --- a/internal/rpc/services/service_node_cluster.go +++ b/internal/rpc/services/service_node_cluster.go @@ -349,12 +349,12 @@ func (this *NodeClusterService) ListEnabledNodeClusters(ctx context.Context, req var tx = this.NullTx() - clusters, err := models.SharedNodeClusterDAO.ListEnabledClusters(tx, req.Keyword, req.Offset, req.Size) + clusters, err := models.SharedNodeClusterDAO.ListEnabledClusters(tx, req.Keyword, req.IdDesc, req.IdAsc, req.Offset, req.Size) if err != nil { return nil, err } - result := []*pb.NodeCluster{} + var result = []*pb.NodeCluster{} for _, cluster := range clusters { result = append(result, &pb.NodeCluster{ Id: int64(cluster.Id),