From d2a5b25d25e8912d3e9e4ae5f9a315c386060f25 Mon Sep 17 00:00:00 2001 From: CeDo <cedoogle@gmail.com> Date: 星期三, 14 四月 2021 11:31:33 +0800 Subject: [PATCH] bug fixed: 过滤删除的调查问卷,添加调查问卷 调查对象 --- springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActQuestnaireServiceImpl.java | 102 +++++++++++++++++++++++++++------------------------ 1 files changed, 54 insertions(+), 48 deletions(-) diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActQuestnaireServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActQuestnaireServiceImpl.java index 1bb7bb5..305b166 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActQuestnaireServiceImpl.java +++ b/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 @@ -75,50 +71,58 @@ if(questId!=1){ return R.fail("创建失败"); } - questnaireVO.getQuestnaiteSubVOS().forEach(sub -> { - ComActQuestnaireSubDO comActQuestnaireSubDO = new ComActQuestnaireSubDO(); - comActQuestnaireSubDO.setType(sub.getType()); - comActQuestnaireSubDO.setContent(sub.getContent()); - comActQuestnaireSubDO.setSort(sub.getSort()); - comActQuestnaireSubDO.setQueId((long) comActQuestnaireDO.getId()); - comActQuestnaireSubDO.setCreateBy(userId); - int subId = questnaireSubDAO.insert(comActQuestnaireSubDO); + if(questnaireVO.getQuestnaiteSubVOS()!=null) { + questnaireVO.getQuestnaiteSubVOS().forEach(sub -> { + ComActQuestnaireSubDO comActQuestnaireSubDO = new ComActQuestnaireSubDO(); + comActQuestnaireSubDO.setType(sub.getType()); + comActQuestnaireSubDO.setContent(sub.getContent()); + comActQuestnaireSubDO.setSort(sub.getSort()); + comActQuestnaireSubDO.setQueId((long) comActQuestnaireDO.getId()); + comActQuestnaireSubDO.setCreateBy(userId); + int subId = questnaireSubDAO.insert(comActQuestnaireSubDO); - ArrayList<ComActQuestnaireSubSelectionDO> subSelectionList = Lists.newArrayList(); - sub.getQuestnaiteSubSelectionVOS().forEach(subSelect -> { - ComActQuestnaireSubSelectionDO subSelectionDO = new ComActQuestnaireSubSelectionDO(); - subSelectionDO.setQueSubId(comActQuestnaireSubDO.getId()); - subSelectionDO.setOptionName(subSelect.getOptionName()); - subSelectionDO.setSort(subSelect.getSort()); - subSelectionDO.setContent(subSelect.getContent()); - subSelectionDO.setCreateBy(userId); - subSelectionDO.setType(subSelect.getType()); - subSelectionList.add(subSelectionDO); + ArrayList<ComActQuestnaireSubSelectionDO> subSelectionList = Lists.newArrayList(); + if(sub.getQuestnaiteSubSelectionVOS()!=null) { + sub.getQuestnaiteSubSelectionVOS().forEach(subSelect -> { + ComActQuestnaireSubSelectionDO subSelectionDO = new ComActQuestnaireSubSelectionDO(); + subSelectionDO.setQueSubId(comActQuestnaireSubDO.getId()); + subSelectionDO.setOptionName(subSelect.getOptionName()); + subSelectionDO.setSort(subSelect.getSort()); + subSelectionDO.setContent(subSelect.getContent()); + subSelectionDO.setCreateBy(userId); + subSelectionDO.setType(subSelect.getType()); + subSelectionList.add(subSelectionDO); + }); + } + subSelectionService.saveBatch(subSelectionList); }); - subSelectionService.saveBatch(subSelectionList); - }); + } return R.ok(); } @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); + 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); } @Override @@ -219,7 +223,9 @@ } }); usersSubAnswerStatVO.setUsersAnswer(userSubAnswerSelectionStatVOList); - Integer count = questnaireAnswerContentDAO.selectCount(new QueryWrapper<ComActQuestnaireAnswerContentDO>().select(" DISTINCT sub_id, user_id ").lambda().eq(ComActQuestnaireAnswerContentDO::getSubId, comActQuestnaireSubDO.getId())); + Integer count = questnaireAnswerContentDAO.selectCount(new QueryWrapper<ComActQuestnaireAnswerContentDO>() + .select(" DISTINCT sub_id, user_id ").lambda() + .eq(ComActQuestnaireAnswerContentDO::getSubId, comActQuestnaireSubDO.getId())); usersSubAnswerStatVO.setTotal(count); usersSubAnswerStatVOList.add(usersSubAnswerStatVO); }); @@ -323,9 +329,8 @@ @Override public R qaQeustDetails(PageQuestnaireSubDetailsDTO pageQuestnaireSubDetailsDTO) { Page userPage = new Page(pageQuestnaireSubDetailsDTO.getPageNum(), pageQuestnaireSubDetailsDTO.getPageSize()); - IPage<ComActQuestnaireAnswerContentDO> doPager = - questnaireAnswerContentDAO.selectPage(userPage, new QueryWrapper<ComActQuestnaireAnswerContentDO>() - .orderBy(true, true, "create_at").lambda().eq(ComActQuestnaireAnswerContentDO::getSubId, pageQuestnaireSubDetailsDTO.getSubId())); + IPage<ComActQuestnaireAnswerContentVO> doPager = + questnaireAnswerContentDAO.selectVoByPage(userPage, pageQuestnaireSubDetailsDTO); return R.ok(doPager); } @@ -357,7 +362,8 @@ if (!b) { throw new ServiceException("500", "调查问卷题目不存在!"); } - BeanUtils.copyProperties(answerContentDO,answerContent); + BeanUtils.copyProperties(answerContent,answerContentDO); + answerContentDO.setUserId(userId); answerContentDOList.add(answerContentDO); } answerContentService.saveBatch(answerContentDOList); -- Gitblit v1.7.1