CeDo
2021-04-09 a4aa79a8fd9a40b34bac8ebb153f7ab1977282d3
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActQuestnaireServiceImpl.java
@@ -1,6 +1,7 @@
package com.panzhihua.service_community.service.impl;
import java.util.Comparator;
import java.util.Date;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -104,6 +105,9 @@
        if (pageQuestnaireDTO.getTitle() != null) {
            lambdaQueryWrapper.eq(ComActQuestnaireDO::getState, pageQuestnaireDTO.getState());
        }
        if (pageQuestnaireDTO.getParterType() != null) {
            lambdaQueryWrapper.eq(ComActQuestnaireDO::getParterType, pageQuestnaireDTO.getParterType());
        }
        if (pageQuestnaireDTO.getEndTime() != null && pageQuestnaireDTO.getStartTime() != null) {
            lambdaQueryWrapper.ge(ComActQuestnaireDO::getCreateAt, pageQuestnaireDTO.getStartTime());
            lambdaQueryWrapper.lt(ComActQuestnaireDO::getCreateAt, pageQuestnaireDTO.getEndTime());
@@ -177,21 +181,34 @@
    }
    @Override
    public R statQuestnaire(Long questId) {
        return null;
    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 null;
        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();
@@ -203,7 +220,7 @@
        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();
@@ -224,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);
                }
        );