Files
rag-local/kb/controller/evidence_controller.go
2026-08-20 12:05:53 +08:00

61 lines
1.7 KiB
Go

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
}