From a0bcee3aa22b79f592c44cdb3dcdbd681490f265 Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期一, 15 一月 2024 10:34:31 +0800
Subject: [PATCH] 代码提交

---
 smartor/src/main/java/com/smartor/service/impl/SvyLibTopicServiceImpl.java |  270 ++++++++++++-----------------------------------------
 1 files changed, 63 insertions(+), 207 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 f0e7adc..1c04c30 100644
--- a/smartor/src/main/java/com/smartor/service/impl/SvyLibTopicServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/SvyLibTopicServiceImpl.java
@@ -9,6 +9,7 @@
 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;
@@ -16,6 +17,7 @@
 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;
@@ -29,6 +31,7 @@
  * @author ruoyi
  * @date 2023-03-03
  */
+@Slf4j
 @Service
 public class SvyLibTopicServiceImpl implements ISvyLibTopicService {
     @Autowired
@@ -56,7 +59,25 @@
      */
     @Override
     public List<SvyLibTopic> selectSvyLibTopicList(SvyLibTopic svyLibTopic) {
-        return svyLibTopicMapper.selectSvyLibTopicList(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;
     }
 
     /**
@@ -69,6 +90,42 @@
     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;
     }
 
     /**
@@ -91,7 +148,11 @@
      */
     @Override
     public int deleteSvyLibTopicByTopicids(Long[] topicids) {
-        return svyLibTopicMapper.deleteSvyLibTopicByTopicids(topicids);
+        Integer i = null;
+        for (Long topicid : topicids) {
+            i = svyLibTopicMapper.deleteSvyLibTopicByTopicid(topicid);
+        }
+        return i;
     }
 
     /**
@@ -103,211 +164,6 @@
     @Override
     public int deleteSvyLibTopicByTopicid(Long topicid) {
         return svyLibTopicMapper.deleteSvyLibTopicByTopicid(topicid);
-    }
-
-    /**
-     * 鎵归噺瀵煎叆闂棶棰樼洰
-     *
-     * @param multipartFile
-     * @return
-     */
-    @Override
-    @Transactional
-    public List<SvyLibTopicRes> importLitTopic(SysUser user, MultipartFile multipartFile) {
-        List<SvyLibTopicRes> svyLibTopicErrors = new ArrayList<>();
-
-        try {
-            Workbook workbook = new XSSFWorkbook(multipartFile.getInputStream());
-            Sheet sheet = workbook.getSheetAt(0);
-
-            //闂嵎棰樼洰瀵硅薄
-            SvyLibTopic svyLibTopic = new SvyLibTopic();
-
-
-            for (int i = sheet.getFirstRowNum() + 1; i < sheet.getLastRowNum(); i++) {
-                SvyLibTopicRes svyLibTopicRes = new SvyLibTopicRes();
-
-                Row row = sheet.getRow(i);
-                //濡傛灉琛屼负绌猴紝杩涜涓嬩竴娆″惊鐜�
-                if (ObjectUtils.isEmpty(row.getCell(0)) && ObjectUtils.isEmpty(row.getCell(1)) && ObjectUtils.isEmpty(row.getCell(2))) {
-                    continue;
-                }
-                //鍒ゆ柇鏁版嵁鏄惁鏈夐棶棰�
-                svyLibTopicRes.setTopic(row.getCell(0).toString());
-                if (ObjectUtils.isEmpty(row.getCell(0)) || StringUtils.isEmpty(row.getCell(0).toString())) {
-                    svyLibTopicRes.setRemark("棰樼洰涓虹┖,");
-                } else {
-                    //鍒ゆ柇涓�涓嬭棰樻槸鍚﹀凡缁忓湪琛ㄩ噷鍑虹幇
-                    SvyLibTopic svyLibTopic1 = new SvyLibTopic();
-                    svyLibTopic1.setTopic(row.getCell(0).toString());
-                    List<SvyLibTopic> svyLibTopics = svyLibTopicMapper.selectSvyLibTopicList(svyLibTopic1);
-                    if (svyLibTopics.size() > 0) {
-                        //宸茬粡瀛樺湪浜嗭紝灏变笉瀛樹簡
-                        continue;
-                    }
-                }
-                svyLibTopicRes.setTag(row.getCell(1).toString());
-                if (ObjectUtils.isEmpty(row.getCell(1)) || StringUtils.isEmpty(row.getCell(1).toString())) {
-                    svyLibTopicRes.setRemark(StringUtils.isNotEmpty(svyLibTopicRes.getRemark()) ? svyLibTopicRes.getRemark() : "" + "绫诲埆涓虹┖,");
-                }
-                svyLibTopicRes.setTopictype(row.getCell(2).toString());
-                if (ObjectUtils.isEmpty(row.getCell(2)) || StringUtils.isEmpty(row.getCell(2).toString())) {
-                    svyLibTopicRes.setRemark(StringUtils.isNotEmpty(svyLibTopicRes.getRemark()) ? svyLibTopicRes.getRemark() : "" + "棰樼洰绫诲瀷涓虹┖,");
-                }
-                if (ObjectUtils.isNotEmpty(row.getCell(3))) {
-                    svyLibTopicRes.setAnswer(row.getCell(3).toString());
-                }
-                if (ObjectUtils.isNotEmpty(row.getCell(4))) {
-                    svyLibTopicRes.setOptionA(row.getCell(4).toString());
-                }
-                if (ObjectUtils.isNotEmpty(row.getCell(5))) {
-                    svyLibTopicRes.setOptionB(row.getCell(5).toString());
-                }
-                if (ObjectUtils.isNotEmpty(row.getCell(6))) {
-                    svyLibTopicRes.setOptionC(row.getCell(6).toString());
-                }
-                if (ObjectUtils.isNotEmpty(row.getCell(7))) {
-                    svyLibTopicRes.setOptionD(row.getCell(7).toString());
-                }
-                if (ObjectUtils.isNotEmpty(row.getCell(8))) {
-                    svyLibTopicRes.setScore(row.getCell(8).toString());
-                }
-                if (ObjectUtils.isNotEmpty(row.getCell(9))) {
-                    svyLibTopicRes.setScore(row.getCell(9).toString());
-                }
-                if (ObjectUtils.isNotEmpty(row.getCell(10))) {
-                    svyLibTopicRes.setScore(row.getCell(10).toString());
-                }
-                if (ObjectUtils.isNotEmpty(row.getCell(11))) {
-                    svyLibTopicRes.setScore(row.getCell(11).toString());
-                }
-                if (ObjectUtils.isNotEmpty(row.getCell(12))) {
-                    svyLibTopicRes.setScore(row.getCell(12).toString());
-                }
-                if (StringUtils.isNotEmpty(svyLibTopicRes.getRemark())) {
-                    //璇存槑璇ヨ鏁版嵁鏈夐棶棰�
-                    svyLibTopicErrors.add(svyLibTopicRes);
-                    continue;
-                }
-
-                //鏁版嵁娌℃湁闂锛屽紑濮嬫彃琛�
-                svyLibTopic.setTopic(row.getCell(0).toString());
-                if (row.getCell(2).toString().equals("鍗曢��")) {
-                    svyLibTopic.setTopictype(1L);
-                } else if (row.getCell(2).toString().equals("澶氶��")) {
-                    svyLibTopic.setTopictype(2L);
-                } else {
-                    svyLibTopic.setTopictype(3L);
-                }
-                svyLibTopic.setTopiccode(UUID.randomUUID().toString().replace("-", ""));
-                //棰樼洰绫诲埆
-                svyLibTopic.setTag(row.getCell(1).toString());
-                svyLibTopic.setCreateBy(user.getUserName());
-                svyLibTopic.setOrgid(user.getDeptId().toString());
-                svyLibTopic.setUpdateBy(user.getUserName());
-                svyLibTopic.setUpdateTime(new Date());
-                svyLibTopic.setCreateTime(new Date());
-                svyLibTopic.setDelFlag("0");
-                //鏂板棰樼洰琛�
-                svyLibTopicMapper.insertSvyLibTopic(svyLibTopic);
-
-                //鏂板棰樼洰閫夐」琛�
-                SvyLibTopicoption svyLibTopicoption = new SvyLibTopicoption();
-                svyLibTopicoption.setTopicid(svyLibTopic.getTopicid());
-                svyLibTopicoption.setTopictype(svyLibTopic.getTopictype());
-                svyLibTopicoption.setOptioncode(UUID.randomUUID().toString().replace("-", ""));
-                svyLibTopicoption.setCreateBy(user.getUserName());
-                svyLibTopicoption.setCreateTime(new Date());
-                svyLibTopicoption.setUpdateBy(user.getUserName());
-                svyLibTopicoption.setUpdateTime(new Date());
-                svyLibTopicoption.setDelFlag("0");
-                if (svyLibTopicoption.getTopictype() == 3) {
-                    //瑙g瓟棰橈紝涓嶉渶瑕佸啀璁剧疆閫夐」
-                    svyLibTopicoptionMapper.insertSvyLibTopicoption(svyLibTopicoption);
-                } else {
-                    if (ObjectUtils.isNotEmpty(row.getCell(4))) {
-                        if (StringUtils.isNotEmpty(row.getCell(4).toString())) {
-                            svyLibTopicoption.setOptioncode("A");
-                            svyLibTopicoption.setOptioncontent(row.getCell(4).toString());
-                            svyLibTopicoption.setOptionid(null);
-                            svyLibTopicoptionMapper.insertSvyLibTopicoption(svyLibTopicoption);
-                        }
-                    }
-                    if (ObjectUtils.isNotEmpty(row.getCell(5))) {
-                        if (StringUtils.isNotEmpty(row.getCell(5).toString())) {
-                            svyLibTopicoption.setOptioncode("B");
-                            svyLibTopicoption.setOptioncontent(row.getCell(5).toString());
-                            svyLibTopicoption.setOptionid(null);
-                            svyLibTopicoptionMapper.insertSvyLibTopicoption(svyLibTopicoption);
-                        }
-                    }
-                    if (ObjectUtils.isNotEmpty(row.getCell(6))) {
-                        if (StringUtils.isNotEmpty(row.getCell(6).toString())) {
-                            svyLibTopicoption.setOptioncode("C");
-                            svyLibTopicoption.setOptioncontent(row.getCell(6).toString());
-                            svyLibTopicoption.setOptionid(null);
-                            svyLibTopicoptionMapper.insertSvyLibTopicoption(svyLibTopicoption);
-                        }
-                    }
-                    if (ObjectUtils.isNotEmpty(row.getCell(7))) {
-                        if (StringUtils.isNotEmpty(row.getCell(7).toString())) {
-                            svyLibTopicoption.setOptioncode("D");
-                            svyLibTopicoption.setOptioncontent(row.getCell(7).toString());
-                            svyLibTopicoption.setOptionid(null);
-                            svyLibTopicoptionMapper.insertSvyLibTopicoption(svyLibTopicoption);
-                        }
-                    }
-                    if (ObjectUtils.isNotEmpty(row.getCell(8))) {
-                        if (StringUtils.isNotEmpty(row.getCell(8).toString())) {
-                            svyLibTopicoption.setOptioncode("E");
-                            svyLibTopicoption.setOptioncontent(row.getCell(8).toString());
-                            svyLibTopicoption.setOptionid(null);
-                            svyLibTopicoptionMapper.insertSvyLibTopicoption(svyLibTopicoption);
-                        }
-                    }
-                    if (ObjectUtils.isNotEmpty(row.getCell(9))) {
-                        if (StringUtils.isNotEmpty(row.getCell(9).toString())) {
-                            svyLibTopicoption.setOptioncode("F");
-                            svyLibTopicoption.setOptioncontent(row.getCell(9).toString());
-                            svyLibTopicoption.setOptionid(null);
-                            svyLibTopicoptionMapper.insertSvyLibTopicoption(svyLibTopicoption);
-                        }
-                    }
-                    if (ObjectUtils.isNotEmpty(row.getCell(10))) {
-                        if (StringUtils.isNotEmpty(row.getCell(10).toString())) {
-                            svyLibTopicoption.setOptioncode("G");
-                            svyLibTopicoption.setOptioncontent(row.getCell(10).toString());
-                            svyLibTopicoption.setOptionid(null);
-                            svyLibTopicoptionMapper.insertSvyLibTopicoption(svyLibTopicoption);
-                        }
-                    }
-                    if (ObjectUtils.isNotEmpty(row.getCell(11))) {
-                        if (StringUtils.isNotEmpty(row.getCell(11).toString())) {
-                            svyLibTopicoption.setOptioncode("H");
-                            svyLibTopicoption.setOptioncontent(row.getCell(11).toString());
-                            svyLibTopicoption.setOptionid(null);
-                            svyLibTopicoptionMapper.insertSvyLibTopicoption(svyLibTopicoption);
-                        }
-                    }
-                }
-            }
-            if (CollectionUtils.isNotEmpty(svyLibTopicErrors)) {
-                return svyLibTopicErrors;
-            }
-
-        } catch (Exception e) {
-            e.printStackTrace();
-        }
-
-        return null;
-    }
-
-    @Override
-    public SvyLibTopicRes showTopic(SvyTopicReq svyTopicReq) {
-        List<SvyLibTopicAndOptionRes> svyLibTopicAndOptionRes = svyLibTopicMapper.showTopic(svyTopicReq);
-        Map<Long, List<SvyLibTopicAndOptionRes>> groupByAge = svyLibTopicAndOptionRes.stream().collect(Collectors.groupingBy(SvyLibTopicAndOptionRes::getTopicid));
-
-        return null;
     }
 
 

--
Gitblit v1.9.3