Files
rag-local/kb/controller/reference_case_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 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
}