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 | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 45 insertions(+), 0 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 25d654c..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; @@ -86,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