package handlers import ( "context" "file-system/internal/domain/repository" ) type UploadFileHandler struct { Repo repository.FileRepository } func NewUploadFileHandler(repo repository.FileRepository) *UploadFileHandler { return &UploadFileHandler{Repo: repo} } func (h *UploadFileHandler) Handle(ctx context.Context, cmd UploadFileCommand) (string, error) { // 业务逻辑:上传文件 // 调用 Repository err := h.Repo.UploadFile(ctx, cmd.BucketName, cmd.FileName, cmd.Data) if err != nil { // 简单的错误处理,实际可能需要包装为 BusinessException return "", err } return "File uploaded successfully", nil }