|
- package adapters
-
- import (
- "context"
- "gitlink.org.cn/JointCloud/pcm-coordinator/pkg/utils"
-
- "gitlink.org.cn/JointCloud/pcm-coordinator/internal/svc"
- "gitlink.org.cn/JointCloud/pcm-coordinator/internal/types"
-
- "github.com/zeromicro/go-zero/core/logx"
- )
-
- type GetAdapterRelationLogic struct {
- logx.Logger
- ctx context.Context
- svcCtx *svc.ServiceContext
- }
-
- func NewGetAdapterRelationLogic(ctx context.Context, svcCtx *svc.ServiceContext) *GetAdapterRelationLogic {
- return &GetAdapterRelationLogic{
- Logger: logx.WithContext(ctx),
- ctx: ctx,
- svcCtx: svcCtx,
- }
- }
-
- func (l *GetAdapterRelationLogic) GetAdapterRelation(req *types.AdapterRelationQueryReq) (resp *types.PageResult, err error) {
- resp = &types.PageResult{}
- var list []types.AdapterInfo
- db := l.svcCtx.DbEngin.Model(&types.AdapterInfo{}).Table("t_adapter")
-
- if req.Name != "" {
- db = db.Where("name LIKE ?", "%"+req.Name+"%")
- }
- if req.Nickname != "" {
- db = db.Where("nickname LIKE ?", "%"+req.Nickname+"%")
- }
- if req.Type != "" {
- db = db.Where("type = ?", req.Type)
- }
- if req.Version != "" {
- db = db.Where("version = ?", req.Version)
- }
-
- err = db.Where("deleted_at is null").Order("create_time desc").Find(&list).Error
-
- if err != nil {
- return resp, err
- }
-
- rlist := make([]*types.ClusterRelationInfo, 0)
- for _, v := range list {
- cr := &types.ClusterRelationInfo{}
- utils.Convert(&v, &cr)
- clusters := make([]*types.ClusterInfo, 0)
- l.svcCtx.DbEngin.Raw("select * from t_cluster where `deleted_at` IS NULL and adapter_id = ? ORDER BY create_time Desc", v.Id).Scan(&clusters)
- for _, c := range clusters {
- cr = &types.ClusterRelationInfo{}
- utils.Convert(&v, &cr)
- cr.CId = c.Id
- cr.CAdapterId = string(c.AdapterId)
- cr.CName = c.Name
- cr.CNickname = c.Nickname
- cr.CDescription = c.Description
- cr.CServer = c.Server
- cr.CMonitorServer = c.MonitorServer
- cr.CUsername = c.Username
- cr.CPassword = c.Password
- cr.CToken = c.Token
- cr.CAk = c.Ak
- cr.CSk = c.Sk
- cr.CRegion = c.Region
- cr.CProjectId = c.ProjectId
- cr.CVersion = c.Version
- cr.CLabel = c.Label
- cr.COwnerId = c.OwnerId
- cr.CAuthType = c.AuthType
- cr.CRegionDict = c.RegionDict
- cr.CProducerDict = c.ProducerDict
- cr.CCreateTime = c.CreateTime
- rlist = append(rlist, cr)
- }
- if len(clusters) == 0 {
- rlist = append(rlist, cr)
- }
- }
- resp.List = rlist
- return resp, nil
- }
|