From 70d2a5d0f9c6951b2d4cac954041ed73582ff7eb Mon Sep 17 00:00:00 2001
From: liujie <1793218484@qq.com>
Date: 星期一, 09 六月 2025 11:54:00 +0800
Subject: [PATCH] 6.9新增登录失败冻结逻辑

---
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComActQuestnaireAnswerContentDAO.java |   77 +++++++++++++++++++++++++++++++++++++-
 1 files changed, 74 insertions(+), 3 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..d6c790f 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,19 @@
 package com.panzhihua.service_community.dao;
 
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.panzhihua.service_community.model.dos.ComActQuestnaireAnswerContentDO;
-import com.panzhihua.service_community.model.dos.ComActQuestnaireDO;
+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.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;
 
 /**
  * @Author: llming
@@ -11,4 +21,65 @@
  */
 @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
+     */
+    List<ComActQuestnaireAnswerContentVO> 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