KmtKnowledgeController.java 3.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. package com.aijia.kmt.controller;
  2. import com.aijia.core.web.BaseController;
  3. import com.aijia.core.web.ResponseConstant;
  4. import com.aijia.core.web.ResponseEntity;
  5. import com.aijia.kmt.dto.KnowHowDTO;
  6. import com.aijia.kmt.service.KmtKnowledgeService;
  7. import com.aijia.kmt.vo.KnowledgeRequest;
  8. import com.aijia.kmt.vo.TestPointRequest;
  9. import io.swagger.annotations.Api;
  10. import io.swagger.annotations.ApiOperation;
  11. import org.apache.commons.lang3.StringUtils;
  12. import org.slf4j.Logger;
  13. import org.slf4j.LoggerFactory;
  14. import org.springframework.beans.factory.annotation.Autowired;
  15. import org.springframework.web.bind.annotation.*;
  16. import java.util.ArrayList;
  17. import java.util.HashMap;
  18. import java.util.List;
  19. import java.util.Map;
  20. /**
  21. *
  22. * kmt知识点功能
  23. * @author chchen
  24. * 2019-01-14
  25. */
  26. @Api(value = "kmt练习册知识点相关的接口", tags = "kmt练习册知识点相关的接口")
  27. @RestController
  28. @RequestMapping("/api/train/kmt/knowledge")
  29. public class KmtKnowledgeController extends BaseController {
  30. private Logger logger = LoggerFactory.getLogger(this.getClass());
  31. @Autowired
  32. private KmtKnowledgeService kmtKnowledgeService;
  33. @ApiOperation(value = "请求知识点筛选条件")
  34. @RequestMapping(value = "getKnowledgeFilter", method = RequestMethod.POST)
  35. public ResponseEntity getKnowledgeFilter(@RequestParam String accessToken) {
  36. long start = System.currentTimeMillis();
  37. ResponseEntity responseEntity = new ResponseEntity();
  38. try {
  39. Map<String, Object> resultMap = kmtKnowledgeService.findKnowledgeFilter();
  40. responseEntity.success(resultMap, "查询成功");
  41. } catch (Exception e) {
  42. logger.error("请求知识点筛选条件异常:", e);
  43. responseEntity.failure(ResponseConstant.CODE_500,"服务器繁忙,请稍后重试");
  44. }
  45. logger.info(accessToken + ":" + (System.currentTimeMillis() - start));
  46. return responseEntity;
  47. }
  48. @ApiOperation(value = "查询知识点")
  49. @RequestMapping(value = "getKnowledge", method = RequestMethod.POST)
  50. public ResponseEntity getKnowledge(@RequestParam String accessToken, @RequestBody KnowledgeRequest request) {
  51. long start = System.currentTimeMillis();
  52. ResponseEntity responseEntity = new ResponseEntity();
  53. try {
  54. List<KnowHowDTO> knowHowDTOList = new ArrayList<>();
  55. if (StringUtils.isNotBlank(request.getGrade()) && request.getVersionType() != null
  56. && request.getSemester() != null && StringUtils.isNotBlank(request.getSubject())){
  57. knowHowDTOList = kmtKnowledgeService.findSortKnowledgeByCondition(request);
  58. }
  59. Map<String, Object> resultMap = new HashMap<>();
  60. resultMap.put("list", knowHowDTOList);
  61. responseEntity.success(resultMap, "查询成功");
  62. } catch (Exception e) {
  63. logger.error("查询知识点异常:", e);
  64. responseEntity.failure(ResponseConstant.CODE_500,"服务器繁忙,请稍后重试");
  65. }
  66. logger.info(accessToken + ":" + (System.currentTimeMillis() - start));
  67. return responseEntity;
  68. }
  69. @ApiOperation(value = "查询知识点列表的考点")
  70. @RequestMapping(value = "getTestingPoint", method = RequestMethod.POST)
  71. public ResponseEntity getTestPoint(@RequestParam String accessToken, @RequestBody TestPointRequest request) {
  72. ResponseEntity responseEntity = new ResponseEntity();
  73. try {
  74. Map<String, Object> resultMap = new HashMap<>();
  75. resultMap.put("list", kmtKnowledgeService.findDetailsListWithKd(request.getDetailIds()));
  76. responseEntity.success(resultMap, "查询成功");
  77. } catch (Exception e) {
  78. logger.error("查询知识点列表的考点异常:", e);
  79. responseEntity.failure(ResponseConstant.CODE_500,"服务器繁忙,请稍后重试");
  80. }
  81. return responseEntity;
  82. }
  83. }