package agent import ( "context" "github.com/zeromicro/go-zero/core/errorx" "wechat-api/hook/fastgpt" "wechat-api/internal/svc" "wechat-api/internal/types" "github.com/zeromicro/go-zero/core/logx" ) type GetAgentDataListLogic struct { logx.Logger ctx context.Context svcCtx *svc.ServiceContext } func NewGetAgentDataListLogic(ctx context.Context, svcCtx *svc.ServiceContext) *GetAgentDataListLogic { return &GetAgentDataListLogic{ Logger: logx.WithContext(ctx), ctx: ctx, svcCtx: svcCtx} } func (l *GetAgentDataListLogic) GetAgentDataList(req *types.DataListReq) (*types.DataListResp, error) { dataResp := types.DataListResp{} dataResp.PageNum = req.PageNum dataResp.PageSize = req.PageSize var total int var params fastgpt.GetDataListReq params.CollectionId = *req.CollectionId params.PageSize = *req.PageSize params.PageNum = *req.PageNum resp, err := fastgpt.GetDataList(¶ms) if err != nil { return nil, errorx.NewInvalidArgumentError("fastgpt get data list failed " + err.Error()) } dataResp.Data = make([]types.DataSimpleInfo, 0, 1) dataResp.Total = &total if resp.Code == 200 && resp.Data.Total > 0 { for _, val := range resp.Data.Data { dataResp.Data = append(dataResp.Data, types.DataSimpleInfo{ ID: &val.ID, Q: &val.Q, A: &val.A, ChunkIndex: &val.ChunkIndex, DatasetId: &val.DatasetID, CollectionId: &val.CollectionID, }) } dataResp.Total = &resp.Data.Total } return &dataResp, nil }