From b8129d34235cc9af66642d4a44bc68df2debd2ba Mon Sep 17 00:00:00 2001
From: huanghongfa <huanghongfa123456>
Date: 星期一, 23 八月 2021 19:20:36 +0800
Subject: [PATCH] bug修复
---
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComActQuestnaireAnswerContentDAO.java | 78 ++++++++++++++++++++++++++++++++++++++
1 files changed, 77 insertions(+), 1 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 2068dcd..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,18 @@
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;
+
+import java.util.List;
/**
* @Author: llming
@@ -11,4 +20,71 @@
*/
@Mapper
public interface ComActQuestnaireAnswerContentDAO extends BaseMapper<ComActQuestnaireAnswerContentDO> {
+ /**
+ * 查询问卷统计信息
+ * @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);
+
+ /**
+ * 查询问卷用户回答数据
+ * @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