63 lines
1.8 KiB
Go
63 lines
1.8 KiB
Go
package controller
|
|
|
|
import (
|
|
"context"
|
|
|
|
"rag-local/kb/model/dto"
|
|
"rag-local/kb/service"
|
|
)
|
|
|
|
type caseController struct{}
|
|
|
|
var Case = &caseController{}
|
|
|
|
func (c *caseController) Save(ctx context.Context, req *dto.SaveCaseReq) (*dto.SaveCaseRes, error) {
|
|
id, err := service.CaseService.Save(ctx, req)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return &dto.SaveCaseRes{Id: id}, nil
|
|
}
|
|
|
|
func (c *caseController) List(ctx context.Context, req *dto.ListCaseReq) (*dto.ListCaseRes, error) {
|
|
list, total, err := service.CaseService.List(ctx, req.Page, req.PageSize)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return &dto.ListCaseRes{
|
|
List: list,
|
|
Total: total,
|
|
Page: req.Page,
|
|
PageSize: req.PageSize,
|
|
}, nil
|
|
}
|
|
|
|
func (c *caseController) Detail(ctx context.Context, req *dto.GetCaseDetailReq) (*dto.GetCaseDetailRes, error) {
|
|
cse, evidences, contracts, err := service.CaseService.Detail(ctx, req.Id)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return &dto.GetCaseDetailRes{Case: cse, Evidences: evidences, Contracts: contracts}, nil
|
|
}
|
|
|
|
func (c *caseController) Delete(ctx context.Context, req *dto.DeleteCaseReq) (*dto.DeleteCaseRes, error) {
|
|
if err := service.CaseService.Delete(ctx, req.Id); err != nil {
|
|
return nil, err
|
|
}
|
|
return &dto.DeleteCaseRes{}, nil
|
|
}
|
|
|
|
func (c *caseController) LinkEvidence(ctx context.Context, req *dto.LinkEvidenceReq) (*dto.LinkEvidenceRes, error) {
|
|
if err := service.CaseService.LinkEvidence(ctx, req.CaseId, req.EvidenceIds); err != nil {
|
|
return nil, err
|
|
}
|
|
return &dto.LinkEvidenceRes{}, nil
|
|
}
|
|
|
|
func (c *caseController) UnlinkEvidence(ctx context.Context, req *dto.UnlinkEvidenceReq) (*dto.UnlinkEvidenceRes, error) {
|
|
if err := service.CaseService.UnlinkEvidence(ctx, req.CaseId, req.EvidenceId); err != nil {
|
|
return nil, err
|
|
}
|
|
return &dto.UnlinkEvidenceRes{}, nil
|
|
}
|