Browse Source

知识点统计接口

master
luoweijian 1 month ago
parent
commit
1e4469ed84
  1. 2
      src/main/java/com/project/information/application/KnowledgePointApplicationService.java
  2. 15
      src/main/java/com/project/information/application/impl/KnowledgePointApplicationServiceImpl.java
  3. 8
      src/main/java/com/project/information/controller/KnowledgePointController.java
  4. 10
      src/main/java/com/project/information/domain/dto/KnowledgePointStatisticsDTO.java
  5. 14
      src/main/java/com/project/information/domain/enums/KnowlegeTypeEnum.java
  6. 9
      src/main/java/com/project/information/domain/service/GetStatisticsKnowledgePointDomainService.java
  7. 30
      src/main/java/com/project/information/domain/service/impl/GetStatisticsKnowledgePointDomainServiceImpl.java
  8. 4
      src/main/java/com/project/information/mapper/KnowledgePointMapper.java

2
src/main/java/com/project/information/application/KnowledgePointApplicationService.java

@ -7,7 +7,7 @@ import org.springframework.web.multipart.MultipartFile;
import java.util.Map;
public interface KnowledgePointApplicationService {
Result<KnowledgePointStatisticsDTO> getSum(Long subLineId);
Result<KnowledgePointStatisticsDTO> getStatistics(Long subLineId) throws Exception;
void parse(Map<Long, MultipartFile> fileMap);
}

15
src/main/java/com/project/information/application/KnowledgePointApplicationServiceImpl.java → src/main/java/com/project/information/application/impl/KnowledgePointApplicationServiceImpl.java

@ -1,13 +1,14 @@
package com.project.information.application;
package com.project.information.application.impl;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.project.base.domain.result.Result;
import com.project.information.application.KnowledgePointApplicationService;
import com.project.information.domain.dto.KnowledgePointStatisticsDTO;
import com.project.information.domain.entity.KnowledgePointEntity;
import com.project.information.domain.service.GetStatisticsKnowledgePointDomainService;
import com.project.information.domain.service.KnowledgePointBaseService;
import com.project.information.domain.service.SearchKnowledgePointDomainService;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.ObjectUtils;
import org.springframework.beans.factory.annotation.Autowired;
@ -31,11 +32,13 @@ import java.util.stream.Collectors;
@Service
@Slf4j
public class KnowledgePointApplicationServiceImpl implements KnowledgePointApplicationService {
@Autowired
private SearchKnowledgePointDomainService searchKnowledgePointDomainService;
@Autowired
private KnowledgePointBaseService knowledgePointBaseService;
@Autowired
private GetStatisticsKnowledgePointDomainService getStatisticsKnowledgePointDomainService;
private final RestTemplate restTemplate = new RestTemplate();
@Value("${analysis.host:172.16.204.50}")
@ -46,8 +49,8 @@ public class KnowledgePointApplicationServiceImpl implements KnowledgePointAppli
private String analysisUrl;
@Override
public Result<KnowledgePointStatisticsDTO> getSum(Long subLineId) {
return Result.success(searchKnowledgePointDomainService.getSum(subLineId));
public Result<KnowledgePointStatisticsDTO> getStatistics(Long subLineId) throws Exception {
return getStatisticsKnowledgePointDomainService.getStatistics(subLineId);
}
@Override

8
src/main/java/com/project/information/controller/KnowledgePointController.java

@ -14,8 +14,12 @@ public class KnowledgePointController {
@Autowired
private KnowledgePointApplicationService knowledgePointApplicationService;
@GetMapping("/getSum")
@GetMapping("/getStatistics")
public Result<KnowledgePointStatisticsDTO> getSum(Long subLineId){
return knowledgePointApplicationService.getSum(subLineId);
try {
return knowledgePointApplicationService.getStatistics(subLineId);
} catch (Exception e) {
throw new RuntimeException(e);
}
}
}

10
src/main/java/com/project/information/domain/dto/KnowledgePointStatisticsDTO.java

@ -2,15 +2,21 @@ package com.project.information.domain.dto;
import lombok.Data;
import java.util.List;
@Data
public class KnowledgePointStatisticsDTO {
/**
* 精准掌握知识点数黄色
*/
private Integer preciseSum;
private Integer accurateGraspNum;
/**
* 模糊掌握知识点数黄色
*/
private Integer blurSum;
private Integer vagueGraspNum;
/**
* 关联文档idList
*/
private List<Long> relatedDocumentList;
}

14
src/main/java/com/project/information/domain/enums/KnowlegeTypeEnum.java

@ -0,0 +1,14 @@
package com.project.information.domain.enums;
import com.project.base.domain.enums.HasValueEnum;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
@RequiredArgsConstructor
@Getter
public enum KnowlegeTypeEnum implements HasValueEnum<Integer> {
Accurate_Grasp(0 , "精准掌握") ,
Vague_Grasp(1 , "模糊掌握");
private final Integer value;
private final String desc;
}

9
src/main/java/com/project/information/domain/service/GetStatisticsKnowledgePointDomainService.java

@ -0,0 +1,9 @@
package com.project.information.domain.service;
import com.project.base.domain.result.Result;
import com.project.information.domain.dto.KnowledgePointStatisticsDTO;
public interface GetStatisticsKnowledgePointDomainService {
Result<KnowledgePointStatisticsDTO> getStatistics(Long subLineId) throws Exception;
}

30
src/main/java/com/project/information/domain/service/impl/GetStatisticsKnowledgePointDomainServiceImpl.java

@ -0,0 +1,30 @@
package com.project.information.domain.service.impl;
import com.project.base.domain.result.Result;
import com.project.information.domain.dto.KnowledgePointStatisticsDTO;
import com.project.information.domain.entity.InformationEntity;
import com.project.information.domain.service.GetStatisticsKnowledgePointDomainService;
import com.project.information.domain.service.InformationBaseService;
import com.project.information.mapper.KnowledgePointMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class GetStatisticsKnowledgePointDomainServiceImpl implements GetStatisticsKnowledgePointDomainService {
@Autowired
private KnowledgePointMapper knowledgePointMapper;
@Autowired
private InformationBaseService informationBaseService;
@Override
public Result<KnowledgePointStatisticsDTO> getStatistics(Long subLineId) throws Exception {
KnowledgePointStatisticsDTO dto = knowledgePointMapper.selectBySubLineId(subLineId);
List<Long> relatedDocumentList = informationBaseService.lambdaQuery().select(InformationEntity::getId)
.eq(InformationEntity::getSubLineId, subLineId).list()
.stream().map(InformationEntity::getId).toList();
dto.setRelatedDocumentList(relatedDocumentList);
return Result.success(dto);
}
}

4
src/main/java/com/project/information/mapper/KnowledgePointMapper.java

@ -19,8 +19,8 @@ public interface KnowledgePointMapper extends BaseMapper<KnowledgePointEntity> {
*/
@Select({
"SELECT",
" SUM(CASE WHEN p.knowledge_type = 0 THEN 1 ELSE 0 END) AS preciseSum,",
" SUM(CASE WHEN p.knowledge_type = 1 THEN 1 ELSE 0 END) AS blurSum",
" SUM(CASE WHEN p.knowledge_type = 0 THEN 1 ELSE 0 END) AS accurateGraspNum,",
" SUM(CASE WHEN p.knowledge_type = 1 THEN 1 ELSE 0 END) AS vagueGraspNum",
"FROM evaluator_information e",
"INNER JOIN evaluator_knowledge_point p ON p.information_id = e.id",
"WHERE e.sub_line_id = #{subLineId}"

Loading…
Cancel
Save