diff --git a/src/main/java/com/project/interaction/controller/InteractionController.java b/src/main/java/com/project/interaction/controller/InteractionController.java index e291e05..a6f32c8 100644 --- a/src/main/java/com/project/interaction/controller/InteractionController.java +++ b/src/main/java/com/project/interaction/controller/InteractionController.java @@ -2,12 +2,16 @@ 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.*; @@ -23,6 +27,8 @@ public class InteractionController { private TaskApplicationService taskApplicationService; @Autowired private GenerateQuestionQueueService generateQuestionQueueService; + @Autowired + private GenerateQuestionDomainService generateQuestionDomainService; // @PostMapping("/saveCluster") @@ -57,4 +63,21 @@ public class InteractionController { 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); + } } diff --git a/src/main/java/com/project/interaction/domain/dto/GenerateQuestionQueueDTO.java b/src/main/java/com/project/interaction/domain/dto/GenerateQuestionQueueDTO.java index 99b51a5..4db12f4 100644 --- a/src/main/java/com/project/interaction/domain/dto/GenerateQuestionQueueDTO.java +++ b/src/main/java/com/project/interaction/domain/dto/GenerateQuestionQueueDTO.java @@ -46,7 +46,7 @@ public class GenerateQuestionQueueDTO implements Serializable { private LocalDateTime lastRetryTime; /**权重*/ - private Integer weight; + private Integer weight = 0; }