package com.ruoyi.task.api.contract; import com.ruoyi.common.core.service.SubtaskOptionMatchApi; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import java.util.List; import com.ruoyi.task.service.IServiceSubtaskService; /** * 【过渡实现·临时】{@link SubtaskOptionMatchApi} 在 smartor 侧的桥接。 * *

为什么需要它

* 模板模块的 {@code IvrLibaTargetServiceImpl} 需要「AI 选项匹配」能力, * 而该能力目前实现在 smartor 的 {@code ServiceSubtaskServiceImpl#matchOptionIndex} * (同文件内还有 3 处自有调用,所以不能整体搬走)。 * 模板模块不能依赖 smartor,于是按既有手法把接口放 ruoyi-common、实现留在这里。 * *

本类做什么

* 纯转发,零逻辑改动。 * *

⚠️ 泛型透传

* 契约用泛型 {@code } 让调用点的类型保持原样(他们拿到下标后要 * {@code options.get(i).getOptiondesc()})。这里直接透传 {@code T}, * smartor 侧那个方法按运行时类型序列化,结果与迁移前逐字一致。 * * @see com.ruoyi.common.core.service.SubtaskOptionMatchApi */ @Slf4j @Component public class SubtaskOptionMatchApiImpl implements SubtaskOptionMatchApi { @Autowired private IServiceSubtaskService serviceSubtaskService; @Override public Integer matchOptionIndex(String url, String questionText, String voiceText, java.util.List options, String uuid) { return serviceSubtaskService.matchOptionIndex(url, questionText, voiceText, options, uuid); } }