|
- package database
-
- import (
- "github.com/zeromicro/go-zero/core/logx"
- "gitlink.org.cn/JointCloud/pcm-coordinator/api/internal/types"
- "gitlink.org.cn/JointCloud/pcm-coordinator/pkg/constants"
- "gitlink.org.cn/JointCloud/pcm-coordinator/pkg/models"
- "gorm.io/gorm"
- "time"
- )
-
- type AiStorage struct {
- DbEngin *gorm.DB
- }
-
- func (s *AiStorage) GetParticipants() (*types.ClusterListResp, error) {
- var resp types.ClusterListResp
- tx := s.DbEngin.Raw("select * from t_cluster where `deleted_at` IS NULL ORDER BY create_time Desc").Scan(&resp.List)
- if tx.Error != nil {
- logx.Errorf(tx.Error.Error())
- return nil, tx.Error
- }
- return &resp, nil
- }
-
- func (s *AiStorage) GetClustersByAdapterId(id string) (*types.ClusterListResp, error) {
- var resp types.ClusterListResp
- tx := s.DbEngin.Raw("select * from t_cluster where `deleted_at` IS NULL and `adapter_id` = ? ORDER BY create_time Desc", id).Scan(&resp.List)
- if tx.Error != nil {
- logx.Errorf(tx.Error.Error())
- return nil, tx.Error
- }
- return &resp, nil
- }
-
- func (s *AiStorage) GetAdapterIdsByType(adapterType string) ([]string, error) {
- var list []types.AdapterInfo
- var ids []string
- db := s.DbEngin.Model(&types.AdapterInfo{}).Table("t_adapter")
- db = db.Where("type = ?", adapterType)
- err := db.Order("create_time desc").Find(&list).Error
- if err != nil {
- return nil, err
- }
- for _, info := range list {
- ids = append(ids, info.Id)
- }
- return ids, nil
- }
-
- func (s *AiStorage) SaveTask(name string) error {
- // 构建主任务结构体
- taskModel := models.Task{
- Status: constants.Saved,
- Description: "ai task",
- Name: name,
- CommitTime: time.Now(),
- }
- // 保存任务数据到数据库
- tx := s.DbEngin.Create(&taskModel)
- if tx.Error != nil {
- return tx.Error
- }
- return nil
- }
-
- func (s *AiStorage) UpdateTask() error {
- return nil
- }
|