Files
rag-local/kb/service/dataset_service.go
T
2026-08-05 10:28:44 +08:00

47 lines
1.0 KiB
Go

package service
import (
"context"
"rag-local/kb/consts"
"rag-local/kb/dao"
"rag-local/kb/model/entity"
"github.com/gogf/gf/v2/errors/gerror"
"github.com/gogf/gf/v2/frame/g"
)
var DatasetService = &datasetService{}
type datasetService struct{}
func (s *datasetService) List(ctx context.Context) ([]*entity.Dataset, error) {
return dao.Dataset.List(ctx)
}
func (s *datasetService) Save(ctx context.Context, m *entity.Dataset) (int64, error) {
if m.Status == 0 {
m.Status = 1
}
if m.Id > 0 {
if err := dao.Dataset.Update(ctx, m); err != nil {
return 0, err
}
return m.Id, nil
}
return dao.Dataset.Insert(ctx, m)
}
func (s *datasetService) Delete(ctx context.Context, id int64) error {
// 有文档的数据集不允许删除
count, err := g.DB(consts.DbGroupDefault).Model(consts.TableNameDocument).Ctx(ctx).
Where("dataset_id", id).Count()
if err != nil {
return err
}
if count > 0 {
return gerror.New("数据集下存在文档,无法删除")
}
return dao.Dataset.Delete(ctx, id)
}