package core import ( "context" "gitlink.org.cn/JointCloud/pcm-coordinator/internal/svc" "gitlink.org.cn/JointCloud/pcm-coordinator/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 }