From 7a37c1b60a89e3da9e521c7f4dd7a7b9f43e5646 Mon Sep 17 00:00:00 2001
From: DESKTOP-71BH0QO\L、ming <172680469@qq.com>
Date: 星期五, 09 四月 2021 10:18:28 +0800
Subject: [PATCH] no

---
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActQuestnaireServiceImpl.java |   84 ++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 80 insertions(+), 4 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 4e4aab7..a284e78 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
@@ -1,8 +1,28 @@
 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;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.google.common.collect.Lists;
+import com.panzhihua.common.enums.QuestnaireState;
+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.service_community.dao.ComActQuestnaireAnswerContentDAO;
+import com.panzhihua.service_community.dao.ComActQuestnaireDAO;
+import com.panzhihua.service_community.dao.ComActQuestnaireSubDAO;
+import com.panzhihua.service_community.dao.ComActQuestnaireSubSelectionDAO;
+import com.panzhihua.service_community.model.dos.*;
 import com.panzhihua.service_community.service.ComActQuestnaireService;
 import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.ArrayList;
+import java.util.List;
 
 /**
  * @Author: llming
@@ -10,14 +30,70 @@
  */
 @Service
 public class ComActQuestnaireServiceImpl implements ComActQuestnaireService {
+    @Resource
+    ComActQuestnaireDAO questnaireDAO;
+    @Resource
+    ComActQuestnaireSubDAO questnaireSubDAO;
+    @Resource
+    ComActQuestnaireSubSelectionDAO questnaireSubSelectionDAO;
+    @Resource
+    ComActQuestnaireAnswerContentDAO questnaireAnswerContentDAO;
+    @Resource
+    ComActQuestnaireSubServiceImpl questnaireSubService;
+    @Resource
+    ComActQuestnaireSubSelectionServiceImpl subSelectionService;
+
     @Override
-    public R AddQuestnaire() {
-        return null;
+    public R AddQuestnaire(AddQuestnaireVO addQuestnaireVO, Long communityId, Long userId) {
+        ComActQuestnaireDO comActQuestnaireDO = new ComActQuestnaireDO();
+        comActQuestnaireDO.setTitle(addQuestnaireVO.getQueTitle());
+        comActQuestnaireDO.setQueDescribe(addQuestnaireVO.getQueDescribe());
+        comActQuestnaireDO.setState(QuestnaireState.CONTINUED.getCode());
+        comActQuestnaireDO.setJoinCount(0);
+        comActQuestnaireDO.setCommunityId(communityId);
+        comActQuestnaireDO.setCreatBy(userId);
+        int questnaireId = questnaireDAO.insert(comActQuestnaireDO);
+        addQuestnaireVO.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);
+            int subId = questnaireSubDAO.insert(comActQuestnaireSubDO);
+            ArrayList<ComActQuestnaireSubSelectionDO> subSelectionList = Lists.newArrayList();
+            sub.getQuestnaiteSubSelectionVOS().forEach(subSelect -> {
+                ComActQuestnaireSubSelectionDO subSelectionDO = new ComActQuestnaireSubSelectionDO();
+                subSelectionDO.setQueSubId((long) subId);
+                subSelectionDO.setSort(subSelect.getSort());
+                subSelectionDO.setContent(subSelect.getContent());
+                subSelectionDO.setCreatBy(userId);
+                subSelectionList.add(subSelectionDO);
+            });
+            subSelectionService.saveBatch(subSelectionList);
+        });
+        return R.ok();
     }
 
     @Override
-    public R ListQuestnaire() {
-        return null;
+    public R ListQuestnaire(PageQuestnaireDTO pageQuestnaireDTO) {
+        Page userPage = new Page(pageQuestnaireDTO.getPageNum(), pageQuestnaireDTO.getPageSize());
+        LambdaQueryWrapper<ComActQuestnaireDO> lambdaQueryWrapper = Wrappers.lambdaQuery();
+        if (pageQuestnaireDTO.getTitle() != null) {
+            lambdaQueryWrapper.like(ComActQuestnaireDO::getTitle, pageQuestnaireDTO.getTitle());
+        }
+        if (pageQuestnaireDTO.getTitle() != null) {
+            lambdaQueryWrapper.eq(ComActQuestnaireDO::getState, pageQuestnaireDTO.getState());
+        }
+        if (pageQuestnaireDTO.getParterType() != null) {
+            lambdaQueryWrapper.eq(ComActQuestnaireDO::getParterType, pageQuestnaireDTO.getParterType());
+        }
+        if (pageQuestnaireDTO.getEndTime() != null && pageQuestnaireDTO.getStartTime() != null) {
+            lambdaQueryWrapper.ge(ComActQuestnaireDO::getCreateAt, pageQuestnaireDTO.getStartTime());
+            lambdaQueryWrapper.lt(ComActQuestnaireDO::getCreateAt, pageQuestnaireDTO.getEndTime());
+        }
+        IPage<ComActQuestnaireDO> doPager = questnaireDAO.selectPage(userPage, lambdaQueryWrapper.orderByDesc(ComActQuestnaireDO::getCreateAt));
+        return R.ok(doPager);
     }
 
     @Override

--
Gitblit v1.7.1