Browse Source

Merge remote-tracking branch 'upstream/master' into upstream

# Conflicts:
#	api/desc/pcm.api
#	api/internal/handler/routes.go


Former-commit-id: 3af5fcc802
pull/128/head
jagger 1 year ago
parent
commit
9a369dc329
7 changed files with 154 additions and 11 deletions
  1. +17
    -0
      api/desc/core/pcm-core.api
  2. +15
    -11
      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
  7. BIN
      deploy/pcm-yaml.zip

+ 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 {
Code int `json:"code"`
Message string `json:"message"`


+ 15
- 11
api/desc/pcm.api View File

@@ -136,11 +136,15 @@ service pcm {

@doc "Statistical task status"
@handler countTaskStatus
get /core/task/countTaskStatus () returns(TaskStatusResp)
get /core/task/countTaskStatus () returns (TaskStatusResp)

@doc "task details"
@handler taskDetails
get /core/task/details (CId) returns(TaskStatusResp)
@doc "Home Page Overview"
@handler homeOverviewHandler
get /core/homeOverview (HomeOverviewReq) returns (HomeOverviewResp)

@doc "task details"
@handler taskDetails
get /core/task/details (CId) returns(TaskStatusResp)
}

//hpc二级接口
@@ -214,7 +218,7 @@ service pcm {

@doc "Create cloud computing common tasks"
@handler commitGeneralTask
post /cloud/task/create (GeneralTaskReq) returns ()
post /cloud/task/create (GeneralTaskReq) returns()
}

//智算二级接口
@@ -982,7 +986,7 @@ service pcm {

@doc "alert rules"
@handler alertRulesHandler
get /monitoring/alert/rule (AlertRulesReq) returns (AlertRulesResp)
get /monitoring/alert/rule (AlertRulesReq)returns (AlertRulesResp)

@doc "cluster resource load"
@handler clustersLoadHandler
@@ -998,11 +1002,11 @@ service pcm {

@doc "Synchronize Cluster alert Information"
@handler syncClusterAlertHandler
post /monitoring/syncClusterAlert (SyncClusterAlertReq)
post /core/syncClusterAlert (SyncClusterAlertReq)

@handler taskNumHandler
get /monitoring/task/num (taskNumReq) returns (taskNumResp)
@handler taskNumHandler
get /monitoring/task/num (taskNumReq) returns (taskNumResp)

@handler adapterInfoHandler
get /monitoring/adapter/info (adapterInfoReq) returns (adapterInfoResp)
@handler adapterInfoHandler
get /monitoring/adapter/info (adapterInfoReq) returns (adapterInfoResp)
}

+ 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",
Handler: core.CountTaskStatusHandler(serverCtx),
},
{
Method: http.MethodGet,
Path: "/core/homeOverview",
Handler: core.HomeOverviewHandler(serverCtx),
},
{
Method: http.MethodGet,
Path: "/core/task/details",


+ 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"`
}

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 {
Code int `json:"code"`
Message string `json:"message"`


BIN
deploy/pcm-yaml.zip View File


Loading…
Cancel
Save