From 4cb51a8d6a46993cb30e22dcbaf85424a0ba9d43 Mon Sep 17 00:00:00 2001
From: tangxiaobao <303826152@qq.com>
Date: 星期四, 19 八月 2021 18:14:54 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/test' into txb

---
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActQuestnaireServiceImpl.java |   39 +++++++++++++++++++++++++++++++++++++++
 1 files changed, 39 insertions(+), 0 deletions(-)

diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActQuestnaireServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActQuestnaireServiceImpl.java
index 41299b8..3e92a2d 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActQuestnaireServiceImpl.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActQuestnaireServiceImpl.java
@@ -523,10 +523,32 @@
             return R.fail("调查问卷不存在!");
         }
 
+        if(!questnaireDO.getState().equals(ComActQuestnaireDO.state.dyz)){
+            return R.fail("该调查问卷已结束,不可提交!");
+        }
+
         ComActQuestnaireUserAnswerDO oldUserAnswerDO = comActQuestnaireUserAnswerMapper.selectOne(new QueryWrapper<ComActQuestnaireUserAnswerDO>().lambda()
                 .eq(ComActQuestnaireUserAnswerDO::getQuestnaireId,questId).eq(ComActQuestnaireUserAnswerDO::getUserId,userId));
         if(oldUserAnswerDO != null){
             return R.fail("您已填写该问卷,不可重复提交");
+        }
+
+        //查询填报人员信息
+        R<LoginUserInfoVO> userResult = userService.getUserInfoByUserId(userId + "");
+        if(!R.isOk(userResult)){
+            log.error("填写问卷调查失败,未查询到用户信息");
+            return R.fail("填写失败");
+        }
+        LoginUserInfoVO userInfo = userResult.getData();
+        if(questnaireDO.getForParty().equals(ComActQuestnaireDO.isOk.yes)){
+            if(!userInfo.getIsPartymember().equals(1)){
+                return R.fail("您还未进行党员认证,无法填报");
+            }
+        }
+        if(questnaireDO.getForVolunteer().equals(ComActQuestnaireDO.isOk.yes)){
+            if(!userInfo.getIsVolunteer().equals(1)){
+                return R.fail("您还未进行志愿者认证,无法填报");
+            }
         }
 
         List<ComActQuestnaireAnswerContentDO> answerContentList = new ArrayList<>();
@@ -692,6 +714,7 @@
     }
 
     @Override
+    @Transactional(rollbackFor = Exception.class)
     public R timedTaskQuestionnaire(){
         Date nowDate = new Date();
         //查询所有开始时间已经超过当前时间的待发布状态调查问卷
@@ -715,4 +738,20 @@
         return R.ok();
     }
 
+    @Override
+    public R addQuestnaireView(Long questId){
+        ComActQuestnaireDO questnaireDO = questnaireDAO.selectById(questId);
+        if(questnaireDO != null){
+            questnaireDO.setViewNum(questnaireDO.getViewNum() + 1);
+            questnaireDAO.updateById(questnaireDO);
+        }
+        return R.ok();
+    }
+
+    @Override
+    public R addNoNotice(Long questId,Long userId){
+        questnaireDAO.addNoNotice(questId,userId);
+        return R.ok();
+    }
+
 }

--
Gitblit v1.7.1