|
- package hpc
-
- import (
- "context"
- "github.com/rs/zerolog/log"
- "gitlink.org.cn/JointCloud/pcm-coordinator/internal/svc"
- "gitlink.org.cn/JointCloud/pcm-coordinator/internal/types"
-
- "github.com/zeromicro/go-zero/core/logx"
- )
-
- type GetHpcAppClusterLogic struct {
- logx.Logger
- ctx context.Context
- svcCtx *svc.ServiceContext
- }
-
- func NewGetHpcAppClusterLogic(ctx context.Context, svcCtx *svc.ServiceContext) *GetHpcAppClusterLogic {
- return &GetHpcAppClusterLogic{
- Logger: logx.WithContext(ctx),
- ctx: ctx,
- svcCtx: svcCtx,
- }
- }
-
- type ClusterInfo struct {
- Id string `json:"id"`
- Name string `json:"name"`
- Nickname string `json:"nickname"`
- Region string `json:"region"`
- }
-
- func (l *GetHpcAppClusterLogic) GetHpcAppCluster(req *types.HpcAppClusterReq) (resp *types.ListResult, err error) {
- resp = &types.ListResult{}
- var clusterIds []string
- err = l.svcCtx.DbEngin.Table("hpc_app_template").Distinct("cluster_id").
- Where(" app = ? and status = 1 and deleted_at is null", req.App).
- Find(&clusterIds).Error
- if err != nil {
- log.Error().Msgf("获取HPC应用集群失败: %v", err)
- return nil, err
- }
-
- var listCluster []ClusterInfo
- err = l.svcCtx.DbEngin.Table("t_cluster").Where("id in (?)", clusterIds).Scan(&listCluster).Error
- if err != nil {
- log.Error().Msgf("获取集群信息失败: %v", err)
- return nil, err
- }
- resp.List = listCluster
- return
- }
|