| | |
| | | package com.panzhihua.service_community.service.impl; |
| | | |
| | | import java.util.Comparator; |
| | | import java.util.*; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | |
| | | import com.google.common.collect.Lists; |
| | | import com.panzhihua.common.enums.QuestnaireState; |
| | | import com.panzhihua.common.exceptions.ServiceException; |
| | | import com.panzhihua.common.model.dtos.community.PageQuestnaireAnswerDTO; |
| | | import com.panzhihua.common.model.dtos.community.PageQuestnaireDTO; |
| | | import com.panzhihua.common.model.dtos.community.PageQuestnaireSubDetailsDTO; |
| | | 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.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; |
| | |
| | | import com.panzhihua.common.model.vos.community.ComActQuestnaireVO; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * @Author: llming |
| | |
| | | comActQuestnaireDO.setJoinCount(0); |
| | | comActQuestnaireDO.setCommunityId(communityId); |
| | | comActQuestnaireDO.setCreateBy(userId); |
| | | comActQuestnaireDO.setForMesses(questnaireVO.getForMasses()); |
| | | comActQuestnaireDO.setIsHide(0); |
| | | comActQuestnaireDO.setForMasses(questnaireVO.getForMasses()); |
| | | comActQuestnaireDO.setForParty(questnaireVO.getForParty()); |
| | | comActQuestnaireDO.setForVolunteer(questnaireVO.getForVolunteer()); |
| | | int questId = questnaireDAO.insert(comActQuestnaireDO); |
| | |
| | | |
| | | @Override |
| | | public R statQuestnaire(Long questId){ |
| | | ComActQuestnaireDO comActQuestnaireDO = questnaireDAO.selectById(questId); |
| | | ComActQuestnaireDO comActQuestnaireDO = questnaireDAO.selectOne(new QueryWrapper<ComActQuestnaireDO>().lambda().eq(ComActQuestnaireDO::getId, questId).eq(ComActQuestnaireDO::getIsHide, 0)); |
| | | |
| | | QuestnaireAnswerStatVO usersAnswerStatVO = new QuestnaireAnswerStatVO(); |
| | | //问卷信息 |
| | |
| | | |
| | | @Override |
| | | public R answerInfoQuestnaire(Long userId, Long questId) { |
| | | |
| | | ComActQuestnaireDO comActQuestnaireDO = questnaireDAO.selectById(questId); |
| | | ComActQuestnaireDO comActQuestnaireDO = questnaireDAO.selectOne(new QueryWrapper<ComActQuestnaireDO>().lambda().eq(ComActQuestnaireDO::getId, questId).eq(ComActQuestnaireDO::getIsHide, 0)); |
| | | if(comActQuestnaireDO==null){ |
| | | return R.fail("问卷不存在!"); |
| | | } |
| | |
| | | usersAnswerVO.setQuestnaire(comActQuestnaireVO); |
| | | |
| | | List<ComActQuestnaireSubDO> list = questnaireSubDAO.selectList(new QueryWrapper<ComActQuestnaireSubDO>().lambda().eq(ComActQuestnaireSubDO::getQueId, questId)); |
| | | list.sort(Comparator.comparing(ComActQuestnaireSubDO::getSort).reversed()); |
| | | list.sort(Comparator.comparing(ComActQuestnaireSubDO::getSort)); |
| | | List<UsersSubAnswerVO> usersSubAnswerVOList = new ArrayList<>(); |
| | | |
| | | list.forEach(comActQuestnaireSubDO ->{ |
| | |
| | | |
| | | return R.ok(usersAnswerVO); |
| | | } |
| | | |
| | | @Override |
| | | public R answerResultList(Long questId) { |
| | | QuestnaireAnswersDTO questnaireAnswersDTO = new QuestnaireAnswersDTO(); |
| | | /** |
| | | * 查询题目 |
| | | */ |
| | | List<ComActQuestnaireSubDO> list = questnaireSubDAO.selectList(new QueryWrapper<ComActQuestnaireSubDO>().lambda().eq(ComActQuestnaireSubDO::getQueId, questId)); |
| | | List<ComActQuestnaireSubVO> listSubVo = new ArrayList<>(); |
| | | list.forEach(subDo->{ |
| | | ComActQuestnaireSubVO comActQuestnaireSubVO = new ComActQuestnaireSubVO(); |
| | | BeanUtils.copyProperties(subDo, comActQuestnaireSubVO); |
| | | listSubVo.add(comActQuestnaireSubVO); |
| | | }); |
| | | questnaireAnswersDTO.setSubs(listSubVo); |
| | | /** |
| | | * 查询用户回答 |
| | | */ |
| | | List<ComActQuestnaireAnswerContentDO> questnaireAnswerContentDOList = questnaireAnswerContentDAO.selectListByQuestnaire(questId); |
| | | List<ComActQuestnaireAnswerContentVO> vos = new ArrayList<>(); |
| | | questnaireAnswerContentDOList.forEach(dos ->{ |
| | | ComActQuestnaireAnswerContentVO vo = new ComActQuestnaireAnswerContentVO(); |
| | | BeanUtils.copyProperties(dos, vo); |
| | | vos.add(vo); |
| | | }); |
| | | questnaireAnswersDTO.setAnswers(vos); |
| | | |
| | | return R.ok(questnaireAnswersDTO); |
| | | } |
| | | |
| | | @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())); |
| | | return R.ok(doPager); |
| | | } |
| | | |
| | | @Override |
| | | public R pageQuestnaireAnswer(PageQuestnaireAnswerDTO pageQuestnaireAnswerDTO) { |
| | | Page userPage = new Page(pageQuestnaireAnswerDTO.getPageNum(), pageQuestnaireAnswerDTO.getPageSize()); |
| | | IPage<ComActQuestnaireAnswerContentVO> doPager = questnaireAnswerContentDAO.selectAnswersByPage(userPage, pageQuestnaireAnswerDTO); |
| | | return R.ok(doPager); |
| | | } |
| | | } |