From 01a79d5b431b71cc79cf5f6cc92cd4f3432781dd Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期二, 30 四月 2024 12:39:54 +0800
Subject: [PATCH] 代码提交

---
 smartor/src/main/java/com/smartor/service/impl/SvyLibTopicServiceImpl.java |  126 +++++++++++++++++++++++++++++++++--------
 1 files changed, 100 insertions(+), 26 deletions(-)

diff --git a/smartor/src/main/java/com/smartor/service/impl/SvyLibTopicServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/SvyLibTopicServiceImpl.java
index 29b9442..1c04c30 100644
--- a/smartor/src/main/java/com/smartor/service/impl/SvyLibTopicServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/SvyLibTopicServiceImpl.java
@@ -1,96 +1,170 @@
 package com.smartor.service.impl;
 
-import java.util.List;
+import java.io.IOException;
+import java.util.*;
+import java.util.stream.Collectors;
+
+import com.ruoyi.common.core.domain.entity.SysUser;
 import com.ruoyi.common.utils.DateUtils;
+import com.ruoyi.common.utils.StringUtils;
+import com.smartor.domain.*;
+import com.smartor.mapper.SvyLibTopicoptionMapper;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.catalina.User;
+import org.apache.commons.collections4.CollectionUtils;
+import org.apache.commons.lang3.ObjectUtils;
+import org.apache.poi.ss.usermodel.Row;
+import org.apache.poi.ss.usermodel.Sheet;
+import org.apache.poi.ss.usermodel.Workbook;
+import org.apache.poi.xssf.usermodel.XSSFWorkbook;
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import com.smartor.mapper.SvyLibTopicMapper;
-import com.smartor.domain.SvyLibTopic;
 import com.smartor.service.ISvyLibTopicService;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.web.multipart.MultipartFile;
 
 /**
  * 闂嵎棰樼洰Service涓氬姟灞傚鐞�
- * 
+ *
  * @author ruoyi
- * @date 2023-03-02
+ * @date 2023-03-03
  */
+@Slf4j
 @Service
-public class SvyLibTopicServiceImpl implements ISvyLibTopicService 
-{
+public class SvyLibTopicServiceImpl implements ISvyLibTopicService {
     @Autowired
     private SvyLibTopicMapper svyLibTopicMapper;
 
+    @Autowired
+    private SvyLibTopicoptionMapper svyLibTopicoptionMapper;
+
     /**
      * 鏌ヨ闂嵎棰樼洰
-     * 
+     *
      * @param topicid 闂嵎棰樼洰涓婚敭
      * @return 闂嵎棰樼洰
      */
     @Override
-    public SvyLibTopic selectSvyLibTopicByTopicid(Long topicid)
-    {
+    public SvyLibTopic selectSvyLibTopicByTopicid(Long topicid) {
         return svyLibTopicMapper.selectSvyLibTopicByTopicid(topicid);
     }
 
     /**
      * 鏌ヨ闂嵎棰樼洰鍒楄〃
-     * 
+     *
      * @param svyLibTopic 闂嵎棰樼洰
      * @return 闂嵎棰樼洰
      */
     @Override
-    public List<SvyLibTopic> selectSvyLibTopicList(SvyLibTopic svyLibTopic)
-    {
-        return svyLibTopicMapper.selectSvyLibTopicList(svyLibTopic);
+    public List<SvyLibTopic> selectSvyLibTopicList(SvyLibTopic svyLibTopic) {
+        //娣诲姞棰樼洰
+
+        List<SvyLibTopic> svyLibTopics = svyLibTopicMapper.selectSvyLibTopicList(svyLibTopic);
+        //鑾峰彇棰樼洰閫夐」
+
+        for (int j = 0; j < svyLibTopics.size(); j++) {
+            log.info("闂id涓猴細{}", svyLibTopics.get(j).getSvyTopicId());
+            if (StringUtils.isNotEmpty(svyLibTopics.get(j).getTopictype()) && svyLibTopics.get(j).getTopictype().equals("3") || svyLibTopics.get(j).getTopicid() == null) {
+                //浣滅瓟棰橈紝涓嶉渶瑕侀�夐」
+                continue;
+            } else {
+                SvyLibTopicoption svyLibTopicoption = new SvyLibTopicoption();
+                svyLibTopicoption.setTopicid(svyLibTopics.get(j).getTopicid());
+                List<SvyLibTopicoption> svyLibTopicoptions = svyLibTopicoptionMapper.selectSvyLibTopicoptionList(svyLibTopicoption);
+                //灏嗘煡璇㈠嚭鐨勯�夐」鐩斁鍒伴鐩腑
+                svyLibTopics.get(j).setSvyLibTopicoptions(svyLibTopicoptions);
+            }
+        }
+        return svyLibTopics;
     }
 
     /**
      * 鏂板闂嵎棰樼洰
-     * 
+     *
      * @param svyLibTopic 闂嵎棰樼洰
      * @return 缁撴灉
      */
     @Override
-    public int insertSvyLibTopic(SvyLibTopic svyLibTopic)
-    {
+    public int insertSvyLibTopic(SvyLibTopic svyLibTopic) {
         svyLibTopic.setCreateTime(DateUtils.getNowDate());
         return svyLibTopicMapper.insertSvyLibTopic(svyLibTopic);
     }
 
+    @Transactional(rollbackFor = Exception.class)
+    @Override
+    public Integer saveOrUpdateTopic(SvyLibTopic svyLibTopic) {
+        Integer i = null;
+
+        //瀵归鐩繘琛屽鐞�
+        if (svyLibTopic.getIsoperation() != null && svyLibTopic.getIsoperation() == 1) {
+            //鏂板
+            i = svyLibTopicMapper.insertSvyLibTopic(svyLibTopic);
+        } else if (svyLibTopic.getIsoperation() != null && svyLibTopic.getIsoperation() == 2) {
+            //淇敼
+            i = svyLibTopicMapper.updateSvyLibTopic(svyLibTopic);
+        }
+
+        //瀵归鐩�夐」杩涜澶勭悊
+        if (CollectionUtils.isNotEmpty(svyLibTopic.getSvyLibTopicoptions())) {
+            for (SvyLibTopicoption svyLibTopicoption : svyLibTopic.getSvyLibTopicoptions()) {
+                if (svyLibTopicoption.getIsoperation() != null && svyLibTopicoption.getIsoperation() == 1) {
+                    //鏂板
+                    svyLibTopicoption.setTopicid(svyLibTopic.getTopicid());
+                    svyLibTopicoption.setCreateTime(new Date());
+                    svyLibTopicoptionMapper.insertSvyLibTopicoption(svyLibTopicoption);
+                } else if (svyLibTopicoption.getIsoperation() != null && svyLibTopicoption.getIsoperation() == 2) {
+                    //淇敼
+                    svyLibTopicoption.setTopicid(svyLibTopic.getTopicid());
+                    svyLibTopicoption.setUpdateTime(new Date());
+                    svyLibTopicoptionMapper.updateSvyLibTopicoption(svyLibTopicoption);
+                } else if (svyLibTopicoption.getIsoperation() != null && svyLibTopicoption.getIsoperation() == 3) {
+                    //鍒犻櫎
+                    svyLibTopicoptionMapper.deleteSvyLibTopicoptionByOptionid(svyLibTopicoption.getOptionid());
+                }
+            }
+        }
+        return i;
+    }
+
     /**
      * 淇敼闂嵎棰樼洰
-     * 
+     *
      * @param svyLibTopic 闂嵎棰樼洰
      * @return 缁撴灉
      */
     @Override
-    public int updateSvyLibTopic(SvyLibTopic svyLibTopic)
-    {
+    public int updateSvyLibTopic(SvyLibTopic svyLibTopic) {
         svyLibTopic.setUpdateTime(DateUtils.getNowDate());
         return svyLibTopicMapper.updateSvyLibTopic(svyLibTopic);
     }
 
     /**
      * 鎵归噺鍒犻櫎闂嵎棰樼洰
-     * 
+     *
      * @param topicids 闇�瑕佸垹闄ょ殑闂嵎棰樼洰涓婚敭
      * @return 缁撴灉
      */
     @Override
-    public int deleteSvyLibTopicByTopicids(Long[] topicids)
-    {
-        return svyLibTopicMapper.deleteSvyLibTopicByTopicids(topicids);
+    public int deleteSvyLibTopicByTopicids(Long[] topicids) {
+        Integer i = null;
+        for (Long topicid : topicids) {
+            i = svyLibTopicMapper.deleteSvyLibTopicByTopicid(topicid);
+        }
+        return i;
     }
 
     /**
      * 鍒犻櫎闂嵎棰樼洰淇℃伅
-     * 
+     *
      * @param topicid 闂嵎棰樼洰涓婚敭
      * @return 缁撴灉
      */
     @Override
-    public int deleteSvyLibTopicByTopicid(Long topicid)
-    {
+    public int deleteSvyLibTopicByTopicid(Long topicid) {
         return svyLibTopicMapper.deleteSvyLibTopicByTopicid(topicid);
     }
+
+
 }

--
Gitblit v1.9.3