package controller import ( "context" "rag-local/kb/model/dto" "rag-local/kb/service" "github.com/gogf/gf/v2/errors/gerror" ) type referenceCase struct{} var ReferenceCase = &referenceCase{} func (c *referenceCase) Save(ctx context.Context, req *dto.SaveReferenceCaseReq) (*dto.SaveReferenceCaseRes, error) { id, err := service.ReferenceCaseService.Save(ctx, req) if err != nil { return nil, err } return &dto.SaveReferenceCaseRes{Id: id}, nil } func (c *referenceCase) List(ctx context.Context, req *dto.ListReferenceCaseReq) (*dto.ListReferenceCaseRes, error) { list, total, err := service.ReferenceCaseService.List(ctx, req.Page, req.PageSize) if err != nil { return nil, err } return &dto.ListReferenceCaseRes{ List: list, Total: total, Page: req.Page, PageSize: req.PageSize, }, nil } func (c *referenceCase) Detail(ctx context.Context, req *dto.GetReferenceCaseDetailReq) (*dto.GetReferenceCaseDetailRes, error) { rc, docs, err := service.ReferenceCaseService.Detail(ctx, req.Id) if err != nil { return nil, err } return &dto.GetReferenceCaseDetailRes{ReferenceCase: rc, Documents: docs}, nil } func (c *referenceCase) Delete(ctx context.Context, req *dto.DeleteReferenceCaseReq) (*dto.DeleteReferenceCaseRes, error) { if err := service.ReferenceCaseService.Delete(ctx, req.Id); err != nil { return nil, err } return &dto.DeleteReferenceCaseRes{}, nil } func (c *referenceCase) UploadDoc(ctx context.Context, req *dto.UploadReferenceCaseDocReq) (*dto.UploadReferenceCaseDocRes, error) { if req.File == nil { return nil, gerror.New("请选择文件") } if err := service.ReferenceCaseService.UploadDocument(ctx, req.Id, req.File); err != nil { return nil, err } return &dto.UploadReferenceCaseDocRes{}, nil }