From 02f18587bd8860b305e2c688e20465be166bb48c Mon Sep 17 00:00:00 2001 From: huanghongfa <huanghongfa123456> Date: 星期四, 22 七月 2021 15:14:03 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/test' into test --- springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComActQuestnaireAnswerContentDAO.java | 65 ++++++++++++++++++++++++++++++-- 1 files changed, 61 insertions(+), 4 deletions(-) diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComActQuestnaireAnswerContentDAO.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComActQuestnaireAnswerContentDAO.java index 60e82e8..ac3e63a 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComActQuestnaireAnswerContentDAO.java +++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComActQuestnaireAnswerContentDAO.java @@ -1,9 +1,13 @@ package com.panzhihua.service_community.dao; 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.dtos.community.PageQuestnaireAnswerDTO; +import com.panzhihua.common.model.dtos.community.PageQuestnaireSubDetailsDTO; +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 com.panzhihua.service_community.model.dos.ComActQuestnaireDO; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; @@ -21,13 +25,66 @@ * @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, \n" + - " COUNT(ac.user_id) /(SELECT COUNT(*) FROM com_act_questnaire_answer_content WHERE sub_id = qs.id) *100 AS proportion\n" + + "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" + + "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 + */ + @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 + */ + @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 + */ + @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 + */ + @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); } -- Gitblit v1.7.1