From be812198b1c18cf5b79f2cdc69d2f7c3c70eff51 Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期二, 20 六月 2023 14:23:43 +0800
Subject: [PATCH] “文件管理“ 代码提交

---
 smartor/src/main/java/com/smartor/service/impl/SvyLibTopicServiceImpl.java |  266 ++++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 242 insertions(+), 24 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..f0e7adc 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,314 @@
 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 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.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
  */
 @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)
-    {
+    public List<SvyLibTopic> selectSvyLibTopicList(SvyLibTopic svyLibTopic) {
         return svyLibTopicMapper.selectSvyLibTopicList(svyLibTopic);
     }
 
     /**
      * 鏂板闂嵎棰樼洰
-     * 
+     *
      * @param svyLibTopic 闂嵎棰樼洰
      * @return 缁撴灉
      */
     @Override
-    public int insertSvyLibTopic(SvyLibTopic svyLibTopic)
-    {
+    public int insertSvyLibTopic(SvyLibTopic svyLibTopic) {
         svyLibTopic.setCreateTime(DateUtils.getNowDate());
         return svyLibTopicMapper.insertSvyLibTopic(svyLibTopic);
     }
 
     /**
      * 淇敼闂嵎棰樼洰
-     * 
+     *
      * @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)
-    {
+    public int deleteSvyLibTopicByTopicids(Long[] topicids) {
         return svyLibTopicMapper.deleteSvyLibTopicByTopicids(topicids);
     }
 
     /**
      * 鍒犻櫎闂嵎棰樼洰淇℃伅
-     * 
+     *
      * @param topicid 闂嵎棰樼洰涓婚敭
      * @return 缁撴灉
      */
     @Override
-    public int deleteSvyLibTopicByTopicid(Long topicid)
-    {
+    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