sean.zhou
2022-03-28 7d0facde2378bf5e3709306ed0dfbd9f59967d48
Disable the media module by default
8 files modified
34 ■■■■ changed files
src/main/java/com/dji/sample/component/oss/model/AliyunOSSConfiguration.java 3 ●●●●● patch | view | raw | blame | history
src/main/java/com/dji/sample/component/oss/model/MinIOConfiguration.java 3 ●●●●● patch | view | raw | blame | history
src/main/java/com/dji/sample/component/oss/service/impl/AliyunOssServiceImpl.java 7 ●●●● patch | view | raw | blame | history
src/main/java/com/dji/sample/component/oss/service/impl/MinIOServiceImpl.java 2 ●●● patch | view | raw | blame | history
src/main/java/com/dji/sample/storage/controller/StorageController.java 8 ●●●●● patch | view | raw | blame | history
src/main/java/com/dji/sample/wayline/controller/WaylineFileController.java 2 ●●● patch | view | raw | blame | history
src/main/java/com/dji/sample/wayline/service/impl/WaylineFileServiceImpl.java 7 ●●●● patch | view | raw | blame | history
src/main/resources/application.yml 2 ●●● patch | view | raw | blame | history
src/main/java/com/dji/sample/component/oss/model/AliyunOSSConfiguration.java
@@ -99,6 +99,9 @@
    @Bean
    @Lazy
    public OSS ossClient() {
        if (!enable) {
            return null;
        }
        return new OSSClientBuilder().build(endpoint, accessKey, secretKey);
    }
}
src/main/java/com/dji/sample/component/oss/model/MinIOConfiguration.java
@@ -82,6 +82,9 @@
    @Bean
    @Lazy
    public MinioClient minioClient() {
        if (!enable) {
            return null;
        }
        MinioClient.Builder builder = MinioClient.builder()
                .endpoint(endpoint)
                .credentials(accessKey, secretKey);
src/main/java/com/dji/sample/component/oss/service/impl/AliyunOssServiceImpl.java
@@ -27,7 +27,7 @@
@Slf4j
public class AliyunOssServiceImpl implements IOssService {
    @Autowired
    @Autowired(required = false)
    private OSS ossClient;
    @Override
@@ -58,11 +58,16 @@
        if (!StringUtils.hasText(bucket) || !StringUtils.hasText(objectKey)) {
            return null;
        }
        try {
        // First check if the object can be fetched.
        ossClient.getObject(bucket, objectKey);
        return ossClient.generatePresignedUrl(bucket, objectKey,
                new Date(System.currentTimeMillis() + AliyunOSSConfiguration.expire * 1000));
        } catch (NullPointerException e) {
            e.printStackTrace();
        }
        return null;
    }
}
src/main/java/com/dji/sample/component/oss/service/impl/MinIOServiceImpl.java
@@ -26,7 +26,7 @@
@Slf4j
public class MinIOServiceImpl implements IOssService {
    @Autowired
    @Autowired(required = false)
    private MinioClient client;
    @Override
src/main/java/com/dji/sample/storage/controller/StorageController.java
@@ -7,6 +7,7 @@
import com.dji.sample.storage.service.IStorageService;
import com.dji.sample.storage.service.impl.AliyunStorageServiceImpl;
import com.dji.sample.storage.service.impl.MinIOStorageServiceImpl;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
@@ -20,13 +21,14 @@
 */
@RestController
@RequestMapping("${url.storage.prefix}${url.storage.version}/workspaces/")
@Slf4j
public class StorageController {
    private IStorageService storageService;
    @Autowired
    private void setOssService(@Autowired AliyunStorageServiceImpl aliyunStorageService,
                              @Autowired MinIOStorageServiceImpl minIOStorageService) {
    private void setOssService(@Autowired(required = false) AliyunStorageServiceImpl aliyunStorageService,
                              @Autowired(required = false) MinIOStorageServiceImpl minIOStorageService) {
        if (AliyunOSSConfiguration.enable) {
            this.storageService = aliyunStorageService;
            return;
@@ -35,7 +37,7 @@
            this.storageService = minIOStorageService;
            return;
        }
        throw new NullPointerException("storageService is null.");
        log.error("storageService is null.");
    }
    /**
     * Get temporary credentials for uploading the media and wayline in DJI Pilot.
src/main/java/com/dji/sample/wayline/controller/WaylineFileController.java
@@ -75,7 +75,7 @@
        try {
            response.sendRedirect(url.toString());
        } catch (IOException e) {
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
src/main/java/com/dji/sample/wayline/service/impl/WaylineFileServiceImpl.java
@@ -15,6 +15,7 @@
import com.dji.sample.wayline.model.WaylineFileEntity;
import com.dji.sample.wayline.model.WaylineQueryParam;
import com.dji.sample.wayline.service.IWaylineFileService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -33,6 +34,7 @@
 */
@Service
@Transactional
@Slf4j
public class WaylineFileServiceImpl implements IWaylineFileService {
    @Autowired
@@ -41,7 +43,8 @@
    private IOssService ossService;
    @Autowired
    private void setOssService(@Autowired AliyunOssServiceImpl aliyunOssService, @Autowired MinIOServiceImpl minIOService) {
    private void setOssService(@Autowired(required = false) AliyunOssServiceImpl aliyunOssService,
                               @Autowired(required = false) MinIOServiceImpl minIOService) {
        if (AliyunOSSConfiguration.enable) {
            this.ossService = aliyunOssService;
            return;
@@ -50,7 +53,7 @@
            this.ossService = minIOService;
            return;
        }
        throw new NullPointerException("ossService is null.");
        log.error("ossService is null.");
    }
    @Override
src/main/resources/application.yml
@@ -58,7 +58,7 @@
# Tutorial: https://help.aliyun.com/document_detail/100624.htm?spm=a2c4g.11186623.0.0.74075e34eIhK7T#concept-xzh-nzk-2gb
aliyun:
  oss:
    enable: true
    enable: false
    endpoint: Please enter your endpoint. # Example: https://oss-cn-shenzhen.aliyuncs.com
    access-key: Please enter your access key.
    secret-key: Please enter your secret key.