Przeglądaj źródła

修正四要素

huangtf 2 lat temu
rodzic
commit
170b767e4c

+ 2 - 0
blade-service/blade-archive/src/main/java/org/springblade/archive/service/impl/ArchiveAutoPdfServiceImpl.java

@@ -431,6 +431,8 @@ public class ArchiveAutoPdfServiceImpl implements IArchiveAutoPdfService {
             if (bladeFile!= null ) {
                 urls.add(bladeFile.getLink());
             }
+        }else if (localUrls.size() == 1) {
+            urls.add(localUrls.get(0));
         }
     }
 

+ 47 - 6
blade-service/blade-archive/src/main/java/org/springblade/archive/service/impl/ArchivesAutoServiceImpl.java

@@ -25,8 +25,10 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import lombok.AllArgsConstructor;
 import org.apache.commons.lang.StringUtils;
+import org.springblade.archive.entity.ArchiveProjectConfig;
 import org.springblade.archive.entity.ArchivesAuto;
 import org.springblade.archive.service.IArchiveAutoPdfService;
+import org.springblade.archive.service.IArchiveProjectConfigService;
 import org.springblade.archive.utils.ArchiveTreeUtil;
 import org.springblade.archive.utils.FileUtils;
 import org.springblade.archive.vo.ArchivesAutoVO;
@@ -83,6 +85,8 @@ public class ArchivesAutoServiceImpl extends BaseServiceImpl<ArchivesAutoMapper,
 	private IArchiveAutoPdfService archiveAutoPdfService;
 	private final NewIOSSClient iossClient;
 
+	private final IArchiveProjectConfigService archiveProjectConfigService;
+
 
 	@Override
 	public IPage<ArchivesAutoVO> selectArchivesAutoPage(IPage<ArchivesAutoVO> page, ArchivesAutoVO archivesAuto) {
@@ -1065,6 +1069,29 @@ public class ArchivesAutoServiceImpl extends BaseServiceImpl<ArchivesAutoMapper,
 			frontUrls = outUrl.split(",");
 		}
 
+		ArchiveProjectConfig config = archiveProjectConfigService.getByProjectIdOrNew(archivesAuto.getProjectId());
+
+		// 根据 factorType 字符串生成档案号码字符串链表
+		String front = "";
+		String cataLog = "";
+		String spare = "";
+		String back = "";
+
+
+		for (String frontUrl : frontUrls) {
+			if (frontUrl.contains(ArchiveAutoPdfServiceImpl.ARCHIVE_NUMBER[0]) && config.getFactorType().contains("1")) {
+				front = frontUrl;
+			}else if (frontUrl.contains(ArchiveAutoPdfServiceImpl.ARCHIVE_NUMBER[1]) && config.getFactorType().contains("2")) {
+				cataLog = frontUrl;
+			}
+			else if  (frontUrl.contains(ArchiveAutoPdfServiceImpl.ARCHIVE_NUMBER[2]) && config.getFactorType().contains("3")) {
+				spare = frontUrl;
+			}
+			else if  (frontUrl.contains(ArchiveAutoPdfServiceImpl.ARCHIVE_NUMBER[3]) && config.getFactorType().contains("4")) {
+				back = frontUrl;
+			}
+		}
+
 		List<String> fileUrls =new ArrayList<>();
 		if (!archivesAuto.isMedia()) {
 			List<ArchiveFile> result = this.archiveFileClient.getArchiveFileByArchivesId(archivesAuto.getId().toString(),"");
@@ -1083,17 +1110,31 @@ public class ArchivesAutoServiceImpl extends BaseServiceImpl<ArchivesAutoMapper,
 
 		if (fileUrls.size() > 0){
 			//此处暂时这么处理,等oss上传接口里文件名可以区分后,再单独取
-			if (frontUrls != null && frontUrls.length > 3){
+//			if (frontUrls != null && frontUrls.length > 3){
+//
+//				urlList.add(frontUrls[0]);
+//				urlList.add(frontUrls[1]);
+//			}
+			if (StringUtils.isNotEmpty(front)) {
+				urlList.add(front);
+			}
 
-				urlList.add(frontUrls[0]);
-				urlList.add(frontUrls[1]);
+			if (StringUtils.isNotEmpty(cataLog)) {
+				urlList.add(cataLog);
 			}
 
 			urlList.addAll(fileUrls);
 
-			if (frontUrls != null && frontUrls.length > 3){
-				urlList.add(frontUrls[2]);
-				urlList.add(frontUrls[3]);
+//			if (frontUrls != null && frontUrls.length > 3){
+//				urlList.add(frontUrls[2]);
+//				urlList.add(frontUrls[3]);
+//			}
+			if (StringUtils.isNotEmpty(spare)) {
+				urlList.add(spare);
+			}
+
+			if (StringUtils.isNotEmpty(back)) {
+				urlList.add(back);
 			}
 			String fileName = SnowFlakeUtil.getId().toString();
 			url = archiveAutoPdfService.MergePdfAndUpload(urlList,fileName,null,archivesAuto.getProjectId());

+ 1 - 1
blade-service/blade-archive/src/main/java/org/springblade/archive/utils/FileUtils.java

@@ -495,7 +495,7 @@ public class FileUtils {
                         //BladeFile bladeFile  = newIOSSClient.updateFile(out.toByteArray(),fileName);
 
                         String absoluteFileName = FileUtils.getOssPath(OssConstant.ARCHIVE_DIRECTORY,fileName,projectId);
-                        BladeFile bladeFile = newIOSSClient.uploadFile(absoluteFileName + ".pdf", filePath);
+                        BladeFile bladeFile = newIOSSClient.uploadFile(absoluteFileName, filePath);
                         //BladeFile bladeFile  = newIOSSClient.uploadFile(fileName,filePath,OssConstant.ARCHIVE_DIRECTORY,projectId);
                         result.add(bladeFile.getLink());
 //                        File f = new File(filePath);