From 9b2eedb85d53ca32610c32c6e50b5230ab3b16cf Mon Sep 17 00:00:00 2001
From: sean.zhou <sean.zhou@dji.com>
Date: Fri, 22 Jul 2022 20:16:03 +0800
Subject: [PATCH] V1.1.0 for dock

---
 src/main/java/com/dji/sample/media/controller/MediaController.java |   24 ++++++++++++------------
 1 files changed, 12 insertions(+), 12 deletions(-)

diff --git a/src/main/java/com/dji/sample/media/controller/MediaController.java b/src/main/java/com/dji/sample/media/controller/MediaController.java
index 0e73743..b02f8ad 100644
--- a/src/main/java/com/dji/sample/media/controller/MediaController.java
+++ b/src/main/java/com/dji/sample/media/controller/MediaController.java
@@ -1,8 +1,10 @@
 package com.dji.sample.media.controller;
 
 import com.dji.sample.common.model.ResponseResult;
+import com.dji.sample.component.mqtt.model.MapKeyConst;
 import com.dji.sample.media.model.FileUploadDTO;
 import com.dji.sample.media.service.IMediaService;
+import com.fasterxml.jackson.core.JsonProcessingException;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
@@ -10,7 +12,6 @@
 import java.util.List;
 import java.util.Map;
 import java.util.concurrent.ConcurrentHashMap;
-import java.util.stream.Collectors;
 
 /**
  * @author sean
@@ -36,7 +37,7 @@
 
         boolean isExist = mediaService.fastUpload(workspaceId, file.getFingerprint());
 
-        return isExist ? ResponseResult.success() : ResponseResult.error(file.getFingerprint() + "already exists.");
+        return isExist ? ResponseResult.success() : ResponseResult.error(file.getFingerprint() + "don't exist.");
     }
 
     /**
@@ -56,18 +57,17 @@
     /**
      * Query the files that already exist in this workspace based on the workspace id and the collection of tiny fingerprints.
      * @param workspaceId
-     * @param tinyFingerprints
+     * @param tinyFingerprints  There is only one tiny_fingerprint parameter in the body.
+     *                          But it is not recommended to use Map to receive the parameter.
      * @return
      */
-    @GetMapping("/{workspace_id}/files/tiny-fingerprints")
-    public ResponseResult<Map<String, List<String>>> uploadCallback(@PathVariable(name = "workspace_id") String workspaceId,
-                               @RequestParam(value = "tiny_fingerprint") List<String> tinyFingerprints) {
-        List<String> tinyFingerprintList = mediaService.getAllTinyFingerprintsByWorkspaceId(workspaceId);
-        List<String> existingList = tinyFingerprints
-                .stream()
-                .filter(tinyFingerprintList::contains)
-                .collect(Collectors.toList());
-        return ResponseResult.success(new ConcurrentHashMap<>(Map.of("tiny_fingerprints", existingList)));
+    @PostMapping("/{workspace_id}/files/tiny-fingerprints")
+    public ResponseResult<Map<String, List<String>>> uploadCallback(
+                                @PathVariable(name = "workspace_id") String workspaceId,
+                               @RequestBody Map<String, List<String>> tinyFingerprints) throws JsonProcessingException {
+
+        List<String> existingList = mediaService.getExistTinyFingerprints(workspaceId, tinyFingerprints.get(MapKeyConst.TINY_FINGERPRINTS));
+        return ResponseResult.success(new ConcurrentHashMap<>(Map.of(MapKeyConst.TINY_FINGERPRINTS, existingList)));
     }
 
 }
\ No newline at end of file

--
Gitblit v1.9.3