| | |
| | | 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 |
| | |
| | | |
| | | @Override |
| | | public R answerResultList(Long questId) { |
| | | LambdaQueryWrapper<ComActQuestnaireSubDO> subParam = new LambdaQueryWrapper<ComActQuestnaireSubDO>().eq(ComActQuestnaireSubDO::getQueId, questId); |
| | | List<ComActQuestnaireSubDO> subDOS = questnaireSubDAO.selectList(subParam); |
| | | 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); |
| | | |
| | | new LambdaQueryWrapper<ComActQuestnaireAnswerContentDO>().eq(ComActQuestnaireAnswerContentDO::get) |
| | | questnaireAnswerContentDAO.selectList() |
| | | 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); |
| | | } |
| | | } |