| | |
| | | package com.panzhihua.service_community.service.impl; |
| | | |
| | | import java.util.Date; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | 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.PageQuestnaireDTO; |
| | | import com.panzhihua.common.model.vos.R; |
| | | import com.panzhihua.common.model.vos.community.questnaire.AddQuestnaireVO; |
| | | import com.panzhihua.common.model.vos.community.questnaire.QuestnaireVO; |
| | | import com.panzhihua.service_community.dao.ComActQuestnaireAnswerContentDAO; |
| | | import com.panzhihua.service_community.dao.ComActQuestnaireDAO; |
| | | import com.panzhihua.service_community.dao.ComActQuestnaireSubDAO; |
| | |
| | | ComActQuestnaireSubSelectionServiceImpl subSelectionService; |
| | | |
| | | @Override |
| | | public R AddQuestnaire(AddQuestnaireVO addQuestnaireVO, Long communityId, Long userId) { |
| | | public R AddQuestnaire(QuestnaireVO questnaireVO, Long communityId, Long userId) { |
| | | ComActQuestnaireDO comActQuestnaireDO = new ComActQuestnaireDO(); |
| | | comActQuestnaireDO.setTitle(addQuestnaireVO.getQueTitle()); |
| | | comActQuestnaireDO.setQueDescribe(addQuestnaireVO.getQueDescribe()); |
| | | comActQuestnaireDO.setTitle(questnaireVO.getQueTitle()); |
| | | comActQuestnaireDO.setQueDescribe(questnaireVO.getQueDescribe()); |
| | | comActQuestnaireDO.setState(QuestnaireState.CONTINUED.getCode()); |
| | | comActQuestnaireDO.setJoinCount(0); |
| | | comActQuestnaireDO.setCommunityId(communityId); |
| | | comActQuestnaireDO.setCreatBy(userId); |
| | | comActQuestnaireDO.setCreateBy(userId); |
| | | comActQuestnaireDO.setParterType(questnaireVO.getParterType()); |
| | | int questnaireId = questnaireDAO.insert(comActQuestnaireDO); |
| | | addQuestnaireVO.getQuestnaiteSubVOS().forEach(sub -> { |
| | | questnaireVO.getQuestnaiteSubVOS().forEach(sub -> { |
| | | ComActQuestnaireSubDO comActQuestnaireSubDO = new ComActQuestnaireSubDO(); |
| | | comActQuestnaireSubDO.setType(sub.getType()); |
| | | comActQuestnaireSubDO.setContent(sub.getContent()); |
| | | comActQuestnaireSubDO.setSort(sub.getSort()); |
| | | comActQuestnaireSubDO.setQueId((long) questnaireId); |
| | | comActQuestnaireSubDO.setCreatBy(userId); |
| | | comActQuestnaireSubDO.setCreateBy(userId); |
| | | int subId = questnaireSubDAO.insert(comActQuestnaireSubDO); |
| | | ArrayList<ComActQuestnaireSubSelectionDO> subSelectionList = Lists.newArrayList(); |
| | | sub.getQuestnaiteSubSelectionVOS().forEach(subSelect -> { |
| | | ComActQuestnaireSubSelectionDO subSelectionDO = new ComActQuestnaireSubSelectionDO(); |
| | | subSelectionDO.setQueSubId((long) subId); |
| | | subSelectionDO.setOption(subSelect.getOption()); |
| | | subSelectionDO.setSort(subSelect.getSort()); |
| | | subSelectionDO.setContent(subSelect.getContent()); |
| | | subSelectionDO.setCreatBy(userId); |
| | | subSelectionDO.setCreateBy(userId); |
| | | subSelectionList.add(subSelectionDO); |
| | | }); |
| | | subSelectionService.saveBatch(subSelectionList); |
| | |
| | | } |
| | | |
| | | @Override |
| | | public R editQuestnaire() { |
| | | return null; |
| | | public R editQuestnaire(QuestnaireVO questnaireVO, Long communityId, Long userId) { |
| | | ComActQuestnaireDO questnaireDO = null; |
| | | if (questnaireVO.getQueId() != null && questnaireVO.getQueId() != 0L) { |
| | | questnaireDO = questnaireDAO.selectById(questnaireVO.getQueId()); |
| | | if (questnaireDO == null) { |
| | | return R.fail(500, "id有误!"); |
| | | } |
| | | questnaireDO.setTitle(questnaireDO.getTitle()); |
| | | questnaireDO.setQueDescribe(questnaireDO.getQueDescribe()); |
| | | //保存问卷调查 |
| | | questnaireDAO.updateById(questnaireDO); |
| | | questnaireVO.getQuestnaiteSubVOS().forEach(sub -> { |
| | | if (sub.getQueSubId() == null) { |
| | | throw new ServiceException("500", "问卷题目Id为空!"); |
| | | } |
| | | ComActQuestnaireSubDO subDO = questnaireSubDAO.selectById(sub.getQueSubId()); |
| | | if (subDO == null || sub.getContent() == null) { |
| | | throw new ServiceException("500", "修改问卷题目数据有误!"); |
| | | } |
| | | subDO.setContent(sub.getContent()); |
| | | questnaireSubDAO.updateById(subDO); |
| | | sub.getQuestnaiteSubSelectionVOS().forEach(subSelection -> { |
| | | if (subSelection.getQueSubSelectionId() == null || subSelection.getContent() == null) { |
| | | throw new ServiceException("500", "问卷题目选项数据有误!"); |
| | | } |
| | | ComActQuestnaireSubSelectionDO subSelectionDO = questnaireSubSelectionDAO.selectById(subSelection.getQueSubSelectionId()); |
| | | subSelectionDO.setContent(subSelection.getContent()); |
| | | questnaireSubSelectionDAO.updateById(subSelectionDO); |
| | | }); |
| | | }); |
| | | |
| | | } |
| | | return R.ok(); |
| | | } |
| | | |
| | | @Override |