springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/PageQuestnaireDTO.java
@@ -15,6 +15,8 @@ public class PageQuestnaireDTO { @ApiModelProperty(value = "标题") private String title; @ApiModelProperty(value = "用户Id") private Long userId; @ApiModelProperty(value = "状态 0 调研中 1已停止") private Integer state; @ApiModelProperty(value = "发布开始时间") @@ -25,4 +27,10 @@ private Long pageNum; @ApiModelProperty(value = "分页-每页记录数", example = "10") private Long pageSize; @ApiModelProperty("提供居民") private Boolean forMasses; @ApiModelProperty("提供党员") private Boolean forParty; @ApiModelProperty("提供志愿者") private Boolean forVolunteer; } springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/questnaire/QuestnaireListVo.java
New file @@ -0,0 +1,29 @@ package com.panzhihua.common.model.vos.community.questnaire; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @Data public class QuestnaireListVo { @ApiModelProperty("标题") private String title; @ApiModelProperty("状态 0 调研中 1已停止") private Integer state; @ApiModelProperty("参与人数") private Integer joinCount; @ApiModelProperty("发布人") private String createBy; @ApiModelProperty("发布时间") private Data createAt; @ApiModelProperty("是否填写") private Boolean answer; } springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComActQuestnaireDAO.java
@@ -1,9 +1,15 @@ 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.PageQuestnaireDTO; import com.panzhihua.common.model.vos.community.questnaire.QuestnaireListVo; import com.panzhihua.service_community.model.dos.ComActQuestnaireDO; import com.panzhihua.service_community.model.dos.ComActQuestnaireSubSelectionDO; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; /** * @Author: llming @@ -11,4 +17,33 @@ */ @Mapper public interface ComActQuestnaireDAO extends BaseMapper<ComActQuestnaireDO> { @Select("<script> " + "SELECT \n" + "aq.*,aqac.user_id \n" + "FROM \n" + "com_act_questnaire aq join com_act_questnaire_sub aqs on aq.id=aqs.que_Id \n" + "join com_act_questnaire_answer_content aqac on aqs.id=aqac.sub_id \n" + " where 1=1" + "<if test='pageQuestnaireDTO.state != null '>" + "and aq.state = #{pageQuestnaireDTO.state} \n" + " </if> " + "<if test='pageQuestnaireDTO.forMasses != null '>" + "and aq.for_masses = #{pageQuestnaireDTO.forMasses} \n" + " </if> " + "<if test='pageQuestnaireDTO.forParty != null '>" + "and aq.for_party = #{pageQuestnaireDTO.forParty} \n" + " </if> " + "<if test='pageQuestnaireDTO.forVolunteer != null '>" + "and aq.for_volunteer = #{pageQuestnaireDTO.forVolunteer} \n" + " </if> " + "<if test='pageQuestnaireDTO.startTime != null '>" + "AND aq.create_at BETWEEN " + "#{pageComActDTO.startTime} \n" + "AND #{pageQuestnaireDTO.endTime}" + " </if> " + "ORDER BY \n" + "aq.create_at DESC" + "</script>") IPage<QuestnaireListVo> selectPageList(Page page, @Param("pageQuestnaireDTO") PageQuestnaireDTO pageQuestnaireDTO, @Param("communityId") Long communityId); } springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActQuestnaireServiceImpl.java
@@ -17,14 +17,8 @@ import com.panzhihua.common.model.dtos.community.QuestnaireAnswersDTO; import com.panzhihua.common.model.vos.R; import com.panzhihua.common.model.vos.community.questnaire.*; import com.panzhihua.service_community.dao.ComActQuestnaireAnswerContentDAO; import com.panzhihua.service_community.dao.ComActQuestnaireDAO; import com.panzhihua.service_community.dao.ComActQuestnaireSubDAO; import com.panzhihua.service_community.dao.ComActQuestnaireSubSelectionDAO; import com.panzhihua.service_community.model.dos.ComActQuestnaireAnswerContentDO; import com.panzhihua.service_community.model.dos.ComActQuestnaireDO; import com.panzhihua.service_community.model.dos.ComActQuestnaireSubDO; import com.panzhihua.service_community.model.dos.ComActQuestnaireSubSelectionDO; import com.panzhihua.service_community.dao.*; import com.panzhihua.service_community.model.dos.*; import com.panzhihua.service_community.service.ComActQuestnaireService; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; @@ -46,6 +40,8 @@ ComActQuestnaireDAO questnaireDAO; @Resource ComActQuestnaireSubDAO questnaireSubDAO; @Resource ComActDynUserDAO userDAO; @Resource ComActQuestnaireSubSelectionDAO questnaireSubSelectionDAO; @Resource @@ -102,23 +98,19 @@ @Override public R pageQuestnaire(PageQuestnaireDTO pageQuestnaireDTO, Long communityId) { Page userPage = new Page(pageQuestnaireDTO.getPageNum(), pageQuestnaireDTO.getPageSize()); LambdaQueryWrapper<ComActQuestnaireDO> lambdaQueryWrapper = Wrappers.lambdaQuery(); lambdaQueryWrapper.eq(ComActQuestnaireDO::getCommunityId, communityId); //过滤隐藏字段 lambdaQueryWrapper.eq(ComActQuestnaireDO::getIsHide, 0); if (pageQuestnaireDTO.getTitle() != null) { lambdaQueryWrapper.like(ComActQuestnaireDO::getTitle, pageQuestnaireDTO.getTitle()); Page page = new Page<>(); Long pageNum = pageQuestnaireDTO.getPageNum(); Long pageSize = pageQuestnaireDTO.getPageSize(); if (null == pageNum || 0 == pageNum) { pageNum = 1l; } if (pageQuestnaireDTO.getTitle() != null) { lambdaQueryWrapper.eq(ComActQuestnaireDO::getState, pageQuestnaireDTO.getState()); if (null == pageSize || 0 == pageSize) { pageSize = 10l; } if (pageQuestnaireDTO.getEndTime() != null && pageQuestnaireDTO.getStartTime() != null) { lambdaQueryWrapper.ge(ComActQuestnaireDO::getCreateAt, pageQuestnaireDTO.getStartTime()); lambdaQueryWrapper.lt(ComActQuestnaireDO::getCreateAt, pageQuestnaireDTO.getEndTime()); } IPage<ComActQuestnaireDO> doPager = questnaireDAO.selectPage(userPage, lambdaQueryWrapper.orderByDesc(ComActQuestnaireDO::getCreateAt)); return R.ok(doPager); page.setSize(pageSize); page.setCurrent(pageNum); IPage<QuestnaireListVo> voPage = questnaireDAO.selectPageList(page,pageQuestnaireDTO,communityId); return R.ok(voPage); } @Override