From a61cf0deb3e42fb1fdc249be2f81b26c8662b0db Mon Sep 17 00:00:00 2001 From: 13693261870 <252740454@qq.com> Date: 星期日, 05 二月 2023 17:26:07 +0800 Subject: [PATCH] 1 --- src/main/java/com/lf/server/mapper/sys/AttachMapper.java | 10 +++++ src/main/java/com/lf/server/service/sys/AttachService.java | 5 ++ src/main/java/com/lf/server/service/all/UploadAttachService.java | 51 ++++++++++++++++++------- src/main/resources/mapper/sys/AttachMapper.xml | 4 ++ 4 files changed, 55 insertions(+), 15 deletions(-) diff --git a/src/main/java/com/lf/server/mapper/sys/AttachMapper.java b/src/main/java/com/lf/server/mapper/sys/AttachMapper.java index 778cd7a..68abab6 100644 --- a/src/main/java/com/lf/server/mapper/sys/AttachMapper.java +++ b/src/main/java/com/lf/server/mapper/sys/AttachMapper.java @@ -55,6 +55,16 @@ public AttachEntity selectByGuid(String guid); /** + * 鏍规嵁琛ㄥ悕鍜孏UID鏌ヨ + * + * @param tab + * @param tabGuid + * @param guid + * @return + */ + public AttachEntity selectByTabAndGuid(String tab, String tabGuid, String guid); + + /** * 鏍规嵁琛ㄥ拰GUID鏌ヨ * * @param tab diff --git a/src/main/java/com/lf/server/service/all/UploadAttachService.java b/src/main/java/com/lf/server/service/all/UploadAttachService.java index 2c67214..7d6cc80 100644 --- a/src/main/java/com/lf/server/service/all/UploadAttachService.java +++ b/src/main/java/com/lf/server/service/all/UploadAttachService.java @@ -275,7 +275,8 @@ } BaseEntity be = (BaseEntity) obj; - rows += insertXlsAnnex(ue, be, files, file); + rows += insertXlsAnnex(ue, meta, be, file); + files.remove(file); } return rows; @@ -356,26 +357,46 @@ /** * 鎻掑叆Excel闄勪欢 */ - private int insertXlsAnnex(UserEntity ue, BaseEntity be, List<String> files, String file) { + private int insertXlsAnnex(UserEntity ue, MetaEntity meta, BaseEntity be, String file) { + File f = new File(file); + if (!f.exists() || f.isDirectory()) { + return 0; + } + String md5 = FileHelper.getFileMd5(file); + AttachEntity old = attachService.selectByTabAndGuid(meta.getTab(), be.getEventid(), md5); + if (null != old) { + f.delete(); + return 0; + } - files.remove(file); + String fileName = FileHelper.getFileName(file); + double sizes = FileHelper.sizeToMb(f.length()); - return 1; + AttachEntity ae = getAttachEntity(ue, meta.getTab(), be.getEventid(), fileName, md5, sizes); + String targetPath = pathHelper.getConfig().getUploadPath() + File.separator + ae.getPath(); + + f.renameTo(new File(targetPath)); + int rows = attachService.insert(ae); + + return rows > 0 ? 1 : 0; } - private AttachEntity getAttachEntity(UserEntity ue, String file) { + /** + * 鑾峰彇闄勪欢瀹炰綋绫� + */ + protected AttachEntity getAttachEntity(UserEntity ue, String tabName, String eventid, String fileName, String md5, double sizes) { AttachEntity entity = new AttachEntity(); -// entity.setTab(tabName); -// entity.setTabGuid(eventid); -// entity.setName(fileName); -// entity.setGuid(md5); -// String subPath = PathHelper.getUploadPath() + File.separator + md5+ FileHelper.getExtension(fileName); -// entity.setPath(subPath); -// entity.setSizes(sizes); -// if (ue != null) { -// entity.setCreateUser(ue.getId()); -// } + entity.setTab(tabName); + entity.setTabGuid(eventid); + entity.setName(fileName); + entity.setGuid(md5); + String subPath = PathHelper.getUploadPath() + File.separator + md5 + FileHelper.getExtension(fileName); + entity.setPath(subPath); + entity.setSizes(sizes); + if (ue != null) { + entity.setCreateUser(ue.getId()); + } return entity; } diff --git a/src/main/java/com/lf/server/service/sys/AttachService.java b/src/main/java/com/lf/server/service/sys/AttachService.java index 4115841..870540b 100644 --- a/src/main/java/com/lf/server/service/sys/AttachService.java +++ b/src/main/java/com/lf/server/service/sys/AttachService.java @@ -47,6 +47,11 @@ } @Override + public AttachEntity selectByTabAndGuid(String tab, String tabGuid, String guid) { + return attachMapper.selectByTabAndGuid(tab, tabGuid, guid); + } + + @Override public List<AttachEntity> selectByTab(String tab, String guid) { return attachMapper.selectByTab(tab, guid); } diff --git a/src/main/resources/mapper/sys/AttachMapper.xml b/src/main/resources/mapper/sys/AttachMapper.xml index 1dd6348..41a0e3d 100644 --- a/src/main/resources/mapper/sys/AttachMapper.xml +++ b/src/main/resources/mapper/sys/AttachMapper.xml @@ -33,6 +33,10 @@ select * from lf.sys_attach where guid = #{guid} limit 1 </select> + <select id="selectByTabAndGuid" resultType="com.lf.server.entity.sys.AttachEntity"> + select * from lf.sys_attach where tab = #{tab} and tab_guid = #{tabGuid} and guid = #{guid} limit 1 + </select> + <select id="selectByTab" resultType="com.lf.server.entity.sys.AttachEntity"> select * from lf.sys_attach where tab = #{tab} and tab_guid = #{guid} </select> -- Gitblit v1.9.3