Browse Source

知识点计算

master
luogw 1 month ago
parent
commit
c7f4bc5da3
  1. 19
      src/main/java/com/project/information/domain/service/impl/SearchKnowledgePointDomainServiceImpl.java
  2. 17
      src/main/java/com/project/information/mapper/KnowledgePointMapper.java

19
src/main/java/com/project/information/domain/service/impl/SearchKnowledgePointDomainServiceImpl.java

@ -1,5 +1,8 @@
package com.project.information.domain.service.impl; 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.KnowledgePointDTO;
import com.project.information.domain.dto.KnowledgePointStatisticsDTO; import com.project.information.domain.dto.KnowledgePointStatisticsDTO;
import com.project.information.domain.service.SearchKnowledgePointDomainService; import com.project.information.domain.service.SearchKnowledgePointDomainService;
@ -16,19 +19,9 @@ public class SearchKnowledgePointDomainServiceImpl implements SearchKnowledgePoi
@Override @Override
public KnowledgePointStatisticsDTO getSum(Long subLineId) { public KnowledgePointStatisticsDTO getSum(Long subLineId) {
List<KnowledgePointDTO> knowledgePointDTOList = knowledgePointMapper.selectBySubLineId(subLineId); if (subLineId == null) {
Integer preciseSum = 0; throw new MissingParameterException(ResultCodeEnum.MISSING_PARAMETER.getMessage());
Integer blurSum = 0;
for (KnowledgePointDTO knowledgePointDTO : knowledgePointDTOList) {
if (knowledgePointDTO.getBackgroundColor() == 0){
preciseSum ++;
}else if(knowledgePointDTO.getBackgroundColor() == 1){
preciseSum ++;
} }
} return knowledgePointMapper.selectBySubLineId(subLineId);
KnowledgePointStatisticsDTO knowledgePointStatisticsDTO = new KnowledgePointStatisticsDTO();
knowledgePointStatisticsDTO.setPreciseSum(preciseSum);
knowledgePointStatisticsDTO.setBlurSum(blurSum);
return knowledgePointStatisticsDTO;
} }
} }

17
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.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.project.information.domain.dto.KnowledgePointDTO; import com.project.information.domain.dto.KnowledgePointDTO;
import com.project.information.domain.dto.KnowledgePointStatisticsDTO;
import com.project.information.domain.entity.KnowledgePointEntity; import com.project.information.domain.entity.KnowledgePointEntity;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select; import org.apache.ibatis.annotations.Select;
@ -12,11 +13,17 @@ import java.util.List;
@Mapper @Mapper
public interface KnowledgePointMapper extends BaseMapper<KnowledgePointEntity> { public interface KnowledgePointMapper extends BaseMapper<KnowledgePointEntity> {
/**
* 统计知识点数量
*/
@Select({ @Select({
"SELECT e.*" + "SELECT",
"FROM evaluator_information e" + " SUM(CASE WHEN p.background_color = 0 THEN 1 ELSE 0 END) AS preciseSum,",
"INNER JOIN evaluator_knowledge_point p ON p.information_id = e.id" + " SUM(CASE WHEN p.background_color = 1 THEN 1 ELSE 0 END) AS blurSum",
"WHERE e.sub_line_id = #{subLineId};" "FROM evaluator_knowledge_point e",
"INNER JOIN evaluator_knowledge_point p ON p.information_id = e.id",
"WHERE e.sub_line_id = #{subLineId}"
}) })
List<KnowledgePointDTO> selectBySubLineId(@Param("subLineId") Long subLineId); KnowledgePointStatisticsDTO selectBySubLineId(@Param("subLineId") Long subLineId);
} }

Loading…
Cancel
Save