dengsixing před 2 týdny
rodič
revize
5e436cba45

+ 1 - 1
pom.xml

@@ -171,7 +171,7 @@
     <dependency>
       <groupId>net.lingala.zip4j</groupId>
       <artifactId>zip4j</artifactId>
-      <version>1.3.2</version>
+      <version>2.11.5</version>
     </dependency>
 
     <dependency>

+ 2 - 6
src/main/java/com/fdkankan/contro/mq/listener/UploadSceneListener.java

@@ -1,6 +1,5 @@
 package com.fdkankan.contro.mq.listener;
 
-import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.codec.Base64;
 import cn.hutool.core.io.FileUtil;
 import cn.hutool.core.util.ZipUtil;
@@ -20,7 +19,7 @@ import com.fdkankan.model.constants.UploadFilePath;
 import com.fdkankan.web.util.RSAEncrypt;
 import com.rabbitmq.client.Channel;
 import lombok.extern.slf4j.Slf4j;
-import net.lingala.zip4j.core.ZipFile;
+import net.lingala.zip4j.ZipFile;
 import org.apache.commons.io.filefilter.NameFileFilter;
 import org.springframework.amqp.core.Message;
 import org.springframework.amqp.rabbit.annotation.Queue;
@@ -29,10 +28,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
 import java.io.File;
-import java.io.FileFilter;
 import java.nio.charset.StandardCharsets;
-import java.util.HashMap;
-import java.util.List;
 
 @Slf4j
 @Component
@@ -78,7 +74,7 @@ public class UploadSceneListener {
             //解压缩
             ZipFile zipFile = new ZipFile(new File(zipPath));
             if (zipFile.isEncrypted()) {
-                zipFile.setPassword(ZipConstant.zipPassword);
+                zipFile.setPassword(ZipConstant.zipPassword.toCharArray());
                 zipFile.extractAll(zipDir + uuid);
             } else {
                 ZipUtil.unzip(zipPath, zipDir + uuid);

+ 0 - 14
src/main/java/com/fdkankan/contro/service/impl/JmgaServiceImpl.java

@@ -1,6 +1,5 @@
 package com.fdkankan.contro.service.impl;
 
-import cn.hutool.core.codec.Base64;
 import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.io.FileUtil;
 import cn.hutool.core.lang.UUID;
@@ -17,14 +16,10 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.fdkankan.common.constant.ErrorCode;
 import com.fdkankan.common.constant.SceneStatus;
 import com.fdkankan.common.exception.BusinessException;
-import com.fdkankan.common.util.CmdUtils;
 import com.fdkankan.common.util.DateExtUtil;
-import com.fdkankan.contro.bean.SceneJsonBean;
 import com.fdkankan.contro.bean.SendCallAlgorithmDetail;
-import com.fdkankan.contro.constant.ApiConstant;
 import com.fdkankan.contro.constant.ZipConstant;
 import com.fdkankan.contro.entity.*;
-import com.fdkankan.contro.httpclient.MyClient;
 import com.fdkankan.contro.mq.service.IBuildLogService;
 import com.fdkankan.contro.service.*;
 import com.fdkankan.contro.util.SceneSourceUtil;
@@ -33,10 +28,7 @@ import com.fdkankan.contro.vo.UploadSceneOrigParamVo;
 import com.fdkankan.fyun.face.FYunFileServiceInterface;
 import com.fdkankan.model.constants.ConstantFilePath;
 import com.fdkankan.rabbitmq.util.RabbitMqProducer;
-import com.fdkankan.web.response.ResultData;
-import com.fdkankan.web.util.RSAEncrypt;
 import lombok.extern.slf4j.Slf4j;
-import net.lingala.zip4j.core.ZipFile;
 import net.lingala.zip4j.exception.ZipException;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
@@ -44,7 +36,6 @@ import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
 import java.io.File;
-import java.nio.charset.StandardCharsets;
 import java.util.*;
 import java.util.stream.Collectors;
 
@@ -494,9 +485,4 @@ public class JmgaServiceImpl implements IJmgaService {
         }
     }
 
-    public static void main(String[] args) throws ZipException {
-        ZipFile zipFile = new ZipFile(new File("D:\\test\\b01ych281_202503110946199710\\b01ych281_202503110946199710.zip"));
-        zipFile.setPassword(ZipConstant.zipPassword);
-        zipFile.extractFile("data.fdage", "D:\\test\\b01ych281_202503110946199710");
-    }
 }

+ 2 - 2
src/main/java/com/fdkankan/contro/service/impl/SceneFileBuildServiceImpl.java

@@ -50,7 +50,7 @@ import com.fdkankan.redis.util.RedisUtil;
 import com.fdkankan.web.response.ResultData;
 import com.fdkankan.web.util.RSAEncrypt;
 import lombok.extern.slf4j.Slf4j;
-import net.lingala.zip4j.core.ZipFile;
+import net.lingala.zip4j.ZipFile;
 import org.apache.commons.codec.binary.Base64;
 import org.apache.commons.lang3.StringUtils;
 import org.joda.time.DateTime;
@@ -2277,7 +2277,7 @@ public class SceneFileBuildServiceImpl extends ServiceImpl<ISceneFileBuildMapper
                     log.info("开始异步解压文件");
                     ZipFile zipFile = new ZipFile(new File(localFilePath));
                     if (zipFile.isEncrypted()) {
-                        zipFile.setPassword(ZipConstant.zipPassword);
+                        zipFile.setPassword(ZipConstant.zipPassword.toCharArray());
                         zipFile.extractAll(parentPath);
                     } else {
                         ZipUtil.unzip(localFilePath, parentPath);

+ 3 - 3
src/main/java/com/fdkankan/contro/util/ZipUtil.java

@@ -3,7 +3,7 @@ package com.fdkankan.contro.util;
 import cn.hutool.core.io.FileUtil;
 import cn.hutool.core.io.IoUtil;
 import com.fdkankan.contro.constant.ZipConstant;
-import net.lingala.zip4j.core.ZipFile;
+import net.lingala.zip4j.ZipFile;
 import net.lingala.zip4j.model.FileHeader;
 
 import java.io.InputStream;
@@ -15,13 +15,13 @@ public class ZipUtil {
     public static void main(String[] args) throws Exception {
 
         // 压缩包路径
-        String zipPath = "D:\\Downloads\\各类相机从App导出的原始数据\\panoxv23291.osc_202501131055559520.zip";
+        String zipPath = "D:\\Downloads\\各类相机从App导出的原始数据\\bpvt00017_20250314173801715_meta\\bpvt00017_20250314173801715.zip";
         System.out.println(readUtf8(zipPath, "data.fdage"));
     }
 
     public static String readUtf8(String zipPath, String fileName) throws Exception {
         ZipFile zipFile = new ZipFile(zipPath);
-        zipFile.setPassword(ZipConstant.zipPassword);
+        zipFile.setPassword(ZipConstant.zipPassword.toCharArray());
         // 读取所有条目(文件头)
         for (FileHeader header : (List<FileHeader>)zipFile.getFileHeaders()) {
             // 文件名(不含目录)