Browse Source

增加PDF URL

plf 4 years ago
parent
commit
c2a795bac3

+ 21 - 6
src/main/java/com/caimei/www/service/page/impl/DocumentAuthServiceImpl.java

@@ -163,6 +163,7 @@ public class DocumentAuthServiceImpl implements DocumentAuthService {
                 }
                 List<OssArchivePdf> pdfList = documentAuthDao.findOssArchivePdf(ossArchive.getId());
                 if (pdfList != null && pdfList.size() > 0) {
+                    pdfList.forEach(this::setOssArchivePdfUrl);
                     ossArchive.setIsShowDowns(false);
                 } else {
                     ossArchive.setIsShowDowns(true);
@@ -178,21 +179,32 @@ public class DocumentAuthServiceImpl implements DocumentAuthService {
     public Mono<JsonModel> dataDetails(Integer pdfId) {
         Map<String, Object> map = new HashMap<>(2);
         OssArchivePdf ossArchivePdf = documentAuthDao.findOssArchivePdfById(pdfId);
-        OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
-        // 设置URL过期时间为1个小时
-        Date expiration = new Date(System.currentTimeMillis() + 3600L * 1000);
-        String url = ossClient.generatePresignedUrl(bucketName, ossArchivePdf.getOssName(), expiration).toString();
-        ossArchivePdf.setUrl(url);
+        setOssArchivePdfUrl(ossArchivePdf);
         OssArchive ossArchive = documentAuthDao.getOssArchive(ossArchivePdf.getArchiveId());
         if (!StringUtils.isEmpty(ossArchive.getMainImage())) {
             ossArchive.setMainImage(ImageUtil.getImageURL("product", ossArchive.getMainImage(), 0, domain));
         }
         map.put("ossArchivePdf", ossArchivePdf);
         map.put("ossArchive", ossArchive);
-        ossClient.shutdown();
+
         return Mono.just(JsonModel.success(map));
     }
 
+
+    /**
+     * 设置预览链接
+     *
+     * @param ossArchivePdf pdf文件
+     */
+    private void setOssArchivePdfUrl(OssArchivePdf ossArchivePdf) {
+        OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
+        // 设置URL过期时间为1个小时
+        Date expiration = new Date(System.currentTimeMillis() + 3600L * 1000);
+        String url = ossClient.generatePresignedUrl(bucketName, ossArchivePdf.getOssName(), expiration).toString();
+        ossArchivePdf.setUrl(url);
+        ossClient.shutdown();
+    }
+
     @Override
     public Mono<JsonModel> moreData(Integer archiveId) {
         OssArchive ossArchive = documentAuthDao.getOssArchive(archiveId);
@@ -201,6 +213,9 @@ public class DocumentAuthServiceImpl implements DocumentAuthService {
                 ossArchive.setMainImage(ImageUtil.getImageURL("product", ossArchive.getMainImage(), 0, domain));
             }
             List<OssArchivePdf> pdfList = documentAuthDao.findOssArchivePdf(ossArchive.getId());
+            if (pdfList != null && pdfList.size() > 0) {
+                pdfList.forEach(this::setOssArchivePdfUrl);
+            }
             ossArchive.setPdfList(pdfList);
         }
         return Mono.just(JsonModel.success(ossArchive));