Browse Source

fix:add home overview

Former-commit-id: 157b474d9e
pull/127/head
qiwang 1 year ago
parent
commit
f6f30ad61f
6 changed files with 143 additions and 0 deletions
  1. +17
    -0
      api/desc/core/pcm-core.api
  2. +4
    -0
      api/desc/pcm.api
  3. +28
    -0
      api/internal/handler/core/homeoverviewhandler.go
  4. +5
    -0
      api/internal/handler/routes.go
  5. +73
    -0
      api/internal/logic/core/homeoverviewlogic.go
  6. +16
    -0
      api/internal/types/types.go

+ 17
- 0
api/desc/core/pcm-core.api View File

@@ -32,6 +32,23 @@ type (
} }
) )


type (
HomeOverviewReq {

}
HomeOverviewResp {
Code int `json:"code"`
Message string `json:"message"`
Data HomeOverviewData `json:"data"`
}
HomeOverviewData{
AdaptSum int64 `json:"adaptSum"`
ClusterSum int64 `json:"clusterSum"`
StorageSum float32 `json:"storageSum"`
TaskSum int64 `json:"taskSum"`
}
)

type remoteResp { type remoteResp {
Code int `json:"code"` Code int `json:"code"`
Message string `json:"message"` Message string `json:"message"`


+ 4
- 0
api/desc/pcm.api View File

@@ -137,6 +137,10 @@ service pcm {
@doc "Statistical task status" @doc "Statistical task status"
@handler countTaskStatus @handler countTaskStatus
get /core/task/countTaskStatus () returns(TaskStatusResp) get /core/task/countTaskStatus () returns(TaskStatusResp)

@doc "Home Page Overview"
@handler homeOverviewHandler
get /core/homeOverview (HomeOverviewReq) returns (HomeOverviewResp)
} }


//hpc二级接口 //hpc二级接口


+ 28
- 0
api/internal/handler/core/homeoverviewhandler.go View File

@@ -0,0 +1,28 @@
package core

import (
"net/http"

"github.com/zeromicro/go-zero/rest/httpx"
"gitlink.org.cn/JointCloud/pcm-coordinator/api/internal/logic/core"
"gitlink.org.cn/JointCloud/pcm-coordinator/api/internal/svc"
"gitlink.org.cn/JointCloud/pcm-coordinator/api/internal/types"
)

func HomeOverviewHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
return func(w http.ResponseWriter, r *http.Request) {
var req types.HomeOverviewReq
if err := httpx.Parse(r, &req); err != nil {
httpx.ErrorCtx(r.Context(), w, err)
return
}

l := core.NewHomeOverviewLogic(r.Context(), svcCtx)
resp, err := l.HomeOverview(&req)
if err != nil {
httpx.ErrorCtx(r.Context(), w, err)
} else {
httpx.OkJsonCtx(r.Context(), w, resp)
}
}
}

+ 5
- 0
api/internal/handler/routes.go View File

@@ -165,6 +165,11 @@ func RegisterHandlers(server *rest.Server, serverCtx *svc.ServiceContext) {
Path: "/core/task/countTaskStatus", Path: "/core/task/countTaskStatus",
Handler: core.CountTaskStatusHandler(serverCtx), Handler: core.CountTaskStatusHandler(serverCtx),
}, },
{
Method: http.MethodGet,
Path: "/core/homeOverview",
Handler: core.HomeOverviewHandler(serverCtx),
},
}, },
rest.WithPrefix("/pcm/v1"), rest.WithPrefix("/pcm/v1"),
) )


+ 73
- 0
api/internal/logic/core/homeoverviewlogic.go View File

@@ -0,0 +1,73 @@
package core

import (
"context"

"gitlink.org.cn/JointCloud/pcm-coordinator/api/internal/svc"
"gitlink.org.cn/JointCloud/pcm-coordinator/api/internal/types"

"github.com/zeromicro/go-zero/core/logx"
)

type HomeOverviewLogic struct {
logx.Logger
ctx context.Context
svcCtx *svc.ServiceContext
}

func NewHomeOverviewLogic(ctx context.Context, svcCtx *svc.ServiceContext) *HomeOverviewLogic {
return &HomeOverviewLogic{
Logger: logx.WithContext(ctx),
ctx: ctx,
svcCtx: svcCtx,
}
}

func (l *HomeOverviewLogic) HomeOverview(req *types.HomeOverviewReq) (resp *types.HomeOverviewResp, err error) {
// todo: add your logic here and delete this line
resp = &types.HomeOverviewResp{}
var AdapterSum int //
var StorageSum float32 //
var ClusterSum int //
var TaskSum int //
//Task
sqlStrTask := "SELECT COUNT(*) FROM `task`"
txTask := l.svcCtx.DbEngin.Raw(sqlStrTask).Scan(&TaskSum)
if txTask.Error != nil {
logx.Error(err)
return nil, txTask.Error
}

//Storage
sqlStrStorage := "SELECT SUM(t.storage_space) as storageSum FROM `t_storage_device` t"
txStorage := l.svcCtx.DbEngin.Raw(sqlStrStorage).Scan(&StorageSum)
if txTask.Error != nil {
logx.Error(err)
return nil, txStorage.Error
}

//Cluster
sqlStrCluster := "SELECT COUNT(*) FROM `t_cluster`"
txCluster := l.svcCtx.DbEngin.Raw(sqlStrCluster).Scan(&ClusterSum)
if txTask.Error != nil {
logx.Error(err)
return nil, txCluster.Error
}

//Adapter
sqlStrAdapter := "SELECT COUNT(*) FROM `t_adapter`"
txAdapter := l.svcCtx.DbEngin.Raw(sqlStrAdapter).Scan(&AdapterSum)
if txTask.Error != nil {
logx.Error(err)
return nil, txAdapter.Error
}

resp.Data.TaskSum = int64(TaskSum)
resp.Data.StorageSum = StorageSum
resp.Data.AdaptSum = int64(AdapterSum)
resp.Data.ClusterSum = int64(ClusterSum)

resp.Code = 200
resp.Message = "Success"
return resp, nil
}

+ 16
- 0
api/internal/types/types.go View File

@@ -25,6 +25,22 @@ type CenterIndex struct {
CenterType string `json:"centerType"` CenterType string `json:"centerType"`
} }


type HomeOverviewReq struct {
}

type HomeOverviewResp struct {
Code int `json:"code"`
Message string `json:"message"`
Data HomeOverviewData `json:"data"`
}

type HomeOverviewData struct {
AdaptSum int64 `json:"adaptSum"`
ClusterSum int64 `json:"clusterSum"`
StorageSum float32 `json:"storageSum"`
TaskSum int64 `json:"taskSum"`
}

type RemoteResp struct { type RemoteResp struct {
Code int `json:"code"` Code int `json:"code"`
Message string `json:"message"` Message string `json:"message"`


Loading…
Cancel
Save