lidongdong
2023-10-17 3564ef642fa9226f0869eac6d9ad70aee093d0d9
springcloud_k8s_panzhihuazhihuishequ/service_jinhui_community/src/main/java/com/panzhihua/service_jinhui_community/service/impl/JinhuiComActWorkGuideServiceImpl.java
@@ -1,9 +1,11 @@
package com.panzhihua.service_jinhui_community.service.impl;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.google.common.collect.Lists;
import com.panzhihua.common.model.dtos.community.ComActWorkGuideDTO;
import com.panzhihua.common.model.dtos.community.PageActWorkGuideDTO;
import com.panzhihua.common.model.vos.R;
@@ -11,14 +13,11 @@
import com.panzhihua.common.model.vos.community.ComActWorkGuideDetailAppletsVO;
import com.panzhihua.common.model.vos.community.ComActWorkGuideMaterialVO;
import com.panzhihua.common.model.vos.community.ComActWorkGuideVO;
import com.panzhihua.common.model.vos.community.questnaire.QuestnaiteSubSelectionVO;
import com.panzhihua.common.model.vos.community.questnaire.QuestnaiteSubVO;
import com.panzhihua.common.utlis.StringUtils;
import com.panzhihua.service_jinhui_community.dao.ComActDAO;
import com.panzhihua.service_jinhui_community.dao.JinhuiComActWorkGuideClassifyDao;
import com.panzhihua.service_jinhui_community.dao.JinhuiComActWorkGuideDAO;
import com.panzhihua.service_jinhui_community.dao.JinhuiComActWorkGuideMaterialDao;
import com.panzhihua.service_jinhui_community.entity.JinhuiComActWorkGuide;
import com.panzhihua.service_jinhui_community.entity.JinhuiComActWorkGuideClassify;
import com.panzhihua.service_jinhui_community.entity.JinhuiComActWorkGuideMaterial;
import com.panzhihua.service_jinhui_community.dao.*;
import com.panzhihua.service_jinhui_community.entity.*;
import com.panzhihua.service_jinhui_community.model.dos.ComActDO;
import com.panzhihua.service_jinhui_community.service.JinhuiComActWorkGuideService;
import org.springframework.beans.BeanUtils;
@@ -46,20 +45,79 @@
    @Resource
    ComActDAO comActDAO;
    @Resource
    private JinhuiComActQuestnaireSubDao questnaireSubDao;
    @Resource
    private JinhuiComActQuestnaireSubSelectionServiceImpl questnaireSubSelectionService;
    @Override
    public R addWorkGuide(ComActWorkGuideDTO workGuideDTO, String userId) {
    public R addWorkGuide(ComActWorkGuideDTO workGuideDTO, String userId)
    {
        JinhuiComActWorkGuide comActWorkGuideDO = new JinhuiComActWorkGuide();
        BeanUtils.copyProperties(workGuideDTO, comActWorkGuideDO);
        comActWorkGuideDO.setCreateBy(userId+"");
        comActWorkGuideDO.setCreateBy(userId);
        comActWorkGuideDO.setCreateAt(new Date());
        this.baseMapper.insert(comActWorkGuideDO);
        // 统计该调查问卷填报题目数量
        int count = 0;
        List<QuestnaiteSubVO> questnaiteSubVOS = JSON.parseArray(comActWorkGuideDO.getJsonObject(), QuestnaiteSubVO.class);
        if (!questnaiteSubVOS.isEmpty()) {
            count = questnaiteSubVOS.size();
        }
        comActWorkGuideDO.setCount(count);
        // 保存办事指南材料
        workGuideDTO.getMaterials().forEach(material -> {
        comActWorkGuideDO.getMaterials().forEach(material -> {
            JinhuiComActWorkGuideMaterial workGuideMaterialDO = new JinhuiComActWorkGuideMaterial();
            workGuideMaterialDO.setMaterialName(material.getMaterialName());
            workGuideMaterialDO.setWorkGuideId(comActWorkGuideDO.getId());
            workGuideMaterialDAO.insert(workGuideMaterialDO);
        });
        int quesCount = this.baseMapper.insert(comActWorkGuideDO);
        if (quesCount != 1) {
            return R.fail("创建失败");
        }
        if (!questnaiteSubVOS.isEmpty()) {
            questnaiteSubVOS.forEach(sub -> {
                JinhuiComActQuestnaireSub comActQuestnaireSubDO = new JinhuiComActQuestnaireSub();
                comActQuestnaireSubDO.setType(sub.getType()+"");
                comActQuestnaireSubDO.setContent(sub.getLabel());
                comActQuestnaireSubDO.setSort(sub.getSort()+"");
                comActQuestnaireSubDO.setQueId(comActWorkGuideDO.getId());
                comActQuestnaireSubDO.setCreateBy(userId);
                comActQuestnaireSubDO.setKey(sub.getKey());
                questnaireSubDao.insert(comActQuestnaireSubDO);
                ArrayList<JinhuiComActQuestnaireSubSelection> subSelectionList = Lists.newArrayList();
                if (sub.getOptions() != null && !sub.getOptions().isEmpty()) {
                    List<QuestnaiteSubSelectionVO> subOptions = sub.getOptions();
                    for (int i = 0; i < subOptions.size(); i++) {
                        QuestnaiteSubSelectionVO subSelect = subOptions.get(i);
                        JinhuiComActQuestnaireSubSelection subSelectionDO = new JinhuiComActQuestnaireSubSelection();
                        subSelectionDO.setQueSubId(comActQuestnaireSubDO.getId()+"");
                        if (subSelect.getType().equals(1)) {
                            // 添加选项名称
                            subSelectionDO.setOptionName(subSelect.getOptionName());
                        } else {
                            subSelectionDO.setOptionName(String.valueOf(Character.toChars('A' + i)));
                        }
                        subSelectionDO.setContent(subSelect.getLabel());
                        subSelectionDO.setQueId(comActWorkGuideDO.getId());
                        subSelectionDO.setCreateBy(userId);
                        subSelectionDO.setType(subSelect.getType()+"");
                        subSelectionDO.setKey(subSelect.getKey());
                        subSelectionDO.setUrl(subSelect.getUrl());
                        subSelectionList.add(subSelectionDO);
                    }
                }
                questnaireSubSelectionService.saveBatch(subSelectionList);
            });
        }
        return R.ok();
    }