From 34fdf667ec38c5e79d803044b70e3d211fd78e6a Mon Sep 17 00:00:00 2001 From: chenxudong Date: Tue, 4 Mar 2025 14:33:42 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0tag=E5=92=8C=E5=B1=9E?= =?UTF-8?q?=E6=80=A7=E9=A2=84=E8=A7=88=E7=9B=B8=E5=85=B3=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../software/manage/config/EdMetaObjectHandler.java | 8 ++++++-- .../software/manage/pojo/models/BaseModel.java | 9 +++++---- .../software/manage/pojo/other/FileInfoVO.java | 5 +++++ .../software/manage/pojo/resp/FileTagInfo.java | 12 ++++++++++++ .../service/serviceimpl/EdFileInfoServiceImpl.java | 5 ++++- .../software/common/util/OfficeFileUtil.java | 6 +++++- 6 files changed, 37 insertions(+), 8 deletions(-) create mode 100644 electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/resp/FileTagInfo.java diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/config/EdMetaObjectHandler.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/config/EdMetaObjectHandler.java index 8cd004c..21f59a6 100644 --- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/config/EdMetaObjectHandler.java +++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/config/EdMetaObjectHandler.java @@ -1,6 +1,7 @@ package com.electromagnetic.industry.software.manage.config; import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler; +import com.electromagnetic.industry.software.common.util.UserThreadLocal; import org.apache.ibatis.reflection.MetaObject; import org.springframework.stereotype.Component; @@ -26,8 +27,8 @@ public class EdMetaObjectHandler implements MetaObjectHandler { if (metaObject.hasGetter("updatedAt")) { this.strictInsertFill(metaObject, "updatedAt", Date.class, new Date()); } - if (metaObject.hasGetter("updatedTime")) { - this.strictInsertFill(metaObject, "updatedTime", Date.class, new Date()); + if (metaObject.hasGetter("createdBy")) { + this.strictUpdateFill(metaObject, "createdBy", String.class, UserThreadLocal.getUserId()); } } @@ -42,6 +43,9 @@ public class EdMetaObjectHandler implements MetaObjectHandler { if (metaObject.hasGetter("updatedTime")) { this.strictUpdateFill(metaObject, "updatedTime", Date.class, new Date()); } + if (metaObject.hasGetter("updatedBy")) { + this.strictUpdateFill(metaObject, "updatedTime", String.class, UserThreadLocal.getUserId()); + } } } diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/models/BaseModel.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/models/BaseModel.java index e2cf96c..918d6f2 100644 --- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/models/BaseModel.java +++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/models/BaseModel.java @@ -1,5 +1,6 @@ package com.electromagnetic.industry.software.manage.pojo.models; +import com.baomidou.mybatisplus.annotation.FieldFill; import com.baomidou.mybatisplus.annotation.TableField; import lombok.Data; import lombok.experimental.Accessors; @@ -12,24 +13,24 @@ public class BaseModel { /** * 创建时间 */ - @TableField(value = "created_time") + @TableField(value = "created_time", fill = FieldFill.INSERT) private Date createdTime; /** * 创建人 */ - @TableField(value = "created_by") + @TableField(value = "created_by", fill = FieldFill.INSERT) private String createdBy; /** * 最后更新时间 */ - @TableField(value = "updated_time") + @TableField(value = "updated_time", fill = FieldFill.UPDATE) private Date updatedTime; /** * 最后更新人 */ - @TableField(value = "updated_by") + @TableField(value = "updated_by", fill = FieldFill.UPDATE) private String updatedBy; } diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/other/FileInfoVO.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/other/FileInfoVO.java index 432746b..377a2e4 100644 --- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/other/FileInfoVO.java +++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/other/FileInfoVO.java @@ -1,9 +1,11 @@ package com.electromagnetic.industry.software.manage.pojo.other; +import com.electromagnetic.industry.software.manage.pojo.resp.FileTagInfo; import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; import java.util.Date; +import java.util.List; @Data public class FileInfoVO { @@ -43,4 +45,7 @@ public class FileInfoVO { private String fileCode; private String createdBy; + + private List labels; + } diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/resp/FileTagInfo.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/resp/FileTagInfo.java new file mode 100644 index 0000000..3d505cb --- /dev/null +++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/resp/FileTagInfo.java @@ -0,0 +1,12 @@ +package com.electromagnetic.industry.software.manage.pojo.resp; + +import lombok.Data; + +@Data +public class FileTagInfo { + + private String tagId; + + private String tagName; + +} diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/EdFileInfoServiceImpl.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/EdFileInfoServiceImpl.java index 9da4bec..767b43a 100644 --- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/EdFileInfoServiceImpl.java +++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/EdFileInfoServiceImpl.java @@ -34,6 +34,7 @@ import com.electromagnetic.industry.software.manage.pojo.other.UploadRecordDTO; import com.electromagnetic.industry.software.manage.pojo.req.*; import com.electromagnetic.industry.software.manage.pojo.resp.*; import com.electromagnetic.industry.software.manage.service.EdFileInfoService; +import com.electromagnetic.industry.software.manage.service.EdTagLibraryService; import com.electromagnetic.industry.software.manage.service.FileSystemService; import com.electromagnetic.industry.software.manage.service.PermissionService; import org.springframework.core.io.FileSystemResource; @@ -77,6 +78,9 @@ public class EdFileInfoServiceImpl extends ServiceImpl queryWrapper = Wrappers.lambdaQuery(EdFileInfo.class) .select(EdFileInfo.class, file -> !file.getColumn().equals("file_content")) .eq(EdFileInfo::getSaveStatus, EleDataSaveStatusEnum.SUCCESS.code) diff --git a/electromagnetic-common/src/main/java/com/electromagnetic/industry/software/common/util/OfficeFileUtil.java b/electromagnetic-common/src/main/java/com/electromagnetic/industry/software/common/util/OfficeFileUtil.java index 332b9b3..6ea4a22 100644 --- a/electromagnetic-common/src/main/java/com/electromagnetic/industry/software/common/util/OfficeFileUtil.java +++ b/electromagnetic-common/src/main/java/com/electromagnetic/industry/software/common/util/OfficeFileUtil.java @@ -56,18 +56,22 @@ public class OfficeFileUtil { try { String pdfParentDir = FileUtil.getParent(pdfPath, 1) + File.separatorChar + IdUtil.fastSimpleUUID() + File.separatorChar; StringBuilder command = new StringBuilder(); - command.append("libreoffice").append(" ").append("--headless") + command.append("/usr/bin/libreoffice24.8").append(" ").append("--headless") .append(" ").append("--convert-to") .append(" ").append("pdf") .append(" ").append(wordPath) .append(" ").append("--outdir") .append(" ").append(pdfParentDir); + log.info("convert word file to pdf, command: {}", command); Process process = RuntimeUtil.exec(command.toString()); process.waitFor(); if (process.exitValue() != 0) { String info = StrFormatter.format("word文档{}转换成pdf文档{}失败", wordPath, pdfPath); throw new BizException(info); } + String outPdfPath = FileUtil.loopFiles(pdfParentDir).get(0).getAbsolutePath(); + FileUtil.move(new File(outPdfPath), new File(pdfPath), true); + } catch (Exception e) { log.error(e.getMessage(), e); throw new BizException(e.getMessage(), e);