|
|
@@ -0,0 +1,60 @@
|
|
|
+package com.es.demo.recommend;
|
|
|
+
|
|
|
+import com.es.demo.back.ChoiceQuestion;
|
|
|
+import com.es.demo.back.TQRepository;
|
|
|
+import com.es.demo.recommend.dto.GetRecommend;
|
|
|
+import com.es.demo.recommend.dto.GetRecommendAnswer;
|
|
|
+import com.es.demo.recommend.vo.AnswerTQ;
|
|
|
+import com.es.demo.recommend.vo.NoAnswerTQ;
|
|
|
+import com.es.demo.recommend.vo.Res;
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.beans.factory.annotation.Qualifier;
|
|
|
+import org.springframework.data.domain.Page;
|
|
|
+import org.springframework.data.domain.PageRequest;
|
|
|
+import org.springframework.data.domain.Sort;
|
|
|
+import org.springframework.data.elasticsearch.core.ElasticsearchOperations;
|
|
|
+import org.springframework.web.bind.annotation.*;
|
|
|
+
|
|
|
+import java.util.Collections;
|
|
|
+import java.util.List;
|
|
|
+import java.util.stream.Collectors;
|
|
|
+
|
|
|
+/**
|
|
|
+ * @ClassName recomRestfulController
|
|
|
+ * @PackageName com.es.demo
|
|
|
+ * @Author sheen
|
|
|
+ * @Date 2020/1/2
|
|
|
+ * @Version 1.0
|
|
|
+ * @Description //TODO
|
|
|
+ **/
|
|
|
+@RestController
|
|
|
+@RequestMapping("/api/question")
|
|
|
+public class RecomRestfulController {
|
|
|
+ private final TQRepository tqRepository;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ public RecomRestfulController(@Qualifier("TQRepositoryImp") TQRepository tqRepository) {
|
|
|
+ this.tqRepository = tqRepository;
|
|
|
+ }
|
|
|
+
|
|
|
+ @PostMapping("/recommend")
|
|
|
+ public Res<List<NoAnswerTQ>> getRecommend(
|
|
|
+ @RequestBody GetRecommend body) {
|
|
|
+ final Page<ChoiceQuestion> all = tqRepository.findAll(PageRequest.of(0, body.questionNum.intValue()));
|
|
|
+
|
|
|
+ return new Res<List<NoAnswerTQ>>(
|
|
|
+ all.getContent().stream()
|
|
|
+ .map(NoAnswerTQ::new)
|
|
|
+ .collect(Collectors.toList()));
|
|
|
+ }
|
|
|
+ @PostMapping("/answer")
|
|
|
+ public Res<List<AnswerTQ>> getRecommendWithAnswer(
|
|
|
+ @RequestBody GetRecommendAnswer body) {
|
|
|
+ final Page<ChoiceQuestion> all = tqRepository.findByIdIn(body.getQuestionId(),PageRequest.of(0, body.questionId.size()));
|
|
|
+
|
|
|
+ return new Res<List<AnswerTQ>>(
|
|
|
+ all.getContent().stream()
|
|
|
+ .map(AnswerTQ::new)
|
|
|
+ .collect(Collectors.toList()));
|
|
|
+ }
|
|
|
+}
|