CeDo
2021-04-09 df6f59ab492049c78e624d4547164ec81137349e
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActQuestnaireServiceImpl.java
@@ -35,6 +35,7 @@
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
/**
 * @Author: llming
@@ -78,7 +79,7 @@
            sub.getQuestnaiteSubSelectionVOS().forEach(subSelect -> {
                ComActQuestnaireSubSelectionDO subSelectionDO = new ComActQuestnaireSubSelectionDO();
                subSelectionDO.setQueSubId((long) subId);
                subSelectionDO.setOptionName(subSelect.getOption());
                subSelectionDO.setOptionName(subSelect.getOptionName());
                subSelectionDO.setSort(subSelect.getSort());
                subSelectionDO.setContent(subSelect.getContent());
                subSelectionDO.setCreateBy(userId);
@@ -131,6 +132,7 @@
                    throw new ServiceException("500", "修改问卷题目数据有误!");
                }
                subDO.setContent(sub.getContent());
                //更新问卷题目
                questnaireSubDAO.updateById(subDO);
                sub.getQuestnaiteSubSelectionVOS().forEach(subSelection -> {
                    if (subSelection.getQueSubSelectionId() == null || subSelection.getContent() == null) {
@@ -138,6 +140,7 @@
                    }
                    ComActQuestnaireSubSelectionDO subSelectionDO = questnaireSubSelectionDAO.selectById(subSelection.getQueSubSelectionId());
                    subSelectionDO.setContent(subSelection.getContent());
                    //更新问卷选项
                    questnaireSubSelectionDAO.updateById(subSelectionDO);
                });
            });
@@ -147,8 +150,19 @@
    }
    @Override
    public R deleteQuestnaire() {
        return null;
    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);
            }
        }
        return R.ok();
    }
    @Override
@@ -179,40 +193,40 @@
        List<UsersSubAnswerVO> usersSubAnswerVOList = new ArrayList<>();
        list.forEach(comActQuestnaireSubDO ->{
            UsersSubAnswerVO usersSubAnswerVO = new UsersSubAnswerVO();
            //问卷调查题目
            ComActQuestnaireSubVO comActQuestnaireSubVO = new ComActQuestnaireSubVO();
            BeanUtils.copyProperties(comActQuestnaireSubDO, comActQuestnaireSubVO);
            usersSubAnswerVO.setQuestSubVO(comActQuestnaireSubVO);
                    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));
                    //问卷调查题目-选项
                    Long subId = comActQuestnaireSubDO.getId();
                    List<ComActQuestnaireSubSelectionDO> comActQuestnaireSubSelectionDOs =
                            questnaireSubSelectionDAO.selectList(new QueryWrapper<ComActQuestnaireSubSelectionDO>().lambda().eq(ComActQuestnaireSubSelectionDO::getQueSubId, subId));
            List<ComActQuestnaireSubSelectionVO> comActQuestnaireSubSelectionVOs = new ArrayList<>();
            comActQuestnaireSubSelectionDOs.forEach(comActQuestnaireSubSelectionDO -> {
                ComActQuestnaireSubSelectionVO comActQuestnaireSubSelectionVO = new ComActQuestnaireSubSelectionVO();
                BeanUtils.copyProperties(comActQuestnaireSubSelectionDO, comActQuestnaireSubSelectionVO);
                comActQuestnaireSubSelectionVOs.add(comActQuestnaireSubSelectionVO);
            });
            usersSubAnswerVO.setQuestSelectionList(comActQuestnaireSubSelectionVOs);
            //用户回答
            List<ComActQuestnaireAnswerContentDO> questnaireAnswerContentDOList =
                    questnaireAnswerContentDAO.selectList(new QueryWrapper<ComActQuestnaireAnswerContentDO>().lambda().eq(ComActQuestnaireAnswerContentDO::getUserId, userId)
                            .eq(ComActQuestnaireAnswerContentDO::getSubId, subId));
                    List<ComActQuestnaireSubSelectionVO> comActQuestnaireSubSelectionVOs = new ArrayList<>();
                    comActQuestnaireSubSelectionDOs.forEach(comActQuestnaireSubSelectionDO -> {
                        ComActQuestnaireSubSelectionVO comActQuestnaireSubSelectionVO = new ComActQuestnaireSubSelectionVO();
                        BeanUtils.copyProperties(comActQuestnaireSubSelectionDO, comActQuestnaireSubSelectionVO);
                        comActQuestnaireSubSelectionVOs.add(comActQuestnaireSubSelectionVO);
                    });
                    usersSubAnswerVO.setQuestSelectionList(comActQuestnaireSubSelectionVOs);
                    //用户回答
                    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);
            usersSubAnswerVOList.add(usersSubAnswerVO);
            }
                    usersSubAnswerVO.setUsersAnswer(questnaireAnswerContentVOList);
                    usersSubAnswerVOList.add(usersSubAnswerVO);
                }
        );
        usersAnswerVO.setUsersSubAnswer(usersSubAnswerVOList);