diff --git a/api/desc/core/pcm-core.api b/api/desc/core/pcm-core.api index 198fd7bd..2b30cd45 100644 --- a/api/desc/core/pcm-core.api +++ b/api/desc/core/pcm-core.api @@ -577,6 +577,10 @@ type ( TotalCount int64 `json:"totalCount"` // 任务总数 Apps []App `json:"apps"` //应用列表 } + Replica { + ClusterName string `json:"clusterName"` + Replica int32 `json:"replica"` + } App { Id int64 `json:"id"` Name string `json:"name"` @@ -589,6 +593,7 @@ type ( ParticipantName string `json:"participantName"` Storage string `json:"storage"` CreateTime string `json:"createTime"` + Replicas []Replica `json:"replicas"` } ) diff --git a/api/internal/logic/apps/applistlogic.go b/api/internal/logic/apps/applistlogic.go index 90bc922d..be126b60 100644 --- a/api/internal/logic/apps/applistlogic.go +++ b/api/internal/logic/apps/applistlogic.go @@ -49,6 +49,10 @@ func (l *AppListLogic) AppList(req *types.AppListReq) (resp *types.AppListResp, resp = &types.AppListResp{} l.svcCtx.DbEngin.Raw("SELECT t.*,phy.name as p_name,phy.id as p_id FROM task t LEFT JOIN cloud c ON c.task_id = t.id join sc_participant_phy_info phy on c.participant_id = phy.id WHERE c.kind in ('Deployment', 'StatefulSet', 'Ingress', 'Service') AND t.`ns_id` = ? AND t.`deleted_at` IS NULL ORDER BY t.created_time Desc", req.Namespace).Scan(&tasks) for _, task := range tasks { + + var replicas []types.Replica + l.svcCtx.DbEngin.Raw("SELECT sc_participant_phy_info.name,replica FROM cloud left join sc_participant_phy_info on cloud.participant_id = sc_participant_phy_info.id WHERE task_id =?", task.Id).Scan(&replicas) + resp.Apps = append(resp.Apps, types.App{ Id: task.Id, Name: task.Name, @@ -58,6 +62,7 @@ func (l *AppListLogic) AppList(req *types.AppListReq) (resp *types.AppListResp, CreateTime: task.CommitTime.Format("2006-01-02 15:04:05"), ParticipantId: task.PId, ParticipantName: task.PName, + Replicas: replicas, }) } return diff --git a/api/internal/types/types.go b/api/internal/types/types.go index 1207a0e0..97634df7 100644 --- a/api/internal/types/types.go +++ b/api/internal/types/types.go @@ -541,18 +541,24 @@ type AppListResp struct { Apps []App `json:"apps"` //应用列表 } +type Replica struct { + ClusterName string `json:"clusterName"` + Replica int32 `json:"replica"` +} + type App struct { - Id int64 `json:"id"` - Name string `json:"name"` - Status string `json:"status"` - TaskType string `json:"taskType"` - StartTime string `json:"startTime"` - EndTime string `json:"endTime"` - ParticipantStatus string `json:"participantStatus"` - ParticipantId int64 `json:"participantId"` - ParticipantName string `json:"participantName"` - Storage string `json:"storage"` - CreateTime string `json:"createTime"` + Id int64 `json:"id"` + Name string `json:"name"` + Status string `json:"status"` + TaskType string `json:"taskType"` + StartTime string `json:"startTime"` + EndTime string `json:"endTime"` + ParticipantStatus string `json:"participantStatus"` + ParticipantId int64 `json:"participantId"` + ParticipantName string `json:"participantName"` + Storage string `json:"storage"` + CreateTime string `json:"createTime"` + Replicas []Replica `json:"replicas"` } type AppDetailReq struct {