package controller import ( "context" "rag-local/kb/model/dto" "rag-local/kb/service" "github.com/gogf/gf/v2/errors/gerror" ) type evidence struct{} var Evidence = &evidence{} func (c *evidence) Upload(ctx context.Context, req *dto.UploadEvidenceReq) (*dto.UploadEvidenceRes, error) { if req.File == nil { return nil, gerror.New("请选择文件") } id, err := service.EvidenceService.Upload(ctx, req.File, req.EvidenceType, req.Description, req.DatasetIds, req.CaseId) if err != nil { return nil, err } return &dto.UploadEvidenceRes{Id: id}, nil } func (c *evidence) List(ctx context.Context, req *dto.ListEvidenceReq) (*dto.ListEvidenceRes, error) { list, total, err := service.EvidenceService.List(ctx, req.Page, req.PageSize) if err != nil { return nil, err } return &dto.ListEvidenceRes{ List: list, Total: total, Page: req.Page, PageSize: req.PageSize, }, nil } func (c *evidence) Detail(ctx context.Context, req *dto.GetEvidenceDetailReq) (*dto.GetEvidenceDetailRes, error) { ev, err := service.EvidenceService.Detail(ctx, req.Id) if err != nil { return nil, err } return &dto.GetEvidenceDetailRes{Evidence: ev}, nil } func (c *evidence) Delete(ctx context.Context, req *dto.DeleteEvidenceReq) (*dto.DeleteEvidenceRes, error) { if err := service.EvidenceService.Delete(ctx, req.Id); err != nil { return nil, err } return &dto.DeleteEvidenceRes{}, nil } func (c *evidence) Update(ctx context.Context, req *dto.UpdateEvidenceReq) (*dto.UpdateEvidenceRes, error) { if err := service.EvidenceService.Update(ctx, req.Id, req.Description, req.DatasetIds); err != nil { return nil, err } return &dto.UpdateEvidenceRes{}, nil }