package com.ruoyi.task.api.spi; /** * FTP 下载能力 —— ruoyi-task 的对外 SPI,由 smartor 侧实现。 * *

用途

* 子任务统计里有一段"把当天的录音目录从 FTP 拉到本地"的动作 * (原 {@code ServiceSubtaskServiceImpl} L2859: * {@code ftpService.downloadFolder("/" + LocalDate.now(), profile + "/upload/vadio/voice/" + LocalDate.now())})。 * {@code FtpService} 是 smartor 的通用工具,不属任务域,因此经本端口取用。 * *

为什么端口在 ruoyi-task 而不在 ruoyi-common

* 本端口只被 ruoyi-task 使用、且参数全是基本类型,没有"多方共享的契约类型", * 放在 ruoyi-task 的 {@code api.spi} 下即可,不必污染 ruoyi-common。 * 方向仍是「接口在 ruoyi-task、实现在 smartor」,编译期无环。 * *

⚠️ 实现必须保持"纯转发"

*/ public interface TaskFtpPort { /** * 递归下载远端目录到本地(原 {@code FtpService#downloadFolder})。 * * @param remoteDir 远端目录 * @param localDir 本地目录 */ void downloadFolder(String remoteDir, String localDir); }