springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/CommunityQuestnaireApi.java
@@ -33,10 +33,29 @@ @Resource private CommunityService communityService; @ApiOperation(value = "分页查询调查问卷", response = ComActQuestnaireVO.class) @PostMapping("/page") public R page(@RequestBody PageQuestnaireDTO pageQuestnaireDTO) { @ApiOperation(value = "分页查询登录用户调查问卷", response = ComActQuestnaireVO.class) @PostMapping("/pageUser") public R pageUser(@RequestBody PageQuestnaireDTO pageQuestnaireDTO) { LoginUserInfoVO loginUserInfo = this.getLoginUserInfo(); Integer isPartymember = loginUserInfo.getIsPartymember(); Integer isVolunteer = loginUserInfo.getIsVolunteer(); pageQuestnaireDTO.setForParty(1 == isPartymember); pageQuestnaireDTO.setForVolunteer(1 == isVolunteer); return communityService.pageQuestnaire(pageQuestnaireDTO, loginUserInfo.getCommunityId()); } @ApiOperation(value = "分页查询社区调查问卷", response = ComActQuestnaireVO.class) @PostMapping("/pageVolunteer") public R pageVolunteer(@RequestBody PageQuestnaireDTO pageQuestnaireDTO) { LoginUserInfoVO loginUserInfo = this.getLoginUserInfo(); if(loginUserInfo.getIsVolunteer()!=1){ return R.fail("用户不是社区志愿者!"); } pageQuestnaireDTO.setForMasses(true); pageQuestnaireDTO.setForVolunteer(true); pageQuestnaireDTO.setForParty(true); return communityService.pageQuestnaire(pageQuestnaireDTO, loginUserInfo.getCommunityId()); } @@ -77,7 +96,7 @@ @ApiOperation(value = "编辑问卷") @PostMapping("/edit") public R eidtQuestnaire(@RequestBody QuestnaireVO questnaireVO) { public R editQuestnaire(@RequestBody QuestnaireVO questnaireVO) { LoginUserInfoVO loginUserInfo = this.getLoginUserInfo(); return communityService.editQuestnaire(questnaireVO); } springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/PageQuestnaireDTO.java
@@ -28,9 +28,11 @@ @ApiModelProperty(value = "分页-每页记录数", example = "10") private Long pageSize; @ApiModelProperty("提供居民") private Boolean forMasses; private Boolean forMasses=false; @ApiModelProperty("提供党员") private Boolean forParty; private Boolean forParty=false; @ApiModelProperty("提供志愿者") private Boolean forVolunteer; private Boolean forVolunteer=false; @ApiModelProperty("社区ID") private Long communityId; } springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/ComActQuestnaireAnswerContentVO.java
@@ -21,4 +21,6 @@ private String userName; @ApiModelProperty("创建时间") private String createAt; @ApiModelProperty("选项类型 0 固定选项 1 自定义选项") private Integer type; } springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/questnaire/QuestnaireListVo.java
@@ -6,6 +6,10 @@ @Data public class QuestnaireListVo { @ApiModelProperty("id") private String id; @ApiModelProperty("标题") private String title; @@ -18,12 +22,13 @@ @ApiModelProperty("发布人") private String createBy; @ApiModelProperty("发布人姓名") private String createUser; @ApiModelProperty("发布时间") private Data createAt; @ApiModelProperty("是否填写") @ApiModelProperty("是否已回答") private Boolean answer; } springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/api/CommunityQuestnaireApi.java
@@ -59,6 +59,12 @@ @PostMapping("/page") public R page(@RequestBody PageQuestnaireDTO pageQuestnaireDTO) { LoginUserInfoVO loginUserInfo = this.getLoginUserInfo(); if(loginUserInfo.getIsVolunteer()!=1){ return R.fail("用户不是社区志愿者!"); } pageQuestnaireDTO.setForMasses(true); pageQuestnaireDTO.setForVolunteer(true); pageQuestnaireDTO.setForParty(true); return communityService.pageQuestnaire(pageQuestnaireDTO, loginUserInfo.getCommunityId()); } springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/CommunityApi.java
@@ -1346,6 +1346,12 @@ */ @PostMapping("questnaire/pagequestnaire") public R pageQuestnaire(@RequestBody PageQuestnaireDTO pageQuestnaireDTO,@RequestParam("communityId") Long communityId) { if(pageQuestnaireDTO.getForParty()==null){ pageQuestnaireDTO.setForParty(false); } if(pageQuestnaireDTO.getForVolunteer()==null){ pageQuestnaireDTO.setForVolunteer(false); } return comActQuestnaireService.pageQuestnaire(pageQuestnaireDTO,communityId); } springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComActQuestnaireAnswerContentDAO.java
@@ -68,10 +68,23 @@ * @param pageQuestnaireSubDetailsDTO 问卷ID */ @Select("<script> " + "SELECT ac.choice , ac.user_id, ac.type, ac.sub_id, u.name, ac.answer_content \n" + "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=1#{pageQuestnaireSubDetailsDTO.subId}\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); } springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComActQuestnaireDAO.java
@@ -18,32 +18,41 @@ @Mapper public interface ComActQuestnaireDAO extends BaseMapper<ComActQuestnaireDO> { @Select("<script> " + "SELECT \n" + "aq.*,aqac.user_id \n" + "SELECT aq.id, aq.title, aq.state, u.name as create_user, aq.join_count, aq.create_at , aq.create_by \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" + " com_act_questnaire aq \n" + " LEFT JOIN sys_user u on aq.create_by = u.user_id \n" + " where aq.community_id = #{communityId}\n" + "<if test='pageQuestnaireDTO.state != null '>\n" + " 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.forMasses != null '>\n" + " and aq.for_masses = #{pageQuestnaireDTO.forMasses} \n" + " </if> \n" + "<if test='pageQuestnaireDTO.startTime != null '>" + "AND aq.create_at BETWEEN " + "<if test='pageQuestnaireDTO.forParty==true and pageQuestnaireDTO.forVolunteer==true '>\n" + //既是党员又是志愿者 " and ( aq.for_party = 1 OR aq.for_party=1 OR (aq.for_party!=1 AND aq.for_volunteer!=1) ) \n" + " </if> \n" + "<if test='pageQuestnaireDTO.forParty==true and pageQuestnaireDTO.forVolunteer==false '>\n" + //党员 不是志愿者 " and ( aq.for_party = 1 OR (aq.for_party!=1 AND aq.for_volunteer!=1) ) \n" + " </if> \n" + "<if test='pageQuestnaireDTO.forParty==false and pageQuestnaireDTO.forVolunteer==true '>\n" + //非党员的志愿者 " and ( aq.for_volunteer = 1 OR (aq.for_party!=1 AND aq.for_volunteer!=1) ) \n" + " </if> \n" + "<if test='pageQuestnaireDTO.forParty==false and pageQuestnaireDTO.forVolunteer==false '>\n" + //非党员非志愿者 " and (aq.for_party!=1 AND aq.for_volunteer!=1) \n" + " </if> \n" + "<if test='pageQuestnaireDTO.startTime != null '>\n" + " AND aq.create_at BETWEEN \n" + "#{pageComActDTO.startTime} \n" + "AND #{pageQuestnaireDTO.endTime}" + " </if> " + "ORDER BY \n" + "aq.create_at DESC" + " AND #{pageQuestnaireDTO.endTime}\n" + " </if> \n" + " 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/model/helper/encrypt/ParammeterInterceptor.java
@@ -75,16 +75,18 @@ Map.Entry<String, Object> entry = (Map.Entry<String, Object>) iterator.next(); if (entry.getKey().startsWith("param")) { Object v = entry.getValue(); EncryptQueryClass encryptQueryClass = AnnotationUtils.findAnnotation(v.getClass(), EncryptQueryClass.class); if (Objects.nonNull(encryptQueryClass)) { Field[] declaredFields = v.getClass().getDeclaredFields(); for (Field field : declaredFields) { if (field.isAnnotationPresent(EncryptQuery.class)) { try { final Object encrypt = encryptDecrypt.encrypt(new Field[]{field}, v); paramMap.put("encrypted", true); } catch (IllegalAccessException e) { e.printStackTrace(); if(v!=null) { EncryptQueryClass encryptQueryClass = AnnotationUtils.findAnnotation(v.getClass(), EncryptQueryClass.class); if (Objects.nonNull(encryptQueryClass)) { Field[] declaredFields = v.getClass().getDeclaredFields(); for (Field field : declaredFields) { if (field.isAnnotationPresent(EncryptQuery.class)) { try { final Object encrypt = encryptDecrypt.encrypt(new Field[]{field}, v); paramMap.put("encrypted", true); } catch (IllegalAccessException e) { e.printStackTrace(); } } } } springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActQuestnaireServiceImpl.java
@@ -110,6 +110,14 @@ page.setSize(pageSize); page.setCurrent(pageNum); IPage<QuestnaireListVo> voPage = questnaireDAO.selectPageList(page,pageQuestnaireDTO,communityId); voPage.getRecords().forEach(record -> { Integer userAnswerCount = questnaireAnswerContentDAO.selectUserCountByQuestnaireId(record.getId(), pageQuestnaireDTO.getUserId()); if(userAnswerCount>0){ record.setAnswer(true); }else{ record.setAnswer(false); } }); return R.ok(voPage); }