/* Copyright (c) [2023] [pcm] [pcm-coordinator] is licensed under Mulan PSL v2. You can use this software according to the terms and conditions of the Mulan PSL v2. You may obtain a copy of Mulan PSL v2 at: http://license.coscl.org.cn/MulanPSL2 THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPaRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE. See the Mulan PSL v2 for more details. */ package ai import ( "context" "github.com/go-resty/resty/v2" "github.com/pkg/errors" "github.com/zeromicro/go-zero/core/logx" "gitlink.org.cn/JointCloud/pcm-coordinator/internal/svc" "gitlink.org.cn/JointCloud/pcm-coordinator/internal/types" sync "gitlink.org.cn/JointCloud/pcm-coordinator/internal/types/ai" ) type TaskResultSyncLogic struct { logx.Logger ctx context.Context svcCtx *svc.ServiceContext } func NewTaskResultSyncLogic(ctx context.Context, svcCtx *svc.ServiceContext) *TaskResultSyncLogic { return &TaskResultSyncLogic{ Logger: logx.WithContext(ctx), ctx: ctx, svcCtx: svcCtx, } } func (l *TaskResultSyncLogic) TaskResultSync(req *sync.ResultSyncReq) (resp *sync.ResultSyncResp, err error) { cluster := &types.GetClusterByIdResp{} tx := l.svcCtx.DbEngin.Raw("select * from t_cluster where id = ?", req.ClusterId).Scan(&cluster.ClusterInfo) if tx.Error != nil { logx.Errorf(tx.Error.Error()) return nil, errors.New("cluster create failed") } httpClient := resty.New().R() createModelResp := &sync.ResultSyncResp{} _, err = httpClient.SetHeader("Content-Type", "application/json"). SetQueryParams(map[string]string{"pfId": cluster.ClusterInfo.Id}). SetBody(req). SetResult(&createModelResp). Post(cluster.ClusterInfo.Server + "/ai/task/sync") return createModelResp, err }