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(); }