12 changed files with 63 additions and 20 deletions
@ -1,9 +1,31 @@ |
|||||
package com.project.question.mapper; |
package com.project.question.mapper; |
||||
|
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
||||
|
import com.project.question.domain.dto.TaskKnowledgePointDTO; |
||||
import com.project.question.domain.entity.TaskKnowledgePointEntity; |
import com.project.question.domain.entity.TaskKnowledgePointEntity; |
||||
import org.apache.ibatis.annotations.Mapper; |
import org.apache.ibatis.annotations.Mapper; |
||||
|
import org.apache.ibatis.annotations.Param; |
||||
|
import org.apache.ibatis.annotations.Select; |
||||
|
|
||||
|
import java.util.List; |
||||
|
|
||||
@Mapper |
@Mapper |
||||
public interface TaskKnowledgePointMapper extends BaseMapper<TaskKnowledgePointEntity> { |
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