12 changed files with 63 additions and 20 deletions
@ -1,9 +1,31 @@ |
|||
package com.project.question.mapper; |
|||
|
|||
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
|||
import com.project.question.domain.dto.TaskKnowledgePointDTO; |
|||
import com.project.question.domain.entity.TaskKnowledgePointEntity; |
|||
import org.apache.ibatis.annotations.Mapper; |
|||
import org.apache.ibatis.annotations.Param; |
|||
import org.apache.ibatis.annotations.Select; |
|||
|
|||
import java.util.List; |
|||
|
|||
@Mapper |
|||
public interface TaskKnowledgePointMapper extends BaseMapper<TaskKnowledgePointEntity> { |
|||
@Select("SELECT kp.* " + |
|||
"FROM evaluator_task_knowledge_point kp " + |
|||
"INNER JOIN ( " + |
|||
" SELECT " + |
|||
" e.kp_id," + |
|||
" COUNT(DISTINCT CASE WHEN e.question_type = 1 THEN e.question_id END) AS single," + |
|||
" COUNT(DISTINCT CASE WHEN e.question_type = 2 THEN e.question_id END) AS multiple," + |
|||
" COUNT(DISTINCT CASE WHEN e.question_type = 3 THEN e.question_id END) AS judgment " + |
|||
" FROM evaluator_question_kp_rel e " + |
|||
" INNER JOIN evaluator_question q ON e.question_id = q.id " + |
|||
" WHERE e.task_id = #{id} " + |
|||
" AND q.use_status = 0 " + |
|||
" AND q.deleted = 0 AND e.deleted = 0" + |
|||
" GROUP BY e.kp_id " + |
|||
") AS kp_stats ON kp.id = kp_stats.kp_id " + |
|||
"ORDER BY kp_stats.single DESC;") |
|||
List<TaskKnowledgePointDTO> selectKpOrderBySingle(@Param("id") Long id); |
|||
} |
|||
|
|||
Loading…
Reference in new issue