1
0
Selaa lähdekoodia

feat:邮件解析-修复不同邮件相同文件名,存在覆盖的问题

mozuwen 7 kuukautta sitten
vanhempi
commit
d38e2c5582

+ 9 - 8
service-base/src/main/java/com/simuwang/base/common/util/EmailUtil.java

@@ -71,17 +71,18 @@ public class EmailUtil {
                     String fileName = MimeUtility.decodeText(part.getFileName());
                     emailContentInfoDTO.setFileName(fileName);
 
-                    File savefile = new File(filePath + fileName);
-                    if (!savefile.exists()) {
-                        if (!savefile.getParentFile().exists()) {
-                            savefile.getParentFile().mkdirs();
+                    String realPath = filePath + emailDate + fileName;
+                    File saveFile = new File(realPath);
+                    if (!saveFile.exists()) {
+                        if (!saveFile.getParentFile().exists()) {
+                            saveFile.getParentFile().mkdirs();
                         }
-                        FileUtil.saveFile(savefile, part);
+                        FileUtil.saveFile(saveFile, part);
                     } else {
-                        FileUtils.deleteQuietly(savefile);
-                        FileUtil.saveFile(savefile, part);
+                        FileUtils.deleteQuietly(saveFile);
+                        FileUtil.saveFile(saveFile, part);
                     }
-                    emailContentInfoDTO.setFilePath(filePath + fileName);
+                    emailContentInfoDTO.setFilePath(realPath);
                 }
             } else if ("MimeMultipart".equals(contentClass)) {
                 MimeMultipart contentPart = (MimeMultipart) partContent;

+ 9 - 14
service-deploy/src/main/test/java/com/simuwang/datadaq/DataTrusteeApplicationTests.java

@@ -30,23 +30,18 @@ class DataTrusteeApplicationTests {
         emailInfoDTO.setUserId(2395446);
         emailInfoDTO.setAccount("mozuwen@simuwang.com");
         emailInfoDTO.setPassword("Mzw@0306");
-//        emailInfoDTO.setAccount("fofservice@simuwang.com");
-//        emailInfoDTO.setPassword("cJH@2021");
         emailInfoDTO.setHost("imap.exmail.qq.com");
         emailInfoDTO.setPort("993");
         emailInfoDTO.setProtocol("imap");
-
-        emailInfoDTO.setAccount("jjpj_test");
-        emailInfoDTO.setPassword("shzq#919");
-//        emailInfoDTO.setAccount("fofservice@simuwang.com");
-//        emailInfoDTO.setPassword("cJH@2021");
-        emailInfoDTO.setHost("mail.shzq.com");
-        emailInfoDTO.setPort("993");
-        emailInfoDTO.setProtocol("imap");
-        Map<Integer, List<String>> emailTypeMap = MapUtil.newHashMap();
-        emailTypeMap.put(1, List.of("净值"));
-        Date startDate = DateUtil.parse("2024-09-19 11:20:00", DateConst.YYYY_MM_DD_HH_MM_SS);
-        Date endDate = DateUtil.parse("2024-09-19 16:00:00", DateConst.YYYY_MM_DD_HH_MM_SS);
+//
+//        emailInfoDTO.setAccount("jjpj_test");
+//        emailInfoDTO.setPassword("shzq#919");
+//        emailInfoDTO.setHost("mail.shzq.com");
+//        emailInfoDTO.setPort("993");
+//        emailInfoDTO.setProtocol("imap");
+
+        Date startDate = DateUtil.parse("2024-09-20 09:02:00", DateConst.YYYY_MM_DD_HH_MM_SS);
+        Date endDate = DateUtil.parse("2024-09-20 10:00:00", DateConst.YYYY_MM_DD_HH_MM_SS);
         try {
             emailParseService.parseEmail(emailInfoDTO, startDate, endDate);
         } catch (Exception e) {