From 70d2a5d0f9c6951b2d4cac954041ed73582ff7eb Mon Sep 17 00:00:00 2001
From: liujie <1793218484@qq.com>
Date: 星期一, 09 六月 2025 11:54:00 +0800
Subject: [PATCH] 6.9新增登录失败冻结逻辑

---
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActQuestnaireServiceImpl.java |   49 ++++++++++++++++++++++++++++---------------------
 1 files changed, 28 insertions(+), 21 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 c9c8a1d..0e892a6 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
@@ -151,6 +151,7 @@
                         subSelectionDO.setCreateBy(userId);
                         subSelectionDO.setType(subSelect.getType());
                         subSelectionDO.setKey(subSelect.getKey());
+                        subSelectionDO.setUrl(subSelect.getUrl());
                         subSelectionList.add(subSelectionDO);
                     }
                 }
@@ -191,6 +192,9 @@
                 }
                 if (vo.getAdverPositionApplication().equals(ComActQuestnaireDO.isOk.yes)) {
                     sb.append("首页应用,");
+                }
+                if (vo.getIsCover().equals(ComActQuestnaireDO.isOk.yes)) {
+                    sb.append("设置封面,");
                 }
                 String advertPosition = sb.toString();
                 if (advertPosition.length() > 0) {
@@ -266,6 +270,7 @@
         questnaireDAO.updateById(questnaireDO);
         // 删除原调查问卷题目以及选项,重新进行新增
         questnaireDAO.deleteQuesSubAll(queId);
+        questnaireDAO.deleteQuesSubAll2(queId);
         // 重新新增题目以及题目选项
         if (!questnaiteSubVOS.isEmpty()) {
             questnaiteSubVOS.forEach(sub -> {
@@ -337,8 +342,11 @@
         if (queDO == null) {
             return R.fail("未查询到调查问卷记录");
         }
-        if (!queDO.getState().equals(ComActQuestnaireDO.state.dfb)) {
-            return R.fail("该调查问卷不是待发布状态,不可删除");
+//        if (!queDO.getState().equals(ComActQuestnaireDO.state.dfb) ) {
+
+//        return R.fail("该调查问卷不是待发布状态,不可删除");
+        if (queDO.getState().equals(ComActQuestnaireDO.state.dyz) ) {
+            return R.fail("该调查问卷不是待发布状态或已结束状态,不可删除");
         }
         queDO.setUpdateBy(userId);
         queDO.setUpdateAt(new Date());
@@ -474,26 +482,23 @@
          * 查询题目
          */
         List<ComActQuestnaireSubDO> list = questnaireSubDAO.selectList(
-            new QueryWrapper<ComActQuestnaireSubDO>().lambda().eq(ComActQuestnaireSubDO::getQueId, questId));
+            new QueryWrapper<ComActQuestnaireSubDO>().lambda()
+                    .eq(ComActQuestnaireSubDO::getQueId, questId).orderByAsc(ComActQuestnaireSubDO::getCreateAt));
         List<ComActQuestnaireSubVO> listSubVo = new ArrayList<>();
         list.forEach(subDo -> {
-            ComActQuestnaireSubVO comActQuestnaireSubVO = new ComActQuestnaireSubVO();
-            BeanUtils.copyProperties(subDo, comActQuestnaireSubVO);
-            listSubVo.add(comActQuestnaireSubVO);
+            if(!subDo.getType().equals(ComActQuestnaireSubDO.type.describe)){
+                ComActQuestnaireSubVO comActQuestnaireSubVO = new ComActQuestnaireSubVO();
+                BeanUtils.copyProperties(subDo, comActQuestnaireSubVO);
+                listSubVo.add(comActQuestnaireSubVO);
+            }
         });
         questnaireAnswersDTO.setSubs(listSubVo);
         /**
          * 查询用户回答
          */
-        List<ComActQuestnaireAnswerContentDO> questnaireAnswerContentDOList =
+        List<ComActQuestnaireAnswerContentVO> questnaireAnswerContentDOList =
             questnaireAnswerContentDAO.selectListByQuestnaire(questId);
-        List<ComActQuestnaireAnswerContentVO> vos = new ArrayList<>();
-        questnaireAnswerContentDOList.forEach(dos -> {
-            ComActQuestnaireAnswerContentVO vo = new ComActQuestnaireAnswerContentVO();
-            BeanUtils.copyProperties(dos, vo);
-            vos.add(vo);
-        });
-        questnaireAnswersDTO.setAnswers(vos);
+        questnaireAnswersDTO.setAnswers(questnaireAnswerContentDOList);
 
         return R.ok(questnaireAnswersDTO);
     }
@@ -509,10 +514,10 @@
     @Override
     public R pageQuestnaireAnswer(PageQuestnaireAnswerDTO pageQuestnaireAnswerDTO) {
         if (pageQuestnaireAnswerDTO.getPageNum() == null || pageQuestnaireAnswerDTO.getPageNum().longValue() == 0) {
-            pageQuestnaireAnswerDTO.setPageNum(1l);
+            pageQuestnaireAnswerDTO.setPageNum(1L);
         }
         if (pageQuestnaireAnswerDTO.getPageSize() == null || pageQuestnaireAnswerDTO.getPageSize().longValue() == 0) {
-            pageQuestnaireAnswerDTO.setPageSize(10l);
+            pageQuestnaireAnswerDTO.setPageSize(10L);
         }
         Page userPage = new Page(pageQuestnaireAnswerDTO.getPageNum(), pageQuestnaireAnswerDTO.getPageSize());
         IPage<ComActQuestnaireAnswerContentVO> doPager =
@@ -583,8 +588,7 @@
 
                 Long queSubId = questnaireSubDO.getId();
                 // 根据上传的类型查询不同的题目选项
-                if (questnaiteSub.getType().equals(QuestnaiteSubVO.type.danxuan)) {
-
+                if (questnaiteSub.getType().equals(QuestnaiteSubVO.type.danxuan) || questnaiteSub.getType().equals(QuestnaiteSubVO.type.imgselect)) {
                     // 单选题处理
                     ComActQuestnaireSubSelectionDO subSelectionDO =
                         questnaireSubSelectionDAO.selectOne(new QueryWrapper<ComActQuestnaireSubSelectionDO>().lambda()
@@ -632,7 +636,7 @@
                         answerContentDO.setAnswerContent(subSelectionDO.getContent());
                         answerContentList.add(answerContentDO);
                     }
-                } else if (questnaiteSub.getType().equals(QuestnaiteSubVO.type.wenda)) {
+                } else {
                     // 问答题处理
                     String values = questnaiteSub.getValues();
                     ComActQuestnaireAnswerContentDO answerContentDO = new ComActQuestnaireAnswerContentDO();
@@ -648,8 +652,6 @@
         }
         // 新增用户填写的答卷
         if (!answerContentList.isEmpty()) {
-            answerContentService.saveBatch(answerContentList);
-
             // 更新回答用户数量
             Integer joinCount = questnaireDO.getJoinCount();
             questnaireDO.setJoinCount(joinCount != null ? joinCount + 1 : 1);
@@ -663,6 +665,11 @@
             userAnswerDO.setJsonObject(answerQuestnaireVO.getJsonObject());
             comActQuestnaireUserAnswerMapper.insert(userAnswerDO);
 
+            answerContentList.forEach(answerContent -> {
+                answerContent.setAnswerId(userAnswerDO.getId());
+            });
+            answerContentService.saveBatch(answerContentList);
+
         }
         return R.ok();
     }

--
Gitblit v1.7.1