package com.aijia.kmt.controller; import com.aijia.core.web.BaseController; import com.aijia.core.web.ResponseConstant; import com.aijia.core.web.ResponseEntity; import com.aijia.kmt.dto.KnowHowDTO; import com.aijia.kmt.service.KmtKnowledgeService; import com.aijia.kmt.vo.KnowledgeRequest; import com.aijia.kmt.vo.TestPointRequest; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; /** * * kmt知识点功能 * @author chchen * 2019-01-14 */ @Api(value = "kmt练习册知识点相关的接口", tags = "kmt练习册知识点相关的接口") @RestController @RequestMapping("/api/train/kmt/knowledge") public class KmtKnowledgeController extends BaseController { private Logger logger = LoggerFactory.getLogger(this.getClass()); @Autowired private KmtKnowledgeService kmtKnowledgeService; @ApiOperation(value = "请求知识点筛选条件") @RequestMapping(value = "getKnowledgeFilter", method = RequestMethod.POST) public ResponseEntity getKnowledgeFilter(@RequestParam String accessToken) { long start = System.currentTimeMillis(); ResponseEntity responseEntity = new ResponseEntity(); try { Map resultMap = kmtKnowledgeService.findKnowledgeFilter(); responseEntity.success(resultMap, "查询成功"); } catch (Exception e) { logger.error("请求知识点筛选条件异常:", e); responseEntity.failure(ResponseConstant.CODE_500,"服务器繁忙,请稍后重试"); } logger.info(accessToken + ":" + (System.currentTimeMillis() - start)); return responseEntity; } @ApiOperation(value = "查询知识点") @RequestMapping(value = "getKnowledge", method = RequestMethod.POST) public ResponseEntity getKnowledge(@RequestParam String accessToken, @RequestBody KnowledgeRequest request) { long start = System.currentTimeMillis(); ResponseEntity responseEntity = new ResponseEntity(); try { List knowHowDTOList = new ArrayList<>(); if (StringUtils.isNotBlank(request.getGrade()) && request.getVersionType() != null && request.getSemester() != null && StringUtils.isNotBlank(request.getSubject())){ knowHowDTOList = kmtKnowledgeService.findSortKnowledgeByCondition(request); } Map resultMap = new HashMap<>(); resultMap.put("list", knowHowDTOList); responseEntity.success(resultMap, "查询成功"); } catch (Exception e) { logger.error("查询知识点异常:", e); responseEntity.failure(ResponseConstant.CODE_500,"服务器繁忙,请稍后重试"); } logger.info(accessToken + ":" + (System.currentTimeMillis() - start)); return responseEntity; } @ApiOperation(value = "查询知识点列表的考点") @RequestMapping(value = "getTestingPoint", method = RequestMethod.POST) public ResponseEntity getTestPoint(@RequestParam String accessToken, @RequestBody TestPointRequest request) { ResponseEntity responseEntity = new ResponseEntity(); try { Map resultMap = new HashMap<>(); resultMap.put("list", kmtKnowledgeService.findDetailsListWithKd(request.getDetailIds())); responseEntity.success(resultMap, "查询成功"); } catch (Exception e) { logger.error("查询知识点列表的考点异常:", e); responseEntity.failure(ResponseConstant.CODE_500,"服务器繁忙,请稍后重试"); } return responseEntity; } }