dengsixing hai 2 semanas
pai
achega
caaabf6ab6

+ 5 - 0
src/main/java/com/fdkankan/download/controller/BatchDownloadController.java

@@ -96,5 +96,10 @@ public class BatchDownloadController {
 //        downloadService.downloadHandler(scenePlus.getNum());
 //    }
 
+    @PostMapping("batchDownloadScene")
+    public ResultData batchDownloadScene(@RequestParam(value = "file") MultipartFile file) throws Exception {
+        return batchDonloadService.batchDownloadScene(file);
+    }
+
 
 }

+ 2 - 1
src/main/java/com/fdkankan/download/service/IBatchDonloadService.java

@@ -4,6 +4,7 @@ import com.fdkankan.download.bean.ResultData;
 import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.multipart.MultipartFile;
 
+import java.io.IOException;
 import java.util.Map;
 import java.util.Set;
 
@@ -31,5 +32,5 @@ public interface IBatchDonloadService {
 
     public ResultData downloadLaserScene(@RequestParam(value = "file") MultipartFile file) throws Exception;
 
-
+    ResultData batchDownloadScene(MultipartFile file) throws IOException;
 }

+ 22 - 0
src/main/java/com/fdkankan/download/service/impl/BatchDonloadServiceImpl.java

@@ -13,6 +13,7 @@ import cn.hutool.http.HttpUtil;
 import cn.hutool.system.HostInfo;
 import cn.hutool.system.SystemUtil;
 import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
 import com.aliyun.oss.OSS;
 import com.aliyun.oss.OSSClientBuilder;
 import com.aliyun.oss.model.DownloadFileRequest;
@@ -34,6 +35,7 @@ import com.fdkankan.download.httpclient.HttpClient;
 import com.fdkankan.download.service.*;
 import com.fdkankan.download.util.Base64Converter;
 import com.fdkankan.model.constants.UploadFilePath;
+import com.fdkankan.rabbitmq.util.RabbitMqProducer;
 import com.fdkankan.redis.util.RedisLockUtil;
 import com.google.common.collect.Lists;
 import com.google.j2objc.annotations.AutoreleasePool;
@@ -48,6 +50,7 @@ import org.springframework.web.multipart.MultipartFile;
 
 import javax.annotation.Resource;
 import java.io.File;
+import java.io.IOException;
 import java.math.BigDecimal;
 import java.util.*;
 import java.util.concurrent.CompletableFuture;
@@ -435,4 +438,23 @@ public class BatchDonloadServiceImpl implements IBatchDonloadService {
 //            System.out.println("替换完成:" + num);
 
 //        }
+
+
+    @Resource
+    private RabbitMqProducer mqProducer;
+
+    @Override
+    public ResultData batchDownloadScene(MultipartFile file) throws IOException {
+        String bashPath = "/mnt/scenes/";
+        FileUtil.mkdir(bashPath);
+        File tempFile = FileUtil.file(new File(bashPath + UUID.fastUUID() + "." + FileUtil.extName(file.getOriginalFilename())));
+        file.transferTo(tempFile);
+        List<String> nums = FileUtil.readUtf8Lines(tempFile);
+        for (String num : nums) {
+            JSONObject jsonObject = new JSONObject();
+            jsonObject.put("num", num);
+            mqProducer.sendByWorkQueue("batch-download-scene", jsonObject);
+        }
+        return ResultData.ok(null);
+    }
 }