From c7f4bc5da35783ea9ee1290b325bca7cf4959ec9 Mon Sep 17 00:00:00 2001 From: luogw <3132758203@qq.com> Date: Thu, 5 Feb 2026 16:40:43 +0800 Subject: [PATCH] =?UTF-8?q?=E7=9F=A5=E8=AF=86=E7=82=B9=E8=AE=A1=E7=AE=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...SearchKnowledgePointDomainServiceImpl.java | 19 ++++++------------- .../mapper/KnowledgePointMapper.java | 17 ++++++++++++----- 2 files changed, 18 insertions(+), 18 deletions(-) diff --git a/src/main/java/com/project/information/domain/service/impl/SearchKnowledgePointDomainServiceImpl.java b/src/main/java/com/project/information/domain/service/impl/SearchKnowledgePointDomainServiceImpl.java index 9ab1804..f115d81 100644 --- a/src/main/java/com/project/information/domain/service/impl/SearchKnowledgePointDomainServiceImpl.java +++ b/src/main/java/com/project/information/domain/service/impl/SearchKnowledgePointDomainServiceImpl.java @@ -1,5 +1,8 @@ package com.project.information.domain.service.impl; +import com.project.base.domain.exception.BusinessErrorException; +import com.project.base.domain.exception.MissingParameterException; +import com.project.base.domain.result.ResultCodeEnum; import com.project.information.domain.dto.KnowledgePointDTO; import com.project.information.domain.dto.KnowledgePointStatisticsDTO; import com.project.information.domain.service.SearchKnowledgePointDomainService; @@ -16,19 +19,9 @@ public class SearchKnowledgePointDomainServiceImpl implements SearchKnowledgePoi @Override public KnowledgePointStatisticsDTO getSum(Long subLineId) { - List knowledgePointDTOList = knowledgePointMapper.selectBySubLineId(subLineId); - Integer preciseSum = 0; - Integer blurSum = 0; - for (KnowledgePointDTO knowledgePointDTO : knowledgePointDTOList) { - if (knowledgePointDTO.getBackgroundColor() == 0){ - preciseSum ++; - }else if(knowledgePointDTO.getBackgroundColor() == 1){ - preciseSum ++; - } + if (subLineId == null) { + throw new MissingParameterException(ResultCodeEnum.MISSING_PARAMETER.getMessage()); } - KnowledgePointStatisticsDTO knowledgePointStatisticsDTO = new KnowledgePointStatisticsDTO(); - knowledgePointStatisticsDTO.setPreciseSum(preciseSum); - knowledgePointStatisticsDTO.setBlurSum(blurSum); - return knowledgePointStatisticsDTO; + return knowledgePointMapper.selectBySubLineId(subLineId); } } diff --git a/src/main/java/com/project/information/mapper/KnowledgePointMapper.java b/src/main/java/com/project/information/mapper/KnowledgePointMapper.java index 7a74fa2..22bc05b 100644 --- a/src/main/java/com/project/information/mapper/KnowledgePointMapper.java +++ b/src/main/java/com/project/information/mapper/KnowledgePointMapper.java @@ -3,6 +3,7 @@ package com.project.information.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.project.information.domain.dto.KnowledgePointDTO; +import com.project.information.domain.dto.KnowledgePointStatisticsDTO; import com.project.information.domain.entity.KnowledgePointEntity; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Select; @@ -12,11 +13,17 @@ import java.util.List; @Mapper public interface KnowledgePointMapper extends BaseMapper { + + /** + * 统计知识点数量 + */ @Select({ - "SELECT e.*" + - "FROM evaluator_information e" + - "INNER JOIN evaluator_knowledge_point p ON p.information_id = e.id" + - "WHERE e.sub_line_id = #{subLineId};" + "SELECT", + " SUM(CASE WHEN p.background_color = 0 THEN 1 ELSE 0 END) AS preciseSum,", + " SUM(CASE WHEN p.background_color = 1 THEN 1 ELSE 0 END) AS blurSum", + "FROM evaluator_knowledge_point e", + "INNER JOIN evaluator_knowledge_point p ON p.information_id = e.id", + "WHERE e.sub_line_id = #{subLineId}" }) - List selectBySubLineId(@Param("subLineId") Long subLineId); + KnowledgePointStatisticsDTO selectBySubLineId(@Param("subLineId") Long subLineId); }