DESKTOP-71BH0QO\L、ming
2021-04-09 4b50d6c2bb02d6a15343c759c2b719adef63a45c
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActQuestnaireServiceImpl.java
@@ -1,7 +1,5 @@
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;
@@ -9,9 +7,10 @@
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;
@@ -47,30 +46,32 @@
    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);
@@ -100,8 +101,39 @@
    }
    @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