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。
|
*
|
* <h3>为什么放在 {@code api.contract} 包</h3>
|
* 与 {@code ServiceTaskMatchApiImpl} / {@code SubtaskStatApiImpl} / {@code SubtaskOptionMatchApiImpl}
|
* 等 ruoyi-common 契约的实现放在一起,便于"对外契约 → 实现"成对阅读。
|
*
|
* <h3>行为约定</h3>
|
* 本类<b>不做任何业务判断</b>(不校验、不补字段、不改状态),只转发;
|
* 电话流程原有的业务分支一律留在 {@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<ServiceSubtask> 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<ServiceSubtaskDetail> 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);
|
}
|
}
|