lidongdong
2023-10-17 3564ef642fa9226f0869eac6d9ad70aee093d0d9
金汇社区办事指南在线办理处理
5个文件已添加
3个文件已修改
284 ■■■■■ 已修改文件
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/ComActWorkGuideDTO.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_jinhui_community/src/main/java/com/panzhihua/service_jinhui_community/dao/JinhuiComActQuestnaireSubDao.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_jinhui_community/src/main/java/com/panzhihua/service_jinhui_community/dao/JinhuiComActQuestnaireSubSelectionDao.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_jinhui_community/src/main/java/com/panzhihua/service_jinhui_community/entity/JinhuiComActQuestnaireSub.java 72 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_jinhui_community/src/main/java/com/panzhihua/service_jinhui_community/entity/JinhuiComActQuestnaireSubSelection.java 73 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_jinhui_community/src/main/java/com/panzhihua/service_jinhui_community/entity/JinhuiComActWorkGuide.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_jinhui_community/src/main/java/com/panzhihua/service_jinhui_community/service/impl/JinhuiComActQuestnaireSubSelectionServiceImpl.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_jinhui_community/src/main/java/com/panzhihua/service_jinhui_community/service/impl/JinhuiComActWorkGuideServiceImpl.java 80 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/ComActWorkGuideDTO.java
@@ -57,5 +57,8 @@
    private String areaCode;
    @ApiModelProperty(value = "是否在线 (0 不在线   1在线)")
    private String isOnLine;
    private List<ComActWorkGuideMaterialVO> materials = Lists.newArrayList();
}
springcloud_k8s_panzhihuazhihuishequ/service_jinhui_community/src/main/java/com/panzhihua/service_jinhui_community/dao/JinhuiComActQuestnaireSubDao.java
New file
@@ -0,0 +1,12 @@
package com.panzhihua.service_jinhui_community.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.panzhihua.service_jinhui_community.entity.JinhuiComActQuestnaireSub;
import org.apache.ibatis.annotations.Mapper;
/**
 * @Author: llming
 * @Description: 办事指南题目
 */
@Mapper
public interface JinhuiComActQuestnaireSubDao extends BaseMapper<JinhuiComActQuestnaireSub> {}
springcloud_k8s_panzhihuazhihuishequ/service_jinhui_community/src/main/java/com/panzhihua/service_jinhui_community/dao/JinhuiComActQuestnaireSubSelectionDao.java
New file
@@ -0,0 +1,12 @@
package com.panzhihua.service_jinhui_community.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.panzhihua.service_jinhui_community.entity.JinhuiComActQuestnaireSubSelection;
import org.apache.ibatis.annotations.Mapper;
/**
 * @Author: llming
 * @Description: 问卷题目选项
 */
@Mapper
public interface JinhuiComActQuestnaireSubSelectionDao extends BaseMapper<JinhuiComActQuestnaireSubSelection> {}
springcloud_k8s_panzhihuazhihuishequ/service_jinhui_community/src/main/java/com/panzhihua/service_jinhui_community/entity/JinhuiComActQuestnaireSub.java
New file
@@ -0,0 +1,72 @@
package com.panzhihua.service_jinhui_community.entity;
import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
 * @Author: llming
 * @Description: 问卷题目
 */
@Data
@TableName(value = "jinhui_com_act_questnaire_sub")
public class JinhuiComActQuestnaireSub implements Serializable {
    private static final long serialVersionUID = 914683789736719693L;
    @TableId(type = IdType.AUTO)
    private Long id;
    /**
     * 类型 0 单选  1 多选 2 输入框 2姓名输入框 3 手机号 4 身份证 5 文字描述 6 日期选择
     */
    private String type;
    /**
     * 题目内容
     */
    private String content;
    /**
     * 序号
     */
    private String sort;
    /**
     * 调查问卷Id
     */
    private String queId;
    /**
     * 问卷调查题目key
     */
    @TableField("`key`")
    private String key;
    private String createBy;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createAt;
    private String updateBy;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date updateAt;
    /**
     * 类型 0 单选  1 多选 2 输入框  3 手机号 4 身份证 5 文字描述 6 日期选择 7 时间选择 8 可换行的输入框 9姓名输入框 10图片选择 11图片上传
     */
    public interface type {
        int danxuan = 0;
        int duoxuan = 1;
        int wenda = 2;
        int phone = 3;
        int card = 4;
        int describe = 5;
        int date = 6;
        int time = 7;
        int input = 8;
        int name = 9;
        int imgselect = 10;
        int imgopload = 11;
    }
}
springcloud_k8s_panzhihuazhihuishequ/service_jinhui_community/src/main/java/com/panzhihua/service_jinhui_community/entity/JinhuiComActQuestnaireSubSelection.java
New file
@@ -0,0 +1,73 @@
package com.panzhihua.service_jinhui_community.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
 * @Author: llming
 * @Description: 问卷题目选项
 */
@Data
@TableName(value = "jinhui_com_act_questnaire_sub_selection")
public class JinhuiComActQuestnaireSubSelection implements Serializable {
    private static final long serialVersionUID = -2083705916360506830L;
    @TableId(type = IdType.AUTO)
    private Long id;
    /**
     * 问卷题目Id
     */
    private String queSubId;
    /**
     * 选项排序
     */
    private String sort;
    /**
     * 选项内容
     */
    private String content;
    /**
     * 选项名
     */
    private String optionName;
    /**
     * 选项类型 0 固定选项 1 自定义选项
     */
    private String type;
    /**
     * 问卷调查Id
     */
    private String queId;
    /**
     * 问卷调查选项key
     */
    @TableField("`key`")
    private String key;
    /**
     * 组件文件上传保存路径
     */
    private String url;
    private String createBy;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createAt;
    private String updateBy;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date updateAt;
}
springcloud_k8s_panzhihuazhihuishequ/service_jinhui_community/src/main/java/com/panzhihua/service_jinhui_community/entity/JinhuiComActWorkGuide.java
@@ -1,6 +1,8 @@
package com.panzhihua.service_jinhui_community.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.google.common.collect.Lists;
import com.panzhihua.common.model.vos.community.ComActWorkGuideMaterialVO;
@@ -24,6 +26,7 @@
    private static final long serialVersionUID = -70884515430727555L;
    @ApiModelProperty(value = "主键")
    @TableId(type = IdType.AUTO)
    private String id;
@@ -78,6 +81,19 @@
    private String jsonObject;
    /**
     * 组件唯一key
     */
    @ApiModelProperty(value = "组件唯一key")
    private String projectKey;
    /**
     * 填报项数量
     */
    @ApiModelProperty(value = "填报项数量")
    private Integer count;
    @ApiModelProperty(value = "是否在线 (0 不在线   1在线)")
    private String isOnLine;
springcloud_k8s_panzhihuazhihuishequ/service_jinhui_community/src/main/java/com/panzhihua/service_jinhui_community/service/impl/JinhuiComActQuestnaireSubSelectionServiceImpl.java
New file
@@ -0,0 +1,16 @@
package com.panzhihua.service_jinhui_community.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.panzhihua.service_jinhui_community.dao.JinhuiComActQuestnaireSubSelectionDao;
import com.panzhihua.service_jinhui_community.entity.JinhuiComActQuestnaireSubSelection;
import org.springframework.stereotype.Service;
/**
 * @Author: llming
 * @Description: 问卷题目
 */
@Service
public class JinhuiComActQuestnaireSubSelectionServiceImpl
    extends ServiceImpl<JinhuiComActQuestnaireSubSelectionDao, JinhuiComActQuestnaireSubSelection> {
}
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();
    }