package com.ruoyi.task.api.contract; import com.ruoyi.task.api.TaskSubtaskApi; import com.ruoyi.task.domain.IvrTaskVisitResult; import com.ruoyi.task.domain.ServiceSubtask; import com.ruoyi.task.domain.ServiceSubtaskDetail; import com.ruoyi.task.domain.ServiceSubtaskDetailTrace; import com.ruoyi.task.domain.ServiceTask; import com.ruoyi.task.domain.entity.ServiceSubtaskEntity; import com.ruoyi.task.mapper.IvrTaskVisitResultMapper; import com.ruoyi.task.mapper.ServiceSubtaskDetailMapper; import com.ruoyi.task.mapper.ServiceSubtaskMapper; import com.ruoyi.task.service.IServiceSubtaskDetailTraceService; import com.ruoyi.task.service.IServiceTaskService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import java.util.List; /** * {@link TaskSubtaskApi} 的模块内实现:把调用原样转发给归属本模块的 Mapper / Service。 * *

为什么放在 {@code api.contract} 包

* 与 {@code ServiceTaskMatchApiImpl} / {@code SubtaskStatApiImpl} / {@code SubtaskOptionMatchApiImpl} * 等 ruoyi-common 契约的实现放在一起,便于"对外契约 → 实现"成对阅读。 * *

行为约定

* 本类不做任何业务判断(不校验、不补字段、不改状态),只转发; * 电话流程原有的业务分支一律留在 {@code ruoyi-phone}, * 这样"搬迁"是纯搬家,行为与模块化前逐行一致。 */ @Slf4j @Component public class TaskSubtaskApiImpl implements TaskSubtaskApi { @Autowired private ServiceSubtaskMapper serviceSubtaskMapper; @Autowired private ServiceSubtaskDetailMapper serviceSubtaskDetailMapper; @Autowired private IvrTaskVisitResultMapper serviceTaskVisitResultMapper; @Autowired private IServiceTaskService serviceTaskService; @Autowired private IServiceSubtaskDetailTraceService traceService; @Override public ServiceSubtask getSubtask(Long subId) { return serviceSubtaskMapper.selectServiceSubtaskById(subId); } @Override public List findSubtasks(ServiceSubtaskEntity query) { return serviceSubtaskMapper.selectServiceSubtaskList(query); } @Override public int updateSubtask(ServiceSubtask subtask) { Boolean updated = serviceSubtaskMapper.updateServiceSubtask(subtask); return Boolean.TRUE.equals(updated) ? 1 : 0; } @Override public ServiceTask getTask(Long taskid) { return serviceTaskService.selectServiceTaskByTaskid(taskid); } @Override public List findSubtaskDetails(ServiceSubtaskDetail query) { return serviceSubtaskDetailMapper.selectServiceSubtaskDetailList(query); } @Override public int insertSubtaskDetail(ServiceSubtaskDetail detail) { return serviceSubtaskDetailMapper.insertServiceSubtaskDetail(detail); } @Override public int updateSubtaskDetail(ServiceSubtaskDetail detail) { return serviceSubtaskDetailMapper.updateServiceSubtaskDetail(detail); } @Override public int insertVisitResult(IvrTaskVisitResult visitResult) { return serviceTaskVisitResultMapper.insertIvrTaskVisitResult(visitResult); } @Override public int insertDetailTrace(ServiceSubtaskDetailTrace trace) { return traceService.insertServiceSubtaskDetailTtrace(trace); } }