2 Achegas 6c13a98436 ... a492b1708f

Autor SHA1 Mensaxe Data
  laibulaizheli a492b1708f Merge branch 'dev' of http://219.151.181.73:3000/zhuwei/bladex into dev hai 4 semanas
  laibulaizheli a6b43c43aa 平天路推送 hai 4 semanas

+ 23 - 10
blade-service-api/blade-business-api/src/main/java/org/springblade/business/entity/ArchiveFile.java

@@ -374,22 +374,35 @@ public class ArchiveFile extends BaseEntity {
         // eVisaFile 可能对应 Vo 的 approveType(根据业务逻辑调整)
         this.setEVisaFile(vo.getApproveType());
         // utime 对应 Vo 的 upTime(需转换)
+// utime 对应 Vo 的 upTime(需转换)
         if (vo.getUpTime() != null) {
-            String upTimeStr = vo.getUpTime();
-            LocalDateTime dateTime;
+            String upTimeStr = vo.getUpTime().trim(); // 去除前后空格
+            LocalDateTime dateTime = null;
+
             try {
-                // 首先尝试原始格式:yyyy-MM-dd HH:mm:ss
-                DateTimeFormatter originalFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
-                dateTime = LocalDateTime.parse(upTimeStr, originalFormatter);
-            } catch (DateTimeParseException e) {
+                // 首先尝试完整日期时间格式:yyyy-MM-dd HH:mm:ss
+                DateTimeFormatter fullFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
+                dateTime = LocalDateTime.parse(upTimeStr, fullFormatter);
+            } catch (DateTimeParseException e1) {
                 try {
-                    // 尝试紧凑的日期格式:yyyyMMdd
-                    LocalDate date = LocalDate.parse(upTimeStr, DateTimeFormatter.BASIC_ISO_DATE);
-                        dateTime = date.atStartOfDay(); // 时间设为00:00:00
+                    // 其次尝试纯日期格式:yyyy-MM-dd
+                    LocalDate date = LocalDate.parse(upTimeStr, DateTimeFormatter.ISO_LOCAL_DATE);
+                    dateTime = date.atStartOfDay(); // 时间设为00:00:00
                 } catch (DateTimeParseException e2) {
-                    throw new IllegalArgumentException("无法解析的日期时间格式: " + upTimeStr, e2);
+                    try {
+                        // 最后尝试紧凑日期格式:yyyyMMdd(8位数字)
+                        if (upTimeStr.matches("\\d{8}")) {
+                            DateTimeFormatter compactFormatter = DateTimeFormatter.ofPattern("yyyyMMdd");
+                            LocalDate date = LocalDate.parse(upTimeStr, compactFormatter);
+                            dateTime = date.atStartOfDay();
+                        }
+                    } catch (DateTimeParseException e3) {
+                        // 所有格式尝试失败
+                        System.out.println("无法解析的日期时间格式: " + upTimeStr);
+                    }
                 }
             }
+
             this.setUtime(dateTime);
         }
 

+ 1 - 0
blade-service/blade-archive/src/main/java/org/springblade/archive/service/impl/ArchivesAutoServiceImpl.java

@@ -82,6 +82,7 @@ import org.springframework.scheduling.annotation.Async;
 import org.springframework.stereotype.Service;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.CollectionUtils;
 import org.springframework.web.multipart.MultipartFile;
 
 import javax.servlet.http.HttpServletResponse;