| | |
| | | package com.panzhihua.service_community.dao; |
| | | |
| | | import java.util.List; |
| | | |
| | | import org.apache.ibatis.annotations.Mapper; |
| | | import org.apache.ibatis.annotations.Param; |
| | | import org.apache.ibatis.annotations.Select; |
| | | |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | |
| | | import com.panzhihua.common.model.vos.community.ComActQuestnaireAnswerContentVO; |
| | | import com.panzhihua.common.model.vos.community.questnaire.UserSubAnswerSelectionStatVO; |
| | | import com.panzhihua.service_community.model.dos.ComActQuestnaireAnswerContentDO; |
| | | import org.apache.ibatis.annotations.Mapper; |
| | | import org.apache.ibatis.annotations.Param; |
| | | import org.apache.ibatis.annotations.Select; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * @Author: llming |
| | |
| | | public interface ComActQuestnaireAnswerContentDAO extends BaseMapper<ComActQuestnaireAnswerContentDO> { |
| | | /** |
| | | * 查询问卷统计信息 |
| | | * @param questId 问卷ID |
| | | * |
| | | * @param questId |
| | | * 问卷ID |
| | | */ |
| | | @Select("<script> " + |
| | | "SELECT qs.id AS sub_id, ac.choice as option_name, COUNT(ac.user_id) as total, ac.answer_content as answerContent, ac.type,\n" + |
| | | " CONCAT(ROUND( COUNT(ac.user_id) /(SELECT COUNT(*) FROM com_act_questnaire_answer_content WHERE sub_id = qs.id) *100), '%') AS proportion\n" + |
| | | "FROM com_act_questnaire qn LEFT JOIN com_act_questnaire_sub qs ON qn.id = qs.que_Id\n" + |
| | | " LEFT JOIN com_act_questnaire_answer_content ac ON qs.id = ac.sub_id\n" + |
| | | "WHERE qn.id=#{questId} \n" + |
| | | "GROUP BY qs.id, ac.choice\n" + |
| | | "ORDER BY qs.id"+ |
| | | "</script>") |
| | | List<UserSubAnswerSelectionStatVO> selectQuestnaireStat(@Param("questId")Long questId); |
| | | @Select("<script> " |
| | | + "SELECT qs.id AS sub_id, ac.choice as option_name, COUNT(ac.user_id) as total, ac.answer_content as answerContent, ac.type,\n" |
| | | + " CONCAT(ROUND( COUNT(ac.user_id) /(SELECT COUNT(*) FROM com_act_questnaire_answer_content WHERE sub_id = qs.id) *100), '%') AS proportion\n" |
| | | + "FROM com_act_questnaire qn LEFT JOIN com_act_questnaire_sub qs ON qn.id = qs.que_Id\n" |
| | | + " LEFT JOIN com_act_questnaire_answer_content ac ON qs.id = ac.sub_id\n" + "WHERE qn.id=#{questId} \n" |
| | | + "GROUP BY qs.id, ac.choice\n" + "ORDER BY qs.id" + "</script>") |
| | | List<UserSubAnswerSelectionStatVO> selectQuestnaireStat(@Param("questId") Long questId); |
| | | |
| | | /** |
| | | * 查询问卷用户回答数据 |
| | | * @param questId 问卷ID |
| | | * |
| | | * @param questId |
| | | * 问卷ID |
| | | */ |
| | | @Select("<script> " + |
| | | "SELECT ac.* \n" + |
| | | "FROM com_act_questnaire_answer_content ac left JOIN com_act_questnaire_sub qs ON ac.sub_id = qs.id \n" + |
| | | " LEFT JOIN com_act_questnaire qn ON qs.que_Id = qn.id \n" + |
| | | "WHERE qn.id=#{questId}\n" + |
| | | "ORDER BY ac.user_id, qs.id "+ |
| | | "</script>") |
| | | List<ComActQuestnaireAnswerContentDO> selectListByQuestnaire(@Param("questId")Long questId); |
| | | @Select("<script> " + "SELECT ac.* \n" |
| | | + "FROM com_act_questnaire_answer_content ac left JOIN com_act_questnaire_sub qs ON ac.sub_id = qs.id \n" |
| | | + " LEFT JOIN com_act_questnaire qn ON qs.que_Id = qn.id \n" + "WHERE qn.id=#{questId}\n" |
| | | + "ORDER BY ac.user_id, qs.id " + "</script>") |
| | | List<ComActQuestnaireAnswerContentDO> selectListByQuestnaire(@Param("questId") Long questId); |
| | | |
| | | /** |
| | | * 查询问卷用户回答数据 |
| | | * @param pageQuestnaireAnswerDTO 问卷ID |
| | | * |
| | | * @param pageQuestnaireAnswerDTO |
| | | * 问卷ID |
| | | */ |
| | | @Select("<script> " + |
| | | "SELECT u.name as user_name, ac.user_id , ac.create_at \n" + |
| | | "FROM com_act_questnaire qn LEFT JOIN com_act_questnaire_sub qs ON qn.id = qs.que_Id\n" + |
| | | " LEFT JOIN com_act_questnaire_answer_content ac ON qs.id = ac.sub_id\n" + |
| | | " LEFT JOIN sys_user u ON ac.user_id = u.user_id \n" + |
| | | "WHERE qn.id=#{pageQuestnaireAnswerDTO.questId}\n" + |
| | | "GROUP BY user_id\n"+ |
| | | "ORDER BY ac.create_at\n"+ |
| | | "</script>") |
| | | IPage<ComActQuestnaireAnswerContentVO> selectAnswersByPage(Page page, @Param("pageQuestnaireAnswerDTO") PageQuestnaireAnswerDTO pageQuestnaireAnswerDTO); |
| | | @Select("<script> " + "SELECT u.name as user_name, ac.user_id , ac.create_at \n" |
| | | + "FROM com_act_questnaire qn LEFT JOIN com_act_questnaire_sub qs ON qn.id = qs.que_Id\n" |
| | | + " LEFT JOIN com_act_questnaire_answer_content ac ON qs.id = ac.sub_id\n" |
| | | + " LEFT JOIN sys_user u ON ac.user_id = u.user_id \n" + "WHERE qn.id=#{pageQuestnaireAnswerDTO.questId}\n" |
| | | + "GROUP BY user_id\n" + "ORDER BY ac.create_at\n" + "</script>") |
| | | IPage<ComActQuestnaireAnswerContentVO> selectAnswersByPage(Page page, |
| | | @Param("pageQuestnaireAnswerDTO") PageQuestnaireAnswerDTO pageQuestnaireAnswerDTO); |
| | | |
| | | /** |
| | | * 查询问卷 问答题 用户回答数据 |
| | | * @param pageQuestnaireSubDetailsDTO 问卷ID |
| | | * |
| | | * @param pageQuestnaireSubDetailsDTO |
| | | * 问卷ID |
| | | */ |
| | | @Select("<script> " + |
| | | "SELECT ac.choice , ac.user_id, ac.type, ac.sub_id, u.name as user_name, ac.answer_content \n" + |
| | | "FROM com_act_questnaire_answer_content ac LEFT JOIN sys_user u ON ac.user_id = u.user_id\n" + |
| | | "WHERE ac.sub_id=#{pageQuestnaireSubDetailsDTO.subId}\n" + |
| | | "ORDER BY ac.create_at\n"+ |
| | | "</script>") |
| | | IPage<ComActQuestnaireAnswerContentVO> selectVoByPage(Page userPage, @Param("pageQuestnaireSubDetailsDTO") PageQuestnaireSubDetailsDTO pageQuestnaireSubDetailsDTO); |
| | | @Select("<script> " + "SELECT ac.choice , ac.user_id, ac.type, ac.sub_id, u.name as user_name, ac.answer_content \n" |
| | | + "FROM com_act_questnaire_answer_content ac LEFT JOIN sys_user u ON ac.user_id = u.user_id\n" |
| | | + "WHERE ac.sub_id=#{pageQuestnaireSubDetailsDTO.subId}\n" + "ORDER BY ac.create_at\n" + "</script>") |
| | | IPage<ComActQuestnaireAnswerContentVO> selectVoByPage(Page userPage, |
| | | @Param("pageQuestnaireSubDetailsDTO") PageQuestnaireSubDetailsDTO pageQuestnaireSubDetailsDTO); |
| | | |
| | | /** |
| | | * 查询问卷 问答题 用户回答数据 |
| | | * @param questId 问卷ID |
| | | * @param userId 用户ID |
| | | * |
| | | * @param questId |
| | | * 问卷ID |
| | | * @param userId |
| | | * 用户ID |
| | | */ |
| | | @Select("<script> " + |
| | | "SELECT COUNT(*)\n" + |
| | | "FROM com_act_questnaire q LEFT JOIN com_act_questnaire_sub qs ON q.id = qs.que_Id\n" + |
| | | "LEFT JOIN com_act_questnaire_answer_content ac ON qs.id = ac.sub_id\n" + |
| | | "WHERE q.id = #{questId} AND ac.user_id = #{userId}\n" + |
| | | "</script>") |
| | | Integer selectUserCountByQuestnaireId( @Param("questId")String questId, @Param("userId") Long userId); |
| | | @Select("<script> " + "SELECT COUNT(*)\n" |
| | | + "FROM com_act_questnaire q LEFT JOIN com_act_questnaire_sub qs ON q.id = qs.que_Id\n" |
| | | + "LEFT JOIN com_act_questnaire_answer_content ac ON qs.id = ac.sub_id\n" |
| | | + "WHERE q.id = #{questId} AND ac.user_id = #{userId}\n" + "</script>") |
| | | Integer selectUserCountByQuestnaireId(@Param("questId") String questId, @Param("userId") Long userId); |
| | | } |