get_agent_data_list_logic.go 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. package agent
  2. import (
  3. "context"
  4. "github.com/zeromicro/go-zero/core/errorx"
  5. "wechat-api/hook/fastgpt"
  6. "wechat-api/internal/svc"
  7. "wechat-api/internal/types"
  8. "github.com/zeromicro/go-zero/core/logx"
  9. )
  10. type GetAgentDataListLogic struct {
  11. logx.Logger
  12. ctx context.Context
  13. svcCtx *svc.ServiceContext
  14. }
  15. func NewGetAgentDataListLogic(ctx context.Context, svcCtx *svc.ServiceContext) *GetAgentDataListLogic {
  16. return &GetAgentDataListLogic{
  17. Logger: logx.WithContext(ctx),
  18. ctx: ctx,
  19. svcCtx: svcCtx}
  20. }
  21. func (l *GetAgentDataListLogic) GetAgentDataList(req *types.DataListReq) (*types.DataListResp, error) {
  22. dataResp := types.DataListResp{}
  23. var params fastgpt.GetDataListReq
  24. params.CollectionId = *req.CollectionId
  25. params.PageSize = *req.PageSize
  26. params.PageNum = *req.Page
  27. resp, err := fastgpt.GetDataList(&params)
  28. if err != nil {
  29. return nil, errorx.NewInvalidArgumentError("fastgpt get data list failed " + err.Error())
  30. }
  31. dataResp.Data = types.BatchSimpleInfo{}
  32. dataResp.Data.Total = uint64(resp.Data.Total)
  33. if resp.Code == 200 && resp.Data.Total > 0 {
  34. for _, val := range resp.Data.Data {
  35. dataResp.Data.Data = append(dataResp.Data.Data, types.DataSimpleInfo{
  36. ID: &val.ID,
  37. Q: &val.Q,
  38. A: &val.A,
  39. ChunkIndex: &val.ChunkIndex,
  40. DatasetId: &val.DatasetID,
  41. CollectionId: &val.CollectionID,
  42. })
  43. }
  44. }
  45. return &dataResp, nil
  46. }