springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/PageQuestnaireDTO.java
@@ -19,9 +19,9 @@ private Integer state; @ApiModelProperty(value = "问卷参与者类型 0 全部 1 志愿者 2 党员") private Integer parterType; @ApiModelProperty(value = "发布开始时间", example = "1") @ApiModelProperty(value = "发布开始时间") private Date startTime; @ApiModelProperty(value = "发布结束时间", example = "1") @ApiModelProperty(value = "发布结束时间") private Date endTime; @ApiModelProperty(value = "分页-当前页数", example = "1") private Long pageNum; springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/questnaire/QuestnaireVO.java
File was renamed from springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/questnaire/AddQuestnaireVO.java @@ -10,13 +10,17 @@ * @Description: */ @Data public class AddQuestnaireVO { public class QuestnaireVO { @ApiModelProperty(value = "问卷调查Id") private Long queId; @ApiModelProperty(value = "类型 0单选1多选2问答题", example = "0") private int type; private Integer type; @ApiModelProperty(value = "问卷标题") private String queTitle; @ApiModelProperty(value = "问卷描述") private String queDescribe; @ApiModelProperty(value = "问卷参与者类型 0 全部 1 志愿者 2 党员", example = "0") private Integer parterType; @ApiModelProperty(value = "题目", example = "0") private List<QuestnaiteSubVO> questnaiteSubVOS; } springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/questnaire/QuestnaiteSubSelectionVO.java
@@ -9,8 +9,14 @@ */ @Data public class QuestnaiteSubSelectionVO { @ApiModelProperty(value = "问卷题目选项Id") private Long queSubSelectionId; @ApiModelProperty(value = "选项排序") private int sort; private Integer sort; @ApiModelProperty(value = "选项名") private String option; @ApiModelProperty(value = "选项内容") private String content; springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/questnaire/QuestnaiteSubVO.java
@@ -11,6 +11,8 @@ */ @Data public class QuestnaiteSubVO { @ApiModelProperty(value = "问卷题目Id") private Long queSubId; @ApiModelProperty(value = "序号") private int sort; @ApiModelProperty(value = "题目内容") springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/BaseDO.java
@@ -13,7 +13,7 @@ */ @Data public class BaseDO { private Long creatBy; private Long createBy; @TableField(fill = FieldFill.INSERT) private Date createAt; private Long updateBy; springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/ComActQuestnaireDO.java
@@ -38,6 +38,6 @@ /** * 问卷参与者类型 0 全部 1 志愿者 2 党员 */ private Long parterType; private Integer parterType; } springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/ComActQuestnaireSubSelectionDO.java
@@ -21,7 +21,11 @@ /** * 选项排序 */ private int sort; private Integer sort; /** * 选项 */ private String option; /** * 选项内容 */ springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComActQuestnaireService.java
@@ -2,7 +2,7 @@ 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; /** * @Author: llming @@ -11,17 +11,21 @@ public interface ComActQuestnaireService { /** * 新增社区问卷 * * @return */ R AddQuestnaire(AddQuestnaireVO addQuestnaireVO, Long communityId, Long userId); R AddQuestnaire(QuestnaireVO questnaireVO, Long communityId, Long userId); /** * 社区问卷列表 */ R PageQuestnaire(PageQuestnaireDTO pageQuestnaireDTO); /** * 修改问卷状态 */ R editQuestnaire(); R editQuestnaire(QuestnaireVO questnaireVO, Long communityId, Long userId); /** * 删除问卷 */ @@ -34,6 +38,7 @@ /** * 问卷答题详情 * * @param userId 用户ID * @param questId 问卷ID */ 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