package com.project.interaction.controller; import com.project.base.domain.exception.MissingParameterException; import com.project.base.domain.result.Result; import com.project.interaction.application.AlgorithmApplicationService; import com.project.interaction.domain.dto.ClusterCallbackDTO; import com.project.interaction.domain.dto.QuestionCallBackDTO; import com.project.interaction.domain.service.GenerateQuestionQueueService; import com.project.question.domain.enums.QuestionSourceTypeEnum; import com.project.question.domain.service.GenerateQuestionDomainService; import com.project.task.application.TaskApplicationService; import com.project.task.domain.enums.QuestionTypeEnum; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.util.List; @RestController @RequestMapping("/api/interaction") public class InteractionController { @Autowired private AlgorithmApplicationService algorithmApplicationService; @Autowired private TaskApplicationService taskApplicationService; @Autowired private GenerateQuestionQueueService generateQuestionQueueService; @Autowired private GenerateQuestionDomainService generateQuestionDomainService; // @PostMapping("/saveCluster") // public Result saveCluster(ClusterCallbackDTO dto) throws Exception{ // algorithmApplicationService.saveCluster(dto.getTaskId(), dto.getClusters()); // return Result.success("保存成功"); // } @PostMapping("/saveCluster") public Result saveCluster(ClusterCallbackDTO dto) throws Exception{ algorithmApplicationService.saveClusterByInformationId(dto.getTaskId(), dto.getClusters()); return Result.success("保存成功"); } @PostMapping("/saveQuestion") public Result saveQuestion(QuestionCallBackDTO dto) throws Exception { return null; } /** * 判断任务是否删除 */ @PostMapping("/isDeletedTask") public Result isDeletedTask(Long taskId,@RequestParam("taskKpIds") List taskKpIds,Integer type){ return taskApplicationService.isDeletedTask(taskId,taskKpIds,type); } /** * 获取当前队列大小 */ @GetMapping("/getQueueSize") public Result getQueueSize(){ return Result.success(generateQuestionQueueService.getQueueSize()); } /** * 生题请求 */ @PostMapping("/generateQuestion") public Result generateQuestion(Long sourceId, Integer questionType , int needCount){ QuestionTypeEnum questionTypeEnum = QuestionTypeEnum.findByValue(questionType); if (questionTypeEnum == null){ throw new MissingParameterException("题型不存在"); } generateQuestionDomainService.produce(sourceId,questionTypeEnum, QuestionTypeEnum.MULTIPLE_CHOICE.equals(questionTypeEnum) ? QuestionSourceTypeEnum.Multi_Concept : QuestionSourceTypeEnum.Single_Concept, needCount,Boolean.TRUE); return Result.success(null); } }