From 1e4469ed8489148ea6e165de7cccffa9b5fa5423 Mon Sep 17 00:00:00 2001 From: luoweijian <1329394916@qq.com> Date: Sat, 7 Feb 2026 10:15:10 +0800 Subject: [PATCH] =?UTF-8?q?=E7=9F=A5=E8=AF=86=E7=82=B9=E7=BB=9F=E8=AE=A1?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../KnowledgePointApplicationService.java | 2 +- .../KnowledgePointApplicationServiceImpl.java | 15 ++++++---- .../controller/KnowledgePointController.java | 8 +++-- .../dto/KnowledgePointStatisticsDTO.java | 10 +++++-- .../domain/enums/KnowlegeTypeEnum.java | 14 +++++++++ ...StatisticsKnowledgePointDomainService.java | 9 ++++++ ...isticsKnowledgePointDomainServiceImpl.java | 30 +++++++++++++++++++ .../mapper/KnowledgePointMapper.java | 4 +-- 8 files changed, 79 insertions(+), 13 deletions(-) rename src/main/java/com/project/information/application/{ => impl}/KnowledgePointApplicationServiceImpl.java (92%) create mode 100644 src/main/java/com/project/information/domain/enums/KnowlegeTypeEnum.java create mode 100644 src/main/java/com/project/information/domain/service/GetStatisticsKnowledgePointDomainService.java create mode 100644 src/main/java/com/project/information/domain/service/impl/GetStatisticsKnowledgePointDomainServiceImpl.java diff --git a/src/main/java/com/project/information/application/KnowledgePointApplicationService.java b/src/main/java/com/project/information/application/KnowledgePointApplicationService.java index 4f42c23..fa239d6 100644 --- a/src/main/java/com/project/information/application/KnowledgePointApplicationService.java +++ b/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 getSum(Long subLineId); + Result getStatistics(Long subLineId) throws Exception; void parse(Map fileMap); } diff --git a/src/main/java/com/project/information/application/KnowledgePointApplicationServiceImpl.java b/src/main/java/com/project/information/application/impl/KnowledgePointApplicationServiceImpl.java similarity index 92% rename from src/main/java/com/project/information/application/KnowledgePointApplicationServiceImpl.java rename to src/main/java/com/project/information/application/impl/KnowledgePointApplicationServiceImpl.java index 94916e0..855cf34 100644 --- a/src/main/java/com/project/information/application/KnowledgePointApplicationServiceImpl.java +++ b/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 getSum(Long subLineId) { - return Result.success(searchKnowledgePointDomainService.getSum(subLineId)); + public Result getStatistics(Long subLineId) throws Exception { + return getStatisticsKnowledgePointDomainService.getStatistics(subLineId); } @Override diff --git a/src/main/java/com/project/information/controller/KnowledgePointController.java b/src/main/java/com/project/information/controller/KnowledgePointController.java index 3d86c76..a40c169 100644 --- a/src/main/java/com/project/information/controller/KnowledgePointController.java +++ b/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 getSum(Long subLineId){ - return knowledgePointApplicationService.getSum(subLineId); + try { + return knowledgePointApplicationService.getStatistics(subLineId); + } catch (Exception e) { + throw new RuntimeException(e); + } } } diff --git a/src/main/java/com/project/information/domain/dto/KnowledgePointStatisticsDTO.java b/src/main/java/com/project/information/domain/dto/KnowledgePointStatisticsDTO.java index a85146a..d6fdfeb 100644 --- a/src/main/java/com/project/information/domain/dto/KnowledgePointStatisticsDTO.java +++ b/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 relatedDocumentList; } diff --git a/src/main/java/com/project/information/domain/enums/KnowlegeTypeEnum.java b/src/main/java/com/project/information/domain/enums/KnowlegeTypeEnum.java new file mode 100644 index 0000000..d9af5b7 --- /dev/null +++ b/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 { + Accurate_Grasp(0 , "精准掌握") , + Vague_Grasp(1 , "模糊掌握"); + private final Integer value; + private final String desc; +} diff --git a/src/main/java/com/project/information/domain/service/GetStatisticsKnowledgePointDomainService.java b/src/main/java/com/project/information/domain/service/GetStatisticsKnowledgePointDomainService.java new file mode 100644 index 0000000..5b94094 --- /dev/null +++ b/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 getStatistics(Long subLineId) throws Exception; +} diff --git a/src/main/java/com/project/information/domain/service/impl/GetStatisticsKnowledgePointDomainServiceImpl.java b/src/main/java/com/project/information/domain/service/impl/GetStatisticsKnowledgePointDomainServiceImpl.java new file mode 100644 index 0000000..cbc8a74 --- /dev/null +++ b/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 getStatistics(Long subLineId) throws Exception { + KnowledgePointStatisticsDTO dto = knowledgePointMapper.selectBySubLineId(subLineId); + List relatedDocumentList = informationBaseService.lambdaQuery().select(InformationEntity::getId) + .eq(InformationEntity::getSubLineId, subLineId).list() + .stream().map(InformationEntity::getId).toList(); + dto.setRelatedDocumentList(relatedDocumentList); + return Result.success(dto); + } +} diff --git a/src/main/java/com/project/information/mapper/KnowledgePointMapper.java b/src/main/java/com/project/information/mapper/KnowledgePointMapper.java index 645a456..97e9a03 100644 --- a/src/main/java/com/project/information/mapper/KnowledgePointMapper.java +++ b/src/main/java/com/project/information/mapper/KnowledgePointMapper.java @@ -19,8 +19,8 @@ public interface KnowledgePointMapper extends BaseMapper { */ @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}"