From c0f16750cb9097a8db7b68f8c1794c2aec28ca15 Mon Sep 17 00:00:00 2001
From: “djh” <“3298565835@qq.com”>
Date: 星期四, 24 七月 2025 15:01:10 +0800
Subject: [PATCH] 新增

---
 multi-system/src/main/java/com/gkhy/exam/system/service/impl/CompanySummaryServiceImpl.java |   52 ++++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 46 insertions(+), 6 deletions(-)

diff --git a/multi-system/src/main/java/com/gkhy/exam/system/service/impl/CompanySummaryServiceImpl.java b/multi-system/src/main/java/com/gkhy/exam/system/service/impl/CompanySummaryServiceImpl.java
index 4f7549a..82e47a8 100644
--- a/multi-system/src/main/java/com/gkhy/exam/system/service/impl/CompanySummaryServiceImpl.java
+++ b/multi-system/src/main/java/com/gkhy/exam/system/service/impl/CompanySummaryServiceImpl.java
@@ -12,9 +12,16 @@
 import com.gkhy.exam.system.mapper.CompanySummaryMapper;
 import com.gkhy.exam.system.service.CompanySummaryService;
 import com.gkhy.exam.system.service.SysCompanyService;
+import org.apache.poi.schemas.vmldrawing.XmlDocument;
+import org.apache.poi.xwpf.extractor.XWPFWordExtractor;
+import org.apache.poi.xwpf.usermodel.XWPFDocument;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.web.multipart.MultipartFile;
 
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.io.InputStream;
 import java.time.LocalDateTime;
 import java.util.List;
 
@@ -30,8 +37,7 @@
 
     @Override
     public CommonPage selectCompanySummaryList(Integer companyId) {
-        boolean admin = SecurityUtils.isAdmin(SecurityUtils.getUserId());
-        if (!admin){
+        if (!SecurityUtils.adminUser()){
             if (companyId==null){
                 throw new ApiException("非管理员操作,查询条件不可为空");
             }
@@ -62,10 +68,6 @@
     @Override
     public CommonResult updateCompanySummary(CompanySummary companySummary) {
         LoginUserDetails loginUser = SecurityUtils.getLoginUser();
-        List<CompanySummary> companySummaries = companySummaryMapper.selectCompanySummaryList(companySummary.getCompanyId());
-        if (companySummaries.size()>0){
-            throw new ApiException("当前企业已有相关数据,请删除原有数据后重试");
-        }
         SysCompany sysCompany = sysCompanyService.selectCompanyById(Long.valueOf(companySummary.getCompanyId()));
         companySummary.setCompanyName(sysCompany.getName());
         companySummary.setUpdateBy(loginUser.getUsername());
@@ -91,4 +93,42 @@
         }
         return CommonResult.failed();
     }
+
+    @Override
+    public CommonResult uploadSummary(MultipartFile file,Integer companyId) {
+
+        List<CompanySummary> companySummaries = companySummaryMapper.selectCompanySummaryList(Math.toIntExact(companyId == null ? SecurityUtils.getCompanyId() : companyId));
+        if (companySummaries.size()>0){
+            throw new ApiException("当前企业已有相关数据,请删除原有数据后重试");
+        }
+        try {
+            String fileData = readWordToString(file);
+            CompanySummary companySummary = new CompanySummary();
+            companySummary.setCompanySummary(fileData);
+            if (companyId==null){
+                companySummary.setCompanyId(Math.toIntExact(SecurityUtils.getCompanyId()));
+            }else {
+                companySummary.setCompanyId(companyId);
+            }
+            companySummary.setCreateTime(LocalDateTime.now());
+            companySummary.setCreateBy(SecurityUtils.getUsername());
+            companySummaryMapper.insert(companySummary);
+        } catch (Exception e) {
+            throw new RuntimeException(e);
+        }
+        return CommonResult.success();
+    }
+
+    /**
+     * 读取Word文档内容并转为字符串
+     * @param file Word文件
+     * @return 文档内容的字符串
+     */
+    public static String readWordToString(MultipartFile file) throws Exception {
+        try (InputStream inputStream = file.getInputStream();
+             XWPFDocument document = new XWPFDocument(inputStream);
+             XWPFWordExtractor extractor = new XWPFWordExtractor(document)) {
+            return extractor.getText();
+        }
+    }
 }

--
Gitblit v1.9.2