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);
}
}