get_agent_data_list_logic.go 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  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. dataResp.PageNum = req.PageNum
  24. dataResp.PageSize = req.PageSize
  25. var total int
  26. var params fastgpt.GetDataListReq
  27. params.CollectionId = *req.CollectionId
  28. params.PageSize = *req.PageSize
  29. params.PageNum = *req.PageNum
  30. resp, err := fastgpt.GetDataList(&params)
  31. if err != nil {
  32. return nil, errorx.NewInvalidArgumentError("fastgpt get data list failed " + err.Error())
  33. }
  34. dataResp.Data = make([]types.DataSimpleInfo, 0, 1)
  35. dataResp.Total = &total
  36. if resp.Code == 200 && resp.Data.Total > 0 {
  37. for _, val := range resp.Data.Data {
  38. dataResp.Data = append(dataResp.Data, types.DataSimpleInfo{
  39. ID: &val.ID,
  40. Q: &val.Q,
  41. A: &val.A,
  42. ChunkIndex: &val.ChunkIndex,
  43. DatasetId: &val.DatasetID,
  44. CollectionId: &val.CollectionID,
  45. })
  46. }
  47. dataResp.Total = &resp.Data.Total
  48. }
  49. return &dataResp, nil
  50. }