feat: rag初始版
This commit is contained in:
65
service/keyword.go
Normal file
65
service/keyword.go
Normal file
@@ -0,0 +1,65 @@
|
||||
package service
|
||||
|
||||
import (
|
||||
"context"
|
||||
"rag/dao"
|
||||
"rag/model/dto"
|
||||
|
||||
"github.com/gogf/gf/v2/errors/gerror"
|
||||
"github.com/gogf/gf/v2/util/gconv"
|
||||
)
|
||||
|
||||
var Keyword = new(keywordService)
|
||||
|
||||
type keywordService struct{}
|
||||
|
||||
func (s *keywordService) Create(ctx context.Context, req *dto.CreateKeywordReq) (res *dto.CreateKeywordRes, err error) {
|
||||
count, err := dao.Keyword.Count(ctx, &dto.ListKeywordReq{
|
||||
DatasetId: req.DatasetId,
|
||||
DocumentId: req.DocumentId,
|
||||
Word: req.Word,
|
||||
})
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
if count > 0 {
|
||||
err = gerror.New("关键词已存在")
|
||||
return
|
||||
}
|
||||
var id int64
|
||||
id, err = dao.Keyword.Insert(ctx, req)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
res = &dto.CreateKeywordRes{Id: id}
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
func (s *keywordService) Update(ctx context.Context, req *dto.UpdateKeywordReq) (err error) {
|
||||
_, err = dao.Keyword.Update(ctx, req)
|
||||
return
|
||||
}
|
||||
|
||||
func (s *keywordService) Delete(ctx context.Context, req *dto.DeleteKeywordReq) (err error) {
|
||||
_, err = dao.Keyword.Delete(ctx, req)
|
||||
return
|
||||
}
|
||||
|
||||
func (s *keywordService) Get(ctx context.Context, req *dto.GetKeywordReq) (res *dto.KeywordVO, err error) {
|
||||
r, err := dao.Keyword.GetByID(ctx, req)
|
||||
err = gconv.Struct(r, &res)
|
||||
return
|
||||
}
|
||||
|
||||
func (s *keywordService) List(ctx context.Context, req *dto.ListKeywordReq) (res *dto.ListKeywordRes, err error) {
|
||||
list, total, err := dao.Keyword.List(ctx, req)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
res = &dto.ListKeywordRes{
|
||||
Total: total,
|
||||
}
|
||||
err = gconv.Struct(list, &res.List)
|
||||
return
|
||||
}
|
||||
Reference in New Issue
Block a user