From a4aa79a8fd9a40b34bac8ebb153f7ab1977282d3 Mon Sep 17 00:00:00 2001 From: CeDo <cedoogle@gmail.com> Date: 星期五, 09 四月 2021 15:45:20 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActQuestnaireServiceImpl.java | 113 +++++++++++++++++++++++++++++++++++++++----------------- 1 files changed, 78 insertions(+), 35 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 ff1e229..98a23a4 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 @@ -1,5 +1,6 @@ package com.panzhihua.service_community.service.impl; +import java.util.Comparator; import java.util.Date; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; @@ -12,6 +13,7 @@ import com.panzhihua.common.exceptions.ServiceException; import com.panzhihua.common.model.dtos.community.PageQuestnaireDTO; import com.panzhihua.common.model.vos.R; +import com.panzhihua.common.model.vos.community.questnaire.EditComActQuestnaireVo; import com.panzhihua.common.model.vos.community.questnaire.QuestnaireVO; import com.panzhihua.service_community.dao.ComActQuestnaireAnswerContentDAO; import com.panzhihua.service_community.dao.ComActQuestnaireDAO; @@ -34,7 +36,6 @@ import javax.annotation.Resource; import java.util.ArrayList; import java.util.List; -import java.util.stream.Collectors; /** * @Author: llming @@ -56,7 +57,7 @@ ComActQuestnaireSubSelectionServiceImpl subSelectionService; @Override - public R AddQuestnaire(QuestnaireVO questnaireVO, Long communityId, Long userId) { + public R addQuestnaire(QuestnaireVO questnaireVO, Long communityId, Long userId) { ComActQuestnaireDO comActQuestnaireDO = new ComActQuestnaireDO(); comActQuestnaireDO.setTitle(questnaireVO.getQueTitle()); comActQuestnaireDO.setQueDescribe(questnaireVO.getQueDescribe()); @@ -64,14 +65,16 @@ comActQuestnaireDO.setJoinCount(0); comActQuestnaireDO.setCommunityId(communityId); comActQuestnaireDO.setCreateBy(userId); - comActQuestnaireDO.setParterType(questnaireVO.getParterType()); - int questnaireId = questnaireDAO.insert(comActQuestnaireDO); + comActQuestnaireDO.setForMasses(questnaireVO.getForMasses()); + comActQuestnaireDO.setForParty(questnaireVO.getForParty()); + comActQuestnaireDO.setForVolunteer(questnaireVO.getForVolunteer()); + int questId = questnaireDAO.insert(comActQuestnaireDO); questnaireVO.getQuestnaiteSubVOS().forEach(sub -> { ComActQuestnaireSubDO comActQuestnaireSubDO = new ComActQuestnaireSubDO(); comActQuestnaireSubDO.setType(sub.getType()); comActQuestnaireSubDO.setContent(sub.getContent()); comActQuestnaireSubDO.setSort(sub.getSort()); - comActQuestnaireSubDO.setQueId((long) questnaireId); + comActQuestnaireSubDO.setQueId((long) questId); comActQuestnaireSubDO.setCreateBy(userId); int subId = questnaireSubDAO.insert(comActQuestnaireSubDO); ArrayList<ComActQuestnaireSubSelectionDO> subSelectionList = Lists.newArrayList(); @@ -90,9 +93,12 @@ } @Override - public R PageQuestnaire(PageQuestnaireDTO pageQuestnaireDTO) { + public R pageQuestnaire(PageQuestnaireDTO pageQuestnaireDTO) { Page userPage = new Page(pageQuestnaireDTO.getPageNum(), pageQuestnaireDTO.getPageSize()); LambdaQueryWrapper<ComActQuestnaireDO> lambdaQueryWrapper = Wrappers.lambdaQuery(); + lambdaQueryWrapper.eq(ComActQuestnaireDO::getCommunityId, 0); + //过滤隐藏字段 + lambdaQueryWrapper.eq(ComActQuestnaireDO::getIsHide, 0); if (pageQuestnaireDTO.getTitle() != null) { lambdaQueryWrapper.like(ComActQuestnaireDO::getTitle, pageQuestnaireDTO.getTitle()); } @@ -111,10 +117,10 @@ } @Override - public R editQuestnaire(QuestnaireVO questnaireVO, Long communityId, Long userId) { + public R editQuestnaire(QuestnaireVO questnaireVO) { ComActQuestnaireDO questnaireDO = null; - if (questnaireVO.getQueId() != null && questnaireVO.getQueId() != 0L) { - questnaireDO = questnaireDAO.selectById(questnaireVO.getQueId()); + if (questnaireVO.getQuestId() != null && questnaireVO.getQuestId() != 0L) { + questnaireDO = questnaireDAO.selectById(questnaireVO.getQuestId()); if (questnaireDO == null) { return R.fail(500, "id有误!"); } @@ -149,32 +155,60 @@ } @Override - public R deleteQuestnaire(Long queId) { - int queDeleteResult = questnaireDAO.deleteById(queId); - if (queDeleteResult > 0) { - LambdaQueryWrapper<ComActQuestnaireSubDO> subParam = new QueryWrapper<ComActQuestnaireSubDO>().lambda(); - subParam.eq(ComActQuestnaireSubDO::getQueId, queId); - List<Long> subIds = questnaireSubDAO.selectList(subParam).stream().map(ComActQuestnaireSubDO::getId).collect(Collectors.toList()); - int subDeleteResult = questnaireSubDAO.delete(subParam); - if (subDeleteResult > 0) { - LambdaQueryWrapper<ComActQuestnaireSubSelectionDO> subSelectParam = new LambdaQueryWrapper<ComActQuestnaireSubSelectionDO>().in(ComActQuestnaireSubSelectionDO::getQueSubId, subIds); - questnaireSubSelectionDAO.delete(subSelectParam); - } + public R editQuestnaireDO(EditComActQuestnaireVo editComActQuestnaireVo, Long userId) { + LambdaQueryWrapper<ComActQuestnaireDO> subParam = new LambdaQueryWrapper<ComActQuestnaireDO>().eq(ComActQuestnaireDO::getId, editComActQuestnaireVo.getQuestId()); + ComActQuestnaireDO questDO = questnaireDAO.selectOne(subParam); + if (questDO == null) { + return R.fail(500, "Id有误!"); } + questDO.setState(editComActQuestnaireVo.getState()); + questDO.setUpdateBy(userId); + questnaireDAO.updateById(questDO); return R.ok(); } @Override - public R infoQuestnaire() { - return null; + public R deleteQuestnaire(Long questId, Long userId) { + LambdaQueryWrapper<ComActQuestnaireDO> subParam = new LambdaQueryWrapper<ComActQuestnaireDO>().eq(ComActQuestnaireDO::getId, questId); + ComActQuestnaireDO queDO = questnaireDAO.selectOne(subParam); + if (queDO == null) { + return R.fail(); + } + queDO.setUpdateBy(userId); + queDO.setIsHide(1); + questnaireDAO.updateById(queDO); + return R.ok(); + } + + @Override + public R statQuestnaire(Long questId){ + ComActQuestnaireDO comActQuestnaireDO = questnaireDAO.selectById(questId); + + QuestnaireAnswerStatVO usersAnswerStatVO = new QuestnaireAnswerStatVO(); + //问卷信息 + ComActQuestnaireVO comActQuestnaireVO = new ComActQuestnaireVO(); + BeanUtils.copyProperties(comActQuestnaireDO, comActQuestnaireVO); + usersAnswerStatVO.setQuestnaire(comActQuestnaireVO); + + UsersSubAnswerStatVO usersSubAnswerStatVO = new UsersSubAnswerStatVO(); + + + //questnaireAnswerContentDAO.selectQuestnaireStat(questId); + + return R.ok(usersAnswerStatVO); + } + + @Override + public R infoQuestnaire(Long questId) { + return answerInfoQuestnaire(null, questId); } @Override public R answerInfoQuestnaire(Long userId, Long questId) { ComActQuestnaireDO comActQuestnaireDO = questnaireDAO.selectById(questId); - if (comActQuestnaireDO == null) { - return R.fail("问卷不存在!"); + if(comActQuestnaireDO==null){ + return R.fail("问卷不存在!"); } UsersAnswerVO usersAnswerVO = new UsersAnswerVO(); @@ -183,10 +217,17 @@ usersAnswerVO.setQuestnaire(comActQuestnaireVO); List<ComActQuestnaireSubDO> list = questnaireSubDAO.selectList(new QueryWrapper<ComActQuestnaireSubDO>().lambda().eq(ComActQuestnaireSubDO::getQueId, questId)); + list.sort(Comparator.comparing(ComActQuestnaireSubDO::getSort).reversed()); List<UsersSubAnswerVO> usersSubAnswerVOList = new ArrayList<>(); - list.forEach(comActQuestnaireSubDO -> { + list.forEach(comActQuestnaireSubDO ->{ UsersSubAnswerVO usersSubAnswerVO = new UsersSubAnswerVO(); + //问卷调查题目 + ComActQuestnaireSubVO comActQuestnaireSubVO = new ComActQuestnaireSubVO(); + BeanUtils.copyProperties(comActQuestnaireSubDO, comActQuestnaireSubVO); + usersSubAnswerVO.setQuestSubVO(comActQuestnaireSubVO); + + //问卷调查题目-选项 Long subId = comActQuestnaireSubDO.getId(); List<ComActQuestnaireSubSelectionDO> comActQuestnaireSubSelectionDOs = questnaireSubSelectionDAO.selectList(new QueryWrapper<ComActQuestnaireSubSelectionDO>().lambda().eq(ComActQuestnaireSubSelectionDO::getQueSubId, subId)); @@ -200,18 +241,20 @@ }); usersSubAnswerVO.setQuestSelectionList(comActQuestnaireSubSelectionVOs); //用户回答 - List<ComActQuestnaireAnswerContentDO> questnaireAnswerContentDOList = - questnaireAnswerContentDAO.selectList(new QueryWrapper<ComActQuestnaireAnswerContentDO>().lambda().eq(ComActQuestnaireAnswerContentDO::getUserId, userId) - .eq(ComActQuestnaireAnswerContentDO::getSubId, subId)); + if(userId!=null) { + List<ComActQuestnaireAnswerContentDO> questnaireAnswerContentDOList = + questnaireAnswerContentDAO.selectList(new QueryWrapper<ComActQuestnaireAnswerContentDO>().lambda().eq(ComActQuestnaireAnswerContentDO::getUserId, userId) + .eq(ComActQuestnaireAnswerContentDO::getSubId, subId)); - List<ComActQuestnaireAnswerContentVO> questnaireAnswerContentVOList = new ArrayList<>(); - questnaireAnswerContentDOList.forEach(questnaireAnswerContentDO -> { - ComActQuestnaireAnswerContentVO comActQuestnaireSubSelectionVO = new ComActQuestnaireAnswerContentVO(); - BeanUtils.copyProperties(questnaireAnswerContentDO, comActQuestnaireSubSelectionVO); - questnaireAnswerContentVOList.add(comActQuestnaireSubSelectionVO); - }); + List<ComActQuestnaireAnswerContentVO> questnaireAnswerContentVOList = new ArrayList<>(); + questnaireAnswerContentDOList.forEach(questnaireAnswerContentDO -> { + ComActQuestnaireAnswerContentVO comActQuestnaireSubSelectionVO = new ComActQuestnaireAnswerContentVO(); + BeanUtils.copyProperties(questnaireAnswerContentDO, comActQuestnaireSubSelectionVO); + questnaireAnswerContentVOList.add(comActQuestnaireSubSelectionVO); + }); - usersSubAnswerVO.setUsersAnswer(questnaireAnswerContentVOList); + usersSubAnswerVO.setUsersAnswer(questnaireAnswerContentVOList); + } usersSubAnswerVOList.add(usersSubAnswerVO); } ); -- Gitblit v1.7.1