huanghongfa
2021-09-02 177249c76aeea0b4bf8d8816d4994e3b445b45ce
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComActQuestnaireDAO.java
@@ -1,5 +1,11 @@
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;
@@ -8,11 +14,6 @@
import com.panzhihua.common.model.vos.community.ComActQuestnaireAppVO;
import com.panzhihua.common.model.vos.community.questnaire.*;
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
@@ -20,118 +21,64 @@
 */
@Mapper
public interface ComActQuestnaireDAO extends BaseMapper<ComActQuestnaireDO> {
    @Select("<script> " +
            "SELECT " +
            " caq.id, " +
            " caq.project_key, " +
            " caq.title, " +
            " caq.state, " +
            " caq.join_count, " +
            " caq.remark, " +
            " caq.is_cover, " +
            " caq.is_force, " +
            " caq.create_at, " +
            " caq.count, " +
            " if(caqua.id is not null,1,2) isAnswer, " +
            " caq.view_num  " +
            "FROM " +
            " com_act_questnaire as caq " +
            " left join com_act_questnaire_user_answer as caqua on caqua.questnaire_id = caq.id and caqua.user_id = #{pageQuestnaireDTO.userId} " +
            "WHERE " +
            " caq.state IN ( 2, 3 )  " +
            " AND caq.community_id = #{pageQuestnaireDTO.communityId}  and caq.is_hide = 0 " +
            "ORDER BY " +
            " caq.state ASC, " +
            " isAnswer desc, " +
            " caq.create_at DESC" +
            "</script>")
    @Select("<script> " + "SELECT " + " caq.id, " + " caq.project_key, " + " caq.title, " + " caq.state, "
        + " caq.for_masses, " + " caq.for_party, " + " caq.for_volunteer, " + " caq.join_count, " + " caq.remark, "
        + " caq.is_cover, " + " caq.is_force, " + " caq.create_at, " + " caq.count, "
        + " if(caqua.id is not null,1,2) isAnswer, " + " caq.view_num  " + "FROM " + " com_act_questnaire as caq "
        + " left join com_act_questnaire_user_answer as caqua on caqua.questnaire_id = caq.id and caqua.user_id = #{pageQuestnaireDTO.userId} "
        + "WHERE " + " caq.state IN ( 2, 3 )  "
        + " AND caq.community_id = #{pageQuestnaireDTO.communityId}  and caq.is_hide = 0 " + "ORDER BY "
        + " caq.state ASC, " + " isAnswer desc, " + " caq.create_at DESC" + "</script>")
    IPage<QuestnaireListVo> selectPageList(Page page, @Param("pageQuestnaireDTO") PageQuestnaireDTO pageQuestnaireDTO);
    @Select("<script>" +
            "select id,title,view_num,join_count,for_masses,for_party,for_volunteer,adver_position_top,adver_position_popup" +
            ",adver_position_application,create_at,start_time,end_time,publish_time,state,is_cover,project_key,count" +
            " from com_act_questnaire as caq where community_id = #{pageQuestnaireDTO.communityId} and is_hide = 0 " +
            "<if test='pageQuestnaireDTO.identity != null and pageQuestnaireDTO.identity == 1'>" +
            " and caq.for_masses = 1 "+
            " </if> " +
            "<if test='pageQuestnaireDTO.identity != null and pageQuestnaireDTO.identity == 2'>" +
            " and caq.for_party = 1 "+
            " </if> " +
            "<if test='pageQuestnaireDTO.identity != null and pageQuestnaireDTO.identity == 3'>" +
            " and caq.for_volunteer = 1 "+
            " </if> " +
            "<if test='pageQuestnaireDTO.advertPosition != null and pageQuestnaireDTO.advertPosition == 1'>" +
            " and caq.adver_position_popup = 1 "+
            " </if> " +
            "<if test='pageQuestnaireDTO.advertPosition != null and pageQuestnaireDTO.advertPosition == 2'>" +
            " and caq.adver_position_top = 1 "+
            " </if> " +
            "<if test='pageQuestnaireDTO.advertPosition != null and pageQuestnaireDTO.advertPosition == 3'>" +
            " and caq.adver_position_application = 1 "+
            " </if> " +
            "<if test='pageQuestnaireDTO.states != null and pageQuestnaireDTO.states.size > 0 '>" +
            " and caq.state in "+
            "<foreach item=\"item\" collection=\"pageQuestnaireDTO.states\" separator=\",\" open=\"(\" close=\")\" index=\"\"> \n" +
            "#{item}\n" +
            "</foreach>\n" +
            " </if> " +
            "<if test='pageQuestnaireDTO.startTime != null and pageQuestnaireDTO.startTime != &quot;&quot;'>" +
            " and caq.publish_time  <![CDATA[ >= ]]> #{pageQuestnaireDTO.startTime}"+
            " </if> " +
            "<if test='pageQuestnaireDTO.endTime != null and pageQuestnaireDTO.endTime != &quot;&quot;'>" +
            " and caq.publish_time  <![CDATA[ <= ]]> #{pageQuestnaireDTO.endTime}"+
            " </if> " +
            "<if test='pageQuestnaireDTO.title != null and pageQuestnaireDTO.title != &quot;&quot;'>" +
            " and caq.title like concat (#{pageQuestnaireDTO.title},'%')"+
            " </if> " +
            " order by caq.create_at DESC " +
            "</script>")
    IPage<QuestnaireListAdminVO> selectPageListAdmin(Page page, @Param("pageQuestnaireDTO") PageQuestnaireDTO pageQuestnaireDTO);
    @Select("<script>"
        + "select id,title,view_num,join_count,for_masses,for_party,for_volunteer,adver_position_top,adver_position_popup"
        + ",adver_position_application,create_at,start_time,end_time,publish_time,state,is_cover,project_key,count"
        + " from com_act_questnaire as caq where community_id = #{pageQuestnaireDTO.communityId} and is_hide = 0 "
        + "<if test='pageQuestnaireDTO.identity != null and pageQuestnaireDTO.identity == 1'>"
        + " and caq.for_masses = 1 " + " </if> "
        + "<if test='pageQuestnaireDTO.identity != null and pageQuestnaireDTO.identity == 2'>"
        + " and caq.for_party = 1 " + " </if> "
        + "<if test='pageQuestnaireDTO.identity != null and pageQuestnaireDTO.identity == 3'>"
        + " and caq.for_volunteer = 1 " + " </if> "
        + "<if test='pageQuestnaireDTO.advertPosition != null and pageQuestnaireDTO.advertPosition == 1'>"
        + " and caq.adver_position_popup = 1 " + " </if> "
        + "<if test='pageQuestnaireDTO.advertPosition != null and pageQuestnaireDTO.advertPosition == 2'>"
        + " and caq.adver_position_top = 1 " + " </if> "
        + "<if test='pageQuestnaireDTO.advertPosition != null and pageQuestnaireDTO.advertPosition == 3'>"
        + " and caq.adver_position_application = 1 " + " </if> "
        + "<if test='pageQuestnaireDTO.states != null and pageQuestnaireDTO.states.size > 0 '>" + " and caq.state in "
        + "<foreach item=\"item\" collection=\"pageQuestnaireDTO.states\" separator=\",\" open=\"(\" close=\")\" index=\"\"> \n"
        + "#{item}\n" + "</foreach>\n" + " </if> "
        + "<if test='pageQuestnaireDTO.startTime != null and pageQuestnaireDTO.startTime != &quot;&quot;'>"
        + " and caq.publish_time  <![CDATA[ >= ]]> #{pageQuestnaireDTO.startTime}" + " </if> "
        + "<if test='pageQuestnaireDTO.endTime != null and pageQuestnaireDTO.endTime != &quot;&quot;'>"
        + " and caq.publish_time  <![CDATA[ <= ]]> #{pageQuestnaireDTO.endTime}" + " </if> "
        + "<if test='pageQuestnaireDTO.title != null and pageQuestnaireDTO.title != &quot;&quot;'>"
        + " and caq.title like concat (#{pageQuestnaireDTO.title},'%')" + " </if> " + " order by caq.create_at DESC "
        + "</script>")
    IPage<QuestnaireListAdminVO> selectPageListAdmin(Page page,
        @Param("pageQuestnaireDTO") PageQuestnaireDTO pageQuestnaireDTO);
    @Select("select count(id) from com_act_questnaire_user where user_id = #{userId} and questnaire_id = #{questnaireId}")
    Integer getNoRemindCount(@Param("userId") Long userId,@Param("questnaireId") Long questnaireId);
    Integer getNoRemindCount(@Param("userId") Long userId, @Param("questnaireId") Long questnaireId);
    @Select("SELECT " +
            " id, " +
            " title, " +
            " remark, " +
            " is_cover, " +
            " is_force, " +
            " adver_position_popup, " +
            " adver_position_top, " +
            " adver_position_application, " +
            " project_key  " +
            "FROM " +
            " com_act_questnaire  " +
            "WHERE " +
            " end_time >= now()  " +
            " AND now() >= start_time  " +
            " and community_id = #{communityId} " +
            " and adver_position_top = 1 " +
            " and state = 2")
    @Select("SELECT " + " id, " + " title, " + " remark, " + " is_cover, " + " for_masses, " + " for_party, "
        + " for_volunteer, " + " is_force, " + " adver_position_popup, " + " adver_position_top, "
        + " adver_position_application, " + " project_key  " + "FROM " + " com_act_questnaire  " + "WHERE "
        + " end_time >= now()  " + " AND now() >= start_time  " + " and community_id = #{communityId} "
        + " and adver_position_top = 1 " + " and state = 2")
    List<ComActQuestnaireAppVO> getIndexTopQuestnaireList(@Param("communityId") Long communityId);
    @Select("SELECT " +
            " id, " +
            " title, " +
            " remark, " +
            " is_cover, " +
            " is_force, " +
            " adver_position_popup, " +
            " adver_position_top, " +
            " adver_position_application, " +
            " project_key  " +
            "FROM " +
            " com_act_questnaire  " +
            "WHERE " +
            " end_time >= now()  " +
            " AND now() >= start_time  " +
            " and community_id = #{communityId} " +
            " and adver_position_application = 1 " +
            " and state = 2")
    @Select("SELECT " + " id, " + " title, " + " remark, " + " for_masses, " + " for_party, " + " for_volunteer, "
        + " is_cover, " + " is_force, " + " adver_position_popup, " + " adver_position_top, "
        + " adver_position_application, " + " project_key  " + "FROM " + " com_act_questnaire  " + "WHERE "
        + " end_time >= now()  " + " AND now() >= start_time  " + " and community_id = #{communityId} "
        + " and adver_position_application = 1 " + " and state = 2")
    List<ComActQuestnaireAppVO> getIndexApplicationQuestnaireList(@Param("communityId") Long communityId);
    Integer getAdvPopupCount(@Param("communityId") Long communityId,@Param("startTime") String startTime,@Param("endTime") String endTime,@Param("id") Long id);
    Integer getAdvPopupCount(@Param("communityId") Long communityId, @Param("startTime") String startTime,
        @Param("endTime") String endTime, @Param("id") Long id);
    void deleteQuesSubAll(@Param("queId") Long queId);
@@ -139,32 +86,43 @@
    /**
     * 小程序-问卷调查详情
     * @param userId    用户id
     * @param questId   问卷id
     * @return  问卷调查详情
     *
     * @param userId
     *            用户id
     * @param questId
     *            问卷id
     * @return 问卷调查详情
     */
    QuestnaireDetailAdminVO getQuesDetail(@Param("questId") Long questId,@Param("userId") Long userId);
    QuestnaireDetailAdminVO getQuesDetail(@Param("questId") Long questId, @Param("userId") Long userId);
    /**
     * 问卷调查统计汇总
     * @param summaryDTO   请求参数
     * @return  统计汇总
     *
     * @param summaryDTO
     *            请求参数
     * @return 统计汇总
     */
    IPage<QuestnaireStatisticsSummaryAdminVO> getStatisticsSummaryAdmin(Page page, @Param("summaryDTO") StatisticsSummaryDTO summaryDTO);
    IPage<QuestnaireStatisticsSummaryAdminVO> getStatisticsSummaryAdmin(Page page,
        @Param("summaryDTO") StatisticsSummaryDTO summaryDTO);
    /**
     * 问卷调查统计汇总导出数据查询
     * @param questId   调查问卷id
     * @return  调查统计汇总导出数据
     *
     * @param questId
     *            调查问卷id
     * @return 调查统计汇总导出数据
     */
    List<QuestnaireStatisticsSummaryExcelAdminVO> getStatisticsSummaryExcelAdmin(@Param("questId") Long questId);
    /**
     * 问卷调查统计汇总表头统计
     * @param questId   调查问卷id
     * @return  问卷调查统计汇总表头统计数据
     *
     * @param questId
     *            调查问卷id
     * @return 问卷调查统计汇总表头统计数据
     */
    QuestnaireStatisticsSummaryHeaderAdminVO statisticsSummaryHeader(@Param("questId") Long questId,@Param("communityId") Long communityId);
    QuestnaireStatisticsSummaryHeaderAdminVO statisticsSummaryHeader(@Param("questId") Long questId,
        @Param("communityId") Long communityId);
    void addNoNotice(@Param("questId") Long questId,@Param("userId") Long userId);
    void addNoNotice(@Param("questId") Long questId, @Param("userId") Long userId);
}