CeDo
2021-04-09 763f3d8b1b23b309aa274fba4f62d1aaec33d87e
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActQuestnaireServiceImpl.java
@@ -23,6 +23,7 @@
import com.panzhihua.service_community.model.dos.ComActQuestnaireSubDO;
import com.panzhihua.service_community.model.dos.ComActQuestnaireSubSelectionDO;
import com.panzhihua.service_community.service.ComActQuestnaireService;
import io.swagger.models.auth.In;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import com.panzhihua.common.model.vos.community.ComActQuestnaireAnswerContentVO;
@@ -62,7 +63,7 @@
        comActQuestnaireDO.setJoinCount(0);
        comActQuestnaireDO.setCommunityId(communityId);
        comActQuestnaireDO.setCreateBy(userId);
        comActQuestnaireDO.setForMasses(questnaireVO.getForMasses());
        comActQuestnaireDO.setForMesses(questnaireVO.getForMasses());
        comActQuestnaireDO.setForParty(questnaireVO.getForParty());
        comActQuestnaireDO.setForVolunteer(questnaireVO.getForVolunteer());
        int questId = questnaireDAO.insert(comActQuestnaireDO);
@@ -184,11 +185,35 @@
        BeanUtils.copyProperties(comActQuestnaireDO, comActQuestnaireVO);
        usersAnswerStatVO.setQuestnaire(comActQuestnaireVO);
        UsersSubAnswerStatVO usersSubAnswerStatVO = new UsersSubAnswerStatVO();
        //问卷题目列表
        List<ComActQuestnaireSubDO> comActQuestnaireSubDOList =
                questnaireSubDAO.selectList(new QueryWrapper<ComActQuestnaireSubDO>().lambda().eq(ComActQuestnaireSubDO::getQueId, questId));
        //题目统计信息
        List<UserSubAnswerSelectionStatVO> usearSubAnswerSelectionStatVOList = questnaireAnswerContentDAO.selectQuestnaireStat(questId);
        List<UsersSubAnswerStatVO> usersSubAnswerStatVOList = new ArrayList<>();
        //questnaireAnswerContentDAO.selectQuestnaireStat(questId);
        comActQuestnaireSubDOList.forEach(comActQuestnaireSubDO->{
            UsersSubAnswerStatVO usersSubAnswerStatVO = new UsersSubAnswerStatVO();
            ComActQuestnaireSubVO comActQuestnaireSubVO = new ComActQuestnaireSubVO();
            BeanUtils.copyProperties(comActQuestnaireSubDO, comActQuestnaireSubVO);
            usersSubAnswerStatVO.setQuestSubVO(comActQuestnaireSubVO);
            List<UserSubAnswerSelectionStatVO> userSubAnswerSelectionStatVOList = new ArrayList<>();
            usersSubAnswerStatVO.setTotal(0);
            usearSubAnswerSelectionStatVOList.forEach(stat ->{
                if(stat.getSubId()==comActQuestnaireSubDO.getId()){
                    userSubAnswerSelectionStatVOList.add(stat);
                }
            });
            usersSubAnswerStatVO.setUsersAnswer(userSubAnswerSelectionStatVOList);
            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);
        });
        usersAnswerStatVO.setUsersSubAnswerStat(usersSubAnswerStatVOList);
        return R.ok(usersAnswerStatVO);
    }