罗元桥
2021-08-21 07f4cb2bb4e648dcf4e646cd56404be58505eb81
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActQuestnaireServiceImpl.java
@@ -518,6 +518,7 @@
        Long userId = answerQuestnaireVO.getUserId();
        Long questId = answerQuestnaireVO.getQuestId();
        Date nowDate = new Date();
        ComActQuestnaireDO questnaireDO = questnaireDAO.selectById(questId);
        if (questnaireDO == null) {
            return R.fail("调查问卷不存在!");
@@ -681,6 +682,11 @@
        return R.ok(result);
    }
    /**
     * 问卷调查统计汇总
     * @param summaryDTO   请求参数
     * @return  统计汇总
     */
    @Override
    public R statisticsSummary(StatisticsSummaryDTO summaryDTO){
        IPage<QuestnaireStatisticsSummaryAdminVO> summaryAdminList = questnaireDAO.getStatisticsSummaryAdmin(new Page(summaryDTO.getPageNum(),summaryDTO.getPageSize()),summaryDTO);
@@ -691,9 +697,14 @@
                summary.setTag(BigDecimal.valueOf(summary.getCount()).divide(BigDecimal.valueOf(summary.getAllCount()),2, RoundingMode.HALF_UP).multiply(BigDecimal.valueOf(100)));
            }
        });
        return R.ok(questnaireDAO.getStatisticsSummaryAdmin(new Page(summaryDTO.getPageNum(),summaryDTO.getPageSize()),summaryDTO));
        return R.ok(summaryAdminList);
    }
    /**
     * 问卷调查统计汇总导出数据查询
     * @param questId   调查问卷id
     * @return  调查统计汇总导出数据
     */
    @Override
    public R statisticsSummaryExport(Long questId){
        List<QuestnaireStatisticsSummaryExcelAdminVO> summaryExcelList = questnaireDAO.getStatisticsSummaryExcelAdmin(questId);
@@ -707,12 +718,28 @@
        return R.ok(summaryExcelList);
    }
    /**
     * 问卷调查统计汇总表头统计
     * @param questId   调查问卷id
     * @return  问卷调查统计汇总表头统计数据
     */
    @Override
    public R statisticsSummaryHeader(Long questId){
        QuestnaireStatisticsSummaryHeaderAdminVO summaryHeaderAdminVO = this.questnaireDAO.statisticsSummaryHeader(questId);
    public R statisticsSummaryHeader(Long questId,Long communityId){
        QuestnaireStatisticsSummaryHeaderAdminVO summaryHeaderAdminVO = this.questnaireDAO.statisticsSummaryHeader(questId,communityId);
        if(summaryHeaderAdminVO != null){
            if(!summaryHeaderAdminVO.getUserCount().equals(0)){
                BigDecimal nub1 = BigDecimal.valueOf(summaryHeaderAdminVO.getAllCount());
                BigDecimal nub2 = BigDecimal.valueOf(summaryHeaderAdminVO.getUserCount());
                BigDecimal result = nub1.divide(nub2,2,RoundingMode.HALF_UP).multiply(BigDecimal.valueOf(100));
                summaryHeaderAdminVO.setTag(result);
            }
        }
        return R.ok(summaryHeaderAdminVO);
    }
    /**
     * 定时任务检测待发布,调研中的问卷调查状态
     */
    @Override
    @Transactional(rollbackFor = Exception.class)
    public R timedTaskQuestionnaire(){
@@ -720,7 +747,7 @@
        //查询所有开始时间已经超过当前时间的待发布状态调查问卷
        List<ComActQuestnaireDO> questnaireDOList = questnaireDAO.selectList(new QueryWrapper<ComActQuestnaireDO>().lambda()
                .eq(ComActQuestnaireDO::getState,ComActQuestnaireDO.state.dfb).eq(ComActQuestnaireDO::getIsHide,0)
                .ge(ComActQuestnaireDO::getStartTime,nowDate));
                .le(ComActQuestnaireDO::getStartTime,nowDate));
        questnaireDOList.forEach(questnaire -> {
            questnaire.setState(ComActQuestnaireDO.state.dyz);
            questnaire.setPublishTime(nowDate);
@@ -730,7 +757,7 @@
        //查询所有结束时间已经超过当前时间的调研中状态调查问卷
        List<ComActQuestnaireDO> questnaireList = questnaireDAO.selectList(new QueryWrapper<ComActQuestnaireDO>().lambda()
                .eq(ComActQuestnaireDO::getState,ComActQuestnaireDO.state.dyz).eq(ComActQuestnaireDO::getIsHide,0)
                .ge(ComActQuestnaireDO::getEndTime,nowDate));
                .le(ComActQuestnaireDO::getEndTime,nowDate));
        questnaireList.forEach(questnaire -> {
            questnaire.setState(ComActQuestnaireDO.state.yjs);
            questnaireDAO.updateById(questnaire);
@@ -738,6 +765,11 @@
        return R.ok();
    }
    /**
     * 小程序-新增问卷调查浏览数量
     * @param questId   问卷调查id
     * @return  增加结果
     */
    @Override
    public R addQuestnaireView(Long questId){
        ComActQuestnaireDO questnaireDO = questnaireDAO.selectById(questId);
@@ -748,6 +780,12 @@
        return R.ok();
    }
    /**
     * 小程序-用户弹窗添加不在提醒接口
     * @param questId   问卷id
     * @param userId    用户id
     * @return  添加结果
     */
    @Override
    public R addNoNotice(Long questId,Long userId){
        questnaireDAO.addNoNotice(questId,userId);