DESKTOP-71BH0QO\L、ming
2021-04-13 0c0cf5c7e0d35a868a185d09bc8f09e21fb630e0
Add:
5个文件已修改
1个文件已删除
3个文件已添加
167 ■■■■ 已修改文件
springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/CommunityQuestnaireApi.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/questnaire/ExportAnswerResultVo.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/questnaire/UserAnswerContentVO.java 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/questnaire/UsersAnswerQuestnaireVO.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/community/CommunityService.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/CommunityApi.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComActQuestnaireService.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActQuestnaireAnswerContentServiceImpl.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActQuestnaireServiceImpl.java 53 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/CommunityQuestnaireApi.java
@@ -10,6 +10,7 @@
import com.panzhihua.common.model.vos.community.ComActQuestnaireVO;
import com.panzhihua.common.model.vos.community.ComCvtBusinessVO;
import com.panzhihua.common.model.vos.community.questnaire.QuestnaireVO;
import com.panzhihua.common.model.vos.community.questnaire.UsersAnswerQuestnaireVO;
import com.panzhihua.common.service.community.CommunityService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@@ -65,4 +66,12 @@
        return communityService.qaQeustAnswerDetails(pageQuestnaireSubDetailsDTO);
    }
    @ApiOperation(value = "居民填写问卷调查问卷")
    @GetMapping("/stat/answer")
    public R usersAnsweQuestnaire(@RequestBody UsersAnswerQuestnaireVO usersAnswerQuestnaireVO) {
        LoginUserInfoVO loginUserInfo = this.getLoginUserInfo();
        return communityService.usersAnsweQuestnaire(usersAnswerQuestnaireVO, loginUserInfo.getUserId());
    }
}
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/questnaire/ExportAnswerResultVo.java
File was deleted
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/questnaire/UserAnswerContentVO.java
New file
@@ -0,0 +1,26 @@
package com.panzhihua.common.model.vos.community.questnaire;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
 * @Author: llming
 * @Description:
 */
@ApiModel("用户填写选项情况")
@Data
public class UserAnswerContentVO {
    @ApiModelProperty(value = "问卷题目Id")
    private Long subId;
    @ApiModelProperty(value = "问卷回答选项", example = "选项")
    private String choice;
    @ApiModelProperty(value = "问卷回答内容")
    private String answerContent;
    @ApiModelProperty(value = "选项类型 0 固定选项 1 自定义选项", example = "0")
    private Integer type;
}
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/questnaire/UsersAnswerQuestnaireVO.java
New file
@@ -0,0 +1,22 @@
package com.panzhihua.common.model.vos.community.questnaire;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
 * @Author: llming
 * @Description:
 */
@Data
@ApiModel("用户填写问卷情况")
public class UsersAnswerQuestnaireVO {
    @ApiModelProperty(value = "调查问卷Id")
    private Long questId;
    @ApiModelProperty(value = "答题情况")
    private List<UserAnswerContentVO> answerContentVOList;
}
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/community/CommunityService.java
@@ -9,6 +9,7 @@
import com.panzhihua.common.model.vos.community.*;
import com.panzhihua.common.model.vos.community.questnaire.EditComActQuestnaireVo;
import com.panzhihua.common.model.vos.community.questnaire.QuestnaireVO;
import com.panzhihua.common.model.vos.community.questnaire.UsersAnswerQuestnaireVO;
import com.panzhihua.common.model.vos.user.UserPhoneVO;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*;
@@ -1745,4 +1746,12 @@
    @PostMapping("/questnaire/pagequestnaireanswer")
    R pageQuestnaireAnswer(@RequestBody PageQuestnaireAnswerDTO pageQuestnaireAnswerDTO);
    /**
     * 居民填写问卷调查问卷
     * @param usersAnswerQuestnaireVO 填写情况
     */
    @PostMapping("/questnaire/usersanswequestnaire")
    R usersAnsweQuestnaire(@RequestBody UsersAnswerQuestnaireVO usersAnswerQuestnaireVO, @RequestParam("userId") Long userId);
}
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/CommunityApi.java
@@ -10,6 +10,7 @@
import com.panzhihua.common.model.vos.community.*;
import com.panzhihua.common.model.vos.community.questnaire.EditComActQuestnaireVo;
import com.panzhihua.common.model.vos.community.questnaire.QuestnaireVO;
import com.panzhihua.common.model.vos.community.questnaire.UsersAnswerQuestnaireVO;
import com.panzhihua.common.model.vos.user.UserPhoneVO;
import com.panzhihua.service_community.model.dos.ComActActPrizeDO;
import com.panzhihua.service_community.model.dos.ComActDynDO;
@@ -1419,4 +1420,13 @@
        return comActQuestnaireService.pageQuestnaireAnswer(pageQuestnaireAnswerDTO);
    }
    /**
     * 居民填写问卷调查问卷
     * @param usersAnswerQuestnaireVO
     */
    @PostMapping("questnaire/usersanswequestnaire")
    public R usersAnsweQuestnaire(@RequestBody UsersAnswerQuestnaireVO usersAnswerQuestnaireVO,@RequestParam("userId") Long userId){
        return comActQuestnaireService.usersAnsweQuestnaire(usersAnswerQuestnaireVO,userId);
    }
}
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComActQuestnaireService.java
@@ -6,6 +6,7 @@
import com.panzhihua.common.model.vos.R;
import com.panzhihua.common.model.vos.community.questnaire.EditComActQuestnaireVo;
import com.panzhihua.common.model.vos.community.questnaire.QuestnaireVO;
import com.panzhihua.common.model.vos.community.questnaire.UsersAnswerQuestnaireVO;
/**
 * @Author: llming
@@ -85,4 +86,12 @@
     * @return 分页信息
     */
    R pageQuestnaireAnswer(PageQuestnaireAnswerDTO pageQuestnaireAnswerDTO);
    /**
     * 居民填写问卷调查问卷
     * @param usersAnswerQuestnaireVO
     * @param userId
     * @return
     */
    R usersAnsweQuestnaire(UsersAnswerQuestnaireVO usersAnswerQuestnaireVO, Long userId);
}
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActQuestnaireAnswerContentServiceImpl.java
New file
@@ -0,0 +1,18 @@
package com.panzhihua.service_community.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.panzhihua.service_community.dao.ComActQuestnaireAnswerContentDAO;
import com.panzhihua.service_community.dao.ComActQuestnaireSubDAO;
import com.panzhihua.service_community.model.dos.ComActQuestnaireAnswerContentDO;
import com.panzhihua.service_community.model.dos.ComActQuestnaireSubDO;
import org.springframework.stereotype.Service;
/**
 * @Author: llming
 * @Description: 问卷题目
 */
@Service
public class ComActQuestnaireAnswerContentServiceImpl extends ServiceImpl<ComActQuestnaireAnswerContentDAO, ComActQuestnaireAnswerContentDO> {
}
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActQuestnaireServiceImpl.java
@@ -1,6 +1,7 @@
package com.panzhihua.service_community.service.impl;
import java.util.*;
import java.util.stream.Collectors;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -52,6 +53,8 @@
    ComActQuestnaireSubServiceImpl questnaireSubService;
    @Resource
    ComActQuestnaireSubSelectionServiceImpl subSelectionService;
    @Resource
    ComActQuestnaireAnswerContentServiceImpl answerContentService;
    @Override
    public R addQuestnaire(QuestnaireVO questnaireVO, Long communityId, Long userId) {
@@ -176,7 +179,7 @@
    }
    @Override
    public R statQuestnaire(Long questId){
    public R statQuestnaire(Long questId) {
        ComActQuestnaireDO comActQuestnaireDO = questnaireDAO.selectOne(new QueryWrapper<ComActQuestnaireDO>().lambda().eq(ComActQuestnaireDO::getId, questId).eq(ComActQuestnaireDO::getIsHide, 0));
        QuestnaireAnswerStatVO usersAnswerStatVO = new QuestnaireAnswerStatVO();
@@ -193,7 +196,7 @@
        List<UsersSubAnswerStatVO> usersSubAnswerStatVOList = new ArrayList<>();
        comActQuestnaireSubDOList.forEach(comActQuestnaireSubDO->{
        comActQuestnaireSubDOList.forEach(comActQuestnaireSubDO -> {
            UsersSubAnswerStatVO usersSubAnswerStatVO = new UsersSubAnswerStatVO();
            ComActQuestnaireSubVO comActQuestnaireSubVO = new ComActQuestnaireSubVO();
@@ -203,13 +206,13 @@
            List<UserSubAnswerSelectionStatVO> userSubAnswerSelectionStatVOList = new ArrayList<>();
            usersSubAnswerStatVO.setTotal(0);
            usearSubAnswerSelectionStatVOList.forEach(stat ->{
                if(stat.getSubId()==comActQuestnaireSubDO.getId()){
            usearSubAnswerSelectionStatVOList.forEach(stat -> {
                if (stat.getSubId() == comActQuestnaireSubDO.getId()) {
                    userSubAnswerSelectionStatVOList.add(stat);
                }
            });
            usersSubAnswerStatVO.setUsersAnswer(userSubAnswerSelectionStatVOList);
            Integer count = questnaireAnswerContentDAO.selectCount(new QueryWrapper<ComActQuestnaireAnswerContentDO>().select(" DISTINCT sub_id, user_id ").lambda().eq(ComActQuestnaireAnswerContentDO::getSubId,comActQuestnaireSubDO.getId()));
            Integer count = questnaireAnswerContentDAO.selectCount(new QueryWrapper<ComActQuestnaireAnswerContentDO>().select(" DISTINCT sub_id, user_id ").lambda().eq(ComActQuestnaireAnswerContentDO::getSubId, comActQuestnaireSubDO.getId()));
            usersSubAnswerStatVO.setTotal(count);
            usersSubAnswerStatVOList.add(usersSubAnswerStatVO);
        });
@@ -225,8 +228,8 @@
    @Override
    public R answerInfoQuestnaire(Long userId, Long questId) {
        ComActQuestnaireDO comActQuestnaireDO = questnaireDAO.selectOne(new QueryWrapper<ComActQuestnaireDO>().lambda().eq(ComActQuestnaireDO::getId, questId).eq(ComActQuestnaireDO::getIsHide, 0));
        if(comActQuestnaireDO==null){
            return  R.fail("问卷不存在!");
        if (comActQuestnaireDO == null) {
            return R.fail("问卷不存在!");
        }
        UsersAnswerVO usersAnswerVO = new UsersAnswerVO();
@@ -238,7 +241,7 @@
        list.sort(Comparator.comparing(ComActQuestnaireSubDO::getSort));
        List<UsersSubAnswerVO> usersSubAnswerVOList = new ArrayList<>();
        list.forEach(comActQuestnaireSubDO ->{
        list.forEach(comActQuestnaireSubDO -> {
                    UsersSubAnswerVO usersSubAnswerVO = new UsersSubAnswerVO();
                    //问卷调查题目
                    ComActQuestnaireSubVO comActQuestnaireSubVO = new ComActQuestnaireSubVO();
@@ -259,7 +262,7 @@
                    });
                    usersSubAnswerVO.setQuestSelectionList(comActQuestnaireSubSelectionVOs);
                    //用户回答
                    if(userId!=null) {
                    if (userId != null) {
                        List<ComActQuestnaireAnswerContentDO> questnaireAnswerContentDOList =
                                questnaireAnswerContentDAO.selectList(new QueryWrapper<ComActQuestnaireAnswerContentDO>().lambda().eq(ComActQuestnaireAnswerContentDO::getUserId, userId)
                                        .eq(ComActQuestnaireAnswerContentDO::getSubId, subId));
@@ -289,7 +292,7 @@
         */
        List<ComActQuestnaireSubDO> list = questnaireSubDAO.selectList(new QueryWrapper<ComActQuestnaireSubDO>().lambda().eq(ComActQuestnaireSubDO::getQueId, questId));
        List<ComActQuestnaireSubVO> listSubVo = new ArrayList<>();
        list.forEach(subDo->{
        list.forEach(subDo -> {
            ComActQuestnaireSubVO comActQuestnaireSubVO = new ComActQuestnaireSubVO();
            BeanUtils.copyProperties(subDo, comActQuestnaireSubVO);
            listSubVo.add(comActQuestnaireSubVO);
@@ -300,7 +303,7 @@
         */
        List<ComActQuestnaireAnswerContentDO> questnaireAnswerContentDOList = questnaireAnswerContentDAO.selectListByQuestnaire(questId);
        List<ComActQuestnaireAnswerContentVO> vos = new ArrayList<>();
        questnaireAnswerContentDOList.forEach(dos ->{
        questnaireAnswerContentDOList.forEach(dos -> {
            ComActQuestnaireAnswerContentVO vo = new ComActQuestnaireAnswerContentVO();
            BeanUtils.copyProperties(dos, vo);
            vos.add(vo);
@@ -325,4 +328,32 @@
        IPage<ComActQuestnaireAnswerContentVO> doPager = questnaireAnswerContentDAO.selectAnswersByPage(userPage, pageQuestnaireAnswerDTO);
        return R.ok(doPager);
    }
    @Override
    public R usersAnsweQuestnaire(UsersAnswerQuestnaireVO answerQuestnaireVO, Long userId) {
        if (answerQuestnaireVO == null || answerQuestnaireVO.getAnswerContentVOList() == null) {
            return R.fail(500, "数据为空!");
        }
        ComActQuestnaireDO questnaireDO = questnaireDAO.selectById(answerQuestnaireVO.getQuestId());
        if (questnaireDO == null) {
            return R.fail(500, "调查问卷不存在!");
        }
        LambdaQueryWrapper<ComActQuestnaireSubDO> subQuery = new LambdaQueryWrapper<ComActQuestnaireSubDO>();
        subQuery.eq(ComActQuestnaireSubDO::getQueId,answerQuestnaireVO.getQuestId());
        List<ComActQuestnaireSubDO> subDOS = questnaireSubDAO.selectList(subQuery);
        List<Long> subIds = subDOS.stream().map(ComActQuestnaireSubDO::getId).collect(Collectors.toList());
        List<UserAnswerContentVO> answerContentVOList = answerQuestnaireVO.getAnswerContentVOList();
        List<ComActQuestnaireAnswerContentDO> answerContentDOList = Lists.newArrayList();
        for (UserAnswerContentVO answerContent:answerContentVOList) {
            ComActQuestnaireAnswerContentDO answerContentDO = new ComActQuestnaireAnswerContentDO();
            boolean b = subIds.stream().anyMatch(a -> a.equals(answerContent.getSubId()));
            if (!b) {
                throw new ServiceException("500", "调查问卷题目不存在!");
            }
            BeanUtils.copyProperties(answerContentDO,answerContent);
            answerContentDOList.add(answerContentDO);
        }
        answerContentService.saveBatch(answerContentDOList);
        return R.ok();
    }
}