2026-04-09 10:01:23 +08:00
|
|
|
package services
|
|
|
|
|
|
|
|
|
|
import (
|
2026-08-21 00:41:07 +08:00
|
|
|
"code.tczkiot.com/wlw/ai-agent/internal/models"
|
2026-05-31 18:43:48 +08:00
|
|
|
|
2026-08-21 00:41:07 +08:00
|
|
|
"code.tczkiot.com/wlw/ai-agent/internal/pkg/httpx/params"
|
2026-04-09 10:01:23 +08:00
|
|
|
|
|
|
|
|
"github.com/mlogclub/simple/sqls"
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
var KnowledgeRetrieveLogService = newKnowledgeRetrieveLogService()
|
|
|
|
|
|
|
|
|
|
func newKnowledgeRetrieveLogService() *knowledgeRetrieveLogService {
|
|
|
|
|
return &knowledgeRetrieveLogService{}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
type knowledgeRetrieveLogService struct {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func (s *knowledgeRetrieveLogService) Get(id int64) *models.KnowledgeRetrieveLog {
|
|
|
|
|
ret := &models.KnowledgeRetrieveLog{}
|
|
|
|
|
if err := sqls.DB().First(ret, "id = ?", id).Error; err != nil {
|
|
|
|
|
return nil
|
|
|
|
|
}
|
|
|
|
|
return ret
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func (s *knowledgeRetrieveLogService) FindPageByParams(params *params.QueryParams) (list []models.KnowledgeRetrieveLog, paging *sqls.Paging) {
|
|
|
|
|
cnd := ¶ms.Cnd
|
|
|
|
|
cnd.Find(sqls.DB(), &list)
|
|
|
|
|
count := cnd.Count(sqls.DB(), &models.KnowledgeRetrieveLog{})
|
|
|
|
|
paging = &sqls.Paging{
|
|
|
|
|
Page: cnd.Paging.Page,
|
|
|
|
|
Limit: cnd.Paging.Limit,
|
|
|
|
|
Total: count,
|
|
|
|
|
}
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func (s *knowledgeRetrieveLogService) FindHitsByRetrieveLogID(retrieveLogID int64) []models.KnowledgeRetrieveHit {
|
|
|
|
|
if retrieveLogID <= 0 {
|
|
|
|
|
return nil
|
|
|
|
|
}
|
|
|
|
|
var list []models.KnowledgeRetrieveHit
|
|
|
|
|
sqls.DB().Where("retrieve_log_id = ?", retrieveLogID).Order("rank_no asc, id asc").Find(&list)
|
|
|
|
|
return list
|
|
|
|
|
}
|