|
@@ -2,6 +2,8 @@ package org.springblade.archive.service.impl;
|
|
|
|
|
|
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
|
|
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
|
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
|
|
|
+import com.itextpdf.text.Element;
|
|
|
|
+import com.itextpdf.text.pdf.*;
|
|
import lombok.AllArgsConstructor;
|
|
import lombok.AllArgsConstructor;
|
|
import org.apache.poi.ss.usermodel.*;
|
|
import org.apache.poi.ss.usermodel.*;
|
|
import org.apache.poi.util.IOUtils;
|
|
import org.apache.poi.util.IOUtils;
|
|
@@ -25,10 +27,8 @@ import org.springblade.resource.feign.NewIOSSClient;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
|
|
|
|
-import java.io.File;
|
|
|
|
-import java.io.FileInputStream;
|
|
|
|
-import java.io.FileOutputStream;
|
|
|
|
-import java.io.InputStream;
|
|
|
|
|
|
+import java.io.*;
|
|
|
|
+import java.net.URLEncoder;
|
|
import java.time.LocalDateTime;
|
|
import java.time.LocalDateTime;
|
|
import java.time.format.DateTimeFormatter;
|
|
import java.time.format.DateTimeFormatter;
|
|
import java.util.ArrayList;
|
|
import java.util.ArrayList;
|
|
@@ -49,15 +49,19 @@ public class ArchiveAutoPdfServiceImpl implements IArchiveAutoPdfService {
|
|
public static final String[] ARCHIVE_NUMBER = new String[]{"r_Archives_front","r_Archives_catalog","r_Archives_spare","r_Archives_back"};
|
|
public static final String[] ARCHIVE_NUMBER = new String[]{"r_Archives_front","r_Archives_catalog","r_Archives_spare","r_Archives_back"};
|
|
|
|
|
|
public static final Map<String, String> URL_MAP = new HashMap<>();
|
|
public static final Map<String, String> URL_MAP = new HashMap<>();
|
|
|
|
+ public static final Map<String, String> NAME_MAP = new HashMap<>();
|
|
|
|
|
|
static {
|
|
static {
|
|
URL_MAP.put("r_Archives_front", "https://bladex-chongqing-info.oss-cn-hangzhou.aliyuncs.com//upload/20230413/306c87ffc640699aa92d53a5f4e6d632.xlsx");
|
|
URL_MAP.put("r_Archives_front", "https://bladex-chongqing-info.oss-cn-hangzhou.aliyuncs.com//upload/20230413/306c87ffc640699aa92d53a5f4e6d632.xlsx");
|
|
URL_MAP.put("r_Archives_catalog", "https://bladex-chongqing-info.oss-cn-hangzhou.aliyuncs.com//upload/20230413/f2a083fca685c646e4a47daaaa46f04b.xlsx");
|
|
URL_MAP.put("r_Archives_catalog", "https://bladex-chongqing-info.oss-cn-hangzhou.aliyuncs.com//upload/20230413/f2a083fca685c646e4a47daaaa46f04b.xlsx");
|
|
URL_MAP.put("r_Archives_spare", "https://bladex-chongqing-info.oss-cn-hangzhou.aliyuncs.com//upload/20230414/3798f8c3db6f94c8fce63eec8c716d6c.xlsx");
|
|
URL_MAP.put("r_Archives_spare", "https://bladex-chongqing-info.oss-cn-hangzhou.aliyuncs.com//upload/20230414/3798f8c3db6f94c8fce63eec8c716d6c.xlsx");
|
|
URL_MAP.put("r_Archives_back", "https://bladex-chongqing-info.oss-cn-hangzhou.aliyuncs.com//upload/20230413/31081917b41e12b9b0359f6a9c1755bd.xlsx");
|
|
URL_MAP.put("r_Archives_back", "https://bladex-chongqing-info.oss-cn-hangzhou.aliyuncs.com//upload/20230413/31081917b41e12b9b0359f6a9c1755bd.xlsx");
|
|
- }
|
|
|
|
|
|
|
|
- public static final String LocalPath = "/www/wwwroot/Users/hongchuangyanfa/Desktop/";
|
|
|
|
|
|
+ NAME_MAP.put("r_Archives_front", "封面");
|
|
|
|
+ NAME_MAP.put("r_Archives_catalog", "卷内目录");
|
|
|
|
+ NAME_MAP.put("r_Archives_spare", "备考表");
|
|
|
|
+ NAME_MAP.put("r_Archives_back", "脊背");
|
|
|
|
+ }
|
|
|
|
|
|
|
|
|
|
//测试数据
|
|
//测试数据
|
|
@@ -78,7 +82,7 @@ public class ArchiveAutoPdfServiceImpl implements IArchiveAutoPdfService {
|
|
String key1 = "2__"+ dataVO1.getY() + "_" + dataVO1.getX();
|
|
String key1 = "2__"+ dataVO1.getY() + "_" + dataVO1.getX();
|
|
DataInfo.put(key1,"hahahahaa");
|
|
DataInfo.put(key1,"hahahahaa");
|
|
try {
|
|
try {
|
|
- String url = getBussPdfInfo(pkeyId,DataInfo,excelUrl,file_path);
|
|
|
|
|
|
+ String url = getBussPdfInfo(pkeyId.toString(),DataInfo,excelUrl,file_path);
|
|
} catch (Exception e) {
|
|
} catch (Exception e) {
|
|
e.printStackTrace();
|
|
e.printStackTrace();
|
|
}
|
|
}
|
|
@@ -205,30 +209,60 @@ public class ArchiveAutoPdfServiceImpl implements IArchiveAutoPdfService {
|
|
List<String> backUrls = new ArrayList<>();
|
|
List<String> backUrls = new ArrayList<>();
|
|
for (String number : numberFronts) {
|
|
for (String number : numberFronts) {
|
|
// 具体实现省略
|
|
// 具体实现省略
|
|
- buildFrontPdf(number, variables,frontUrls);
|
|
|
|
|
|
+ buildFrontPdf(archivesAuto,number, variables,frontUrls);
|
|
}
|
|
}
|
|
|
|
|
|
for (String number : numberBacks) {
|
|
for (String number : numberBacks) {
|
|
// 具体实现省略
|
|
// 具体实现省略
|
|
- buildFrontPdf(number, variables,backUrls);
|
|
|
|
|
|
+ buildFrontPdf(archivesAuto,number, variables,backUrls);
|
|
}
|
|
}
|
|
|
|
+
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ /**
|
|
|
|
+ * 打码
|
|
|
|
+ * @param archivesAuto
|
|
|
|
+ * @param waitArchiveFiles
|
|
|
|
+ */
|
|
|
|
+ public void builtFilePageNo(ArchivesAuto archivesAuto,List<ArchiveFile> waitArchiveFiles){
|
|
|
|
+ //声影的要不要打码
|
|
|
|
+ if (archivesAuto.getCarrierType()!= null &&
|
|
|
|
+ archivesAuto.getCarrierType().equals("5")) {
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ List<String> urls = new ArrayList<>();
|
|
|
|
+ for (ArchiveFile f: waitArchiveFiles) {
|
|
|
|
+ String url = getPdfFileUrl(f);
|
|
|
|
+ urls.add(url);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ List<String> pageUrls = FileUtils.doForPageNumberUseItextpdf(urls,newIOSSClient);
|
|
|
|
+ for(int i=0;i<waitArchiveFiles.size();i++){
|
|
|
|
+ waitArchiveFiles.get(i).setPdfFileUrl(pageUrls.get(i));
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
/**
|
|
/**
|
|
*
|
|
*
|
|
* @param number 四要素的表名
|
|
* @param number 四要素的表名
|
|
* @param variables 参数集
|
|
* @param variables 参数集
|
|
* @param urls 返回的url
|
|
* @param urls 返回的url
|
|
*/
|
|
*/
|
|
- public void buildFrontPdf(String number, Map<String,Object> variables,List<String> urls) {
|
|
|
|
|
|
+ public void buildFrontPdf(ArchivesAuto archivesAuto,String number, Map<String,Object> variables,List<String> urls) {
|
|
// Step 1: Get the list of formulas using archiveFormulaConfigService
|
|
// Step 1: Get the list of formulas using archiveFormulaConfigService
|
|
List<ArchiveFormulaConfig> formulaConfigs = archiveFormulaConfigService.getByNumber(number);
|
|
List<ArchiveFormulaConfig> formulaConfigs = archiveFormulaConfigService.getByNumber(number);
|
|
|
|
|
|
- String file_path = LocalPath;
|
|
|
|
|
|
+ String file_path = FileUtils.LocalPath;
|
|
String excelUrl = getUrlByNumber(number);
|
|
String excelUrl = getUrlByNumber(number);
|
|
Map<String, Object> dataInfo = new HashMap<>();
|
|
Map<String, Object> dataInfo = new HashMap<>();
|
|
|
|
|
|
ArchiveFormulaConfig multiLineconfig = null;
|
|
ArchiveFormulaConfig multiLineconfig = null;
|
|
|
|
+ String fileName = NAME_MAP.get(number)+ "-" + archivesAuto.getId();
|
|
|
|
|
|
for (ArchiveFormulaConfig config : formulaConfigs) {
|
|
for (ArchiveFormulaConfig config : formulaConfigs) {
|
|
String coords = config.getCoords();
|
|
String coords = config.getCoords();
|
|
@@ -249,11 +283,11 @@ public class ArchiveAutoPdfServiceImpl implements IArchiveAutoPdfService {
|
|
if (multiLineconfig != null) {
|
|
if (multiLineconfig != null) {
|
|
String coords = multiLineconfig.getCoords();
|
|
String coords = multiLineconfig.getCoords();
|
|
String formula = multiLineconfig.getFormula();
|
|
String formula = multiLineconfig.getFormula();
|
|
- handleArchiveFile(coords, formula, variables, file_path, excelUrl, dataInfo,urls);
|
|
|
|
|
|
+ handleArchiveFile(coords, formula, variables, file_path, excelUrl, dataInfo,urls,fileName);
|
|
|
|
|
|
}else {
|
|
}else {
|
|
try {
|
|
try {
|
|
- String url = getBussPdfInfo(null, dataInfo, excelUrl, file_path);
|
|
|
|
|
|
+ String url = getBussPdfInfo(fileName, dataInfo, excelUrl, file_path);
|
|
urls.add(url);
|
|
urls.add(url);
|
|
} catch (Exception e) {
|
|
} catch (Exception e) {
|
|
e.printStackTrace();
|
|
e.printStackTrace();
|
|
@@ -274,7 +308,11 @@ public class ArchiveAutoPdfServiceImpl implements IArchiveAutoPdfService {
|
|
*/
|
|
*/
|
|
private void handleArchiveFile(String coords, String formula,
|
|
private void handleArchiveFile(String coords, String formula,
|
|
Map<String,Object> variables,String file_path,
|
|
Map<String,Object> variables,String file_path,
|
|
- String excelUrl, Map<String, Object> dataInfo,List<String> urls){
|
|
|
|
|
|
+ String excelUrl, Map<String, Object> dataInfo,List<String> urls,String fileName){
|
|
|
|
+ //todo 目录多页合并一页,文件名带上
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ List<String> localUrls = new ArrayList<>();
|
|
String[] coordArr = coords.split("~");
|
|
String[] coordArr = coords.split("~");
|
|
if (coordArr.length == 2) {
|
|
if (coordArr.length == 2) {
|
|
DataVO dataVO1 = FormulaUtil.convertCellToIndex(coordArr[0]);
|
|
DataVO dataVO1 = FormulaUtil.convertCellToIndex(coordArr[0]);
|
|
@@ -313,8 +351,8 @@ public class ArchiveAutoPdfServiceImpl implements IArchiveAutoPdfService {
|
|
subIndex++;
|
|
subIndex++;
|
|
}
|
|
}
|
|
try {
|
|
try {
|
|
- String url = getBussPdfInfo(null, pageMap, excelUrl, file_path);
|
|
|
|
- urls.add(url);
|
|
|
|
|
|
+ String url = getBussPdfInfo(fileName + subIndex, pageMap, excelUrl, file_path);
|
|
|
|
+ localUrls.add(url);
|
|
} catch (Exception e) {
|
|
} catch (Exception e) {
|
|
e.printStackTrace();
|
|
e.printStackTrace();
|
|
}
|
|
}
|
|
@@ -327,6 +365,16 @@ public class ArchiveAutoPdfServiceImpl implements IArchiveAutoPdfService {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ //合并成一个
|
|
|
|
+ if (localUrls.size() > 1) {
|
|
|
|
+ ByteArrayOutputStream bos = new ByteArrayOutputStream();
|
|
|
|
+ FileUtils.PdfCopyPublicMethods(bos, localUrls);
|
|
|
|
+ BladeFile bladeFile = newIOSSClient.updateFile(bos.toByteArray(),fileName);
|
|
|
|
+ if (bladeFile!= null ) {
|
|
|
|
+ urls.add(bladeFile.getLink());
|
|
|
|
+ }
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -367,21 +415,21 @@ public class ArchiveAutoPdfServiceImpl implements IArchiveAutoPdfService {
|
|
|
|
|
|
/**
|
|
/**
|
|
* 生成单张pdf
|
|
* 生成单张pdf
|
|
- * @param pkeyId 生成pdf的id
|
|
|
|
|
|
+ * @param fileName 文件名
|
|
* @param DataInfo excel和数据
|
|
* @param DataInfo excel和数据
|
|
* @param excelUrl excel模板
|
|
* @param excelUrl excel模板
|
|
* @param filePath 本地路径
|
|
* @param filePath 本地路径
|
|
* @return
|
|
* @return
|
|
* @throws Exception
|
|
* @throws Exception
|
|
*/
|
|
*/
|
|
- public String getBussPdfInfo(Long pkeyId,Map<String, Object> DataInfo,String excelUrl,String filePath) throws Exception{
|
|
|
|
|
|
+ public String getBussPdfInfo(String fileName,Map<String, Object> DataInfo,String excelUrl,String filePath) throws Exception{
|
|
|
|
|
|
- if (pkeyId == null) {
|
|
|
|
- pkeyId = SnowFlakeUtil.getId();
|
|
|
|
|
|
+ if (fileName == null) {
|
|
|
|
+ fileName = SnowFlakeUtil.getId().toString();
|
|
}
|
|
}
|
|
|
|
|
|
- String pdfPath = filePath + "/pdf//" + pkeyId + ".pdf";
|
|
|
|
- String excelPath = filePath + "/pdf//" + pkeyId + ".xlsx";
|
|
|
|
|
|
+ String pdfPath = filePath + "/pdf//" + fileName + ".pdf";
|
|
|
|
+ String excelPath = filePath + "/pdf//" + fileName + ".xlsx";
|
|
File tabPdf = ResourceUtil.getFile(pdfPath);
|
|
File tabPdf = ResourceUtil.getFile(pdfPath);
|
|
if (tabPdf.exists()) {
|
|
if (tabPdf.exists()) {
|
|
tabPdf.delete();
|
|
tabPdf.delete();
|
|
@@ -465,7 +513,7 @@ public class ArchiveAutoPdfServiceImpl implements IArchiveAutoPdfService {
|
|
FileOutputStream outputStream = new FileOutputStream(excelPath);
|
|
FileOutputStream outputStream = new FileOutputStream(excelPath);
|
|
workbook.write(outputStream);
|
|
workbook.write(outputStream);
|
|
FileUtils.setExcelScaleToPdf(excelPath, pdfPath);
|
|
FileUtils.setExcelScaleToPdf(excelPath, pdfPath);
|
|
- BladeFile bladeFile = newIOSSClient.uploadFile(pkeyId + ".pdf", pdfPath);
|
|
|
|
|
|
+ BladeFile bladeFile = newIOSSClient.uploadFile(fileName + ".pdf", pdfPath);
|
|
|
|
|
|
String pdfLink = "";
|
|
String pdfLink = "";
|
|
if (bladeFile!= null ){
|
|
if (bladeFile!= null ){
|
|
@@ -490,6 +538,9 @@ public class ArchiveAutoPdfServiceImpl implements IArchiveAutoPdfService {
|
|
Integer idx = 0;
|
|
Integer idx = 0;
|
|
Integer iStartPage = 1;
|
|
Integer iStartPage = 1;
|
|
List<Map<String, Object>> fileMapList = new ArrayList<>();
|
|
List<Map<String, Object>> fileMapList = new ArrayList<>();
|
|
|
|
+
|
|
|
|
+ //todo 增加获取总大小
|
|
|
|
+ Integer size = 0;
|
|
for (ArchiveFile file: datas) {
|
|
for (ArchiveFile file: datas) {
|
|
idx++;
|
|
idx++;
|
|
//设置序号
|
|
//设置序号
|
|
@@ -508,11 +559,14 @@ public class ArchiveAutoPdfServiceImpl implements IArchiveAutoPdfService {
|
|
file.setPageNum(lastPageNum);
|
|
file.setPageNum(lastPageNum);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+
|
|
|
|
+
|
|
Map<String, Object> fileMap = new ObjectMapper().convertValue(file, Map.class);
|
|
Map<String, Object> fileMap = new ObjectMapper().convertValue(file, Map.class);
|
|
fileMapList.add(fileMap);
|
|
fileMapList.add(fileMap);
|
|
}
|
|
}
|
|
//设置总页数
|
|
//设置总页数
|
|
archive.setPageN(iStartPage - 1);
|
|
archive.setPageN(iStartPage - 1);
|
|
|
|
+ archive.setSize(size);
|
|
|
|
|
|
// 找出最小和最大日期
|
|
// 找出最小和最大日期
|
|
String minDate = "";
|
|
String minDate = "";
|
|
@@ -572,4 +626,124 @@ public class ArchiveAutoPdfServiceImpl implements IArchiveAutoPdfService {
|
|
return url;
|
|
return url;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ /**
|
|
|
|
+ * @Description 给多个PDF添加页码,按顺序依次累加
|
|
|
|
+ * @Param [uris, storeName]
|
|
|
|
+ * @return java.util.List<java.lang.String>
|
|
|
|
+ * @Author yangyj
|
|
|
|
+ * @Date 2021.12.17 14:21
|
|
|
|
+ **/
|
|
|
|
+ public static List<String> doForPageNumberUseItextpdf(List<String> uris) throws IOException {
|
|
|
|
+ List<String> result = new ArrayList<>();
|
|
|
|
+ if(uris!= null && uris.size() > 0){
|
|
|
|
+ int cursor=0;
|
|
|
|
+ for(String u:uris) {
|
|
|
|
+ try {
|
|
|
|
+ String url="";
|
|
|
|
+ //todo 匿名访问特性
|
|
|
|
+ String temporaryVisitUrl=u;
|
|
|
|
+ if(temporaryVisitUrl.indexOf("?")!=-1){
|
|
|
|
+ url = temporaryVisitUrl;
|
|
|
|
+ }else{
|
|
|
|
+ int lastIndexOf = u.lastIndexOf("/");
|
|
|
|
+ String prefix=u.substring(0,lastIndexOf+1);
|
|
|
|
+ String suffix=u.substring(lastIndexOf+1);
|
|
|
|
+ url = prefix+ URLEncoder.encode(suffix,"UTF-8");
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ PdfReader pdfReader = new PdfReader(url);
|
|
|
|
+ ByteArrayOutputStream out = new ByteArrayOutputStream();
|
|
|
|
+ PdfStamper pdfStamper = new PdfStamper(pdfReader, out);
|
|
|
|
+ int index = 1;
|
|
|
|
+ boolean fi;
|
|
|
|
+// String path = u.replaceAll(FileUtils.DOMAIN_REG, "").replaceAll(".((?i)(pdf))$", "").replace("folderFile", FolderFileHelper.ARCHIVED_FILE).replace("showtmp",FolderFileHelper.ARCHIVED_FILE);
|
|
|
|
+
|
|
|
|
+ String page = "page" + (cursor + 1);
|
|
|
|
+ do {
|
|
|
|
+ PdfContentByte over = pdfStamper.getOverContent(index);
|
|
|
|
+ if (over != null) {
|
|
|
|
+ over.beginText();
|
|
|
|
+ BaseFont bf = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.WINANSI, BaseFont.EMBEDDED);
|
|
|
|
+ over.setFontAndSize(bf, 16);
|
|
|
|
+ over.setTextMatrix(30, 300);
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ PdfArray pa = pdfReader.getPageN(index).getAsArray(new PdfName("MediaBox"));
|
|
|
|
+ int width = pa.getAsNumber(2).intValue();
|
|
|
|
+ int heigh = pa.getAsNumber(3).intValue();
|
|
|
|
+
|
|
|
|
+ if(width>heigh){
|
|
|
|
+ //横表旋转270
|
|
|
|
+ pdfReader.getPageN(index).put(PdfName.ROTATE, new PdfNumber(270)); // 顺时针旋转270°
|
|
|
|
+ //横表旋转后打页码坐标不一样
|
|
|
|
+ over.showTextAligned(Element.ALIGN_LEFT, String.valueOf(cursor + index), heigh - 35, 20, 0);
|
|
|
|
+ }else{
|
|
|
|
+ over.showTextAligned(Element.ALIGN_LEFT, String.valueOf(cursor + index), width - 35, 20, 0);
|
|
|
|
+ }
|
|
|
|
+ over.endText();
|
|
|
|
+ index++;
|
|
|
|
+ fi = true;
|
|
|
|
+ } else {
|
|
|
|
+ /*累加*/
|
|
|
|
+ cursor += index-1;
|
|
|
|
+ /*重置*/
|
|
|
|
+ fi = false;
|
|
|
|
+ index = 1;
|
|
|
|
+ }
|
|
|
|
+ } while (fi);
|
|
|
|
+ pdfStamper.close();
|
|
|
|
+ page = page + "-" + cursor + ".pdf";
|
|
|
|
+// int lastindex = path.lastIndexOf("/");
|
|
|
|
+// String fileName = path.substring(lastindex + 1) + "-" + page;
|
|
|
|
+
|
|
|
|
+ //newIOSSClient.uploadFile()
|
|
|
|
+
|
|
|
|
+ //result.add(AliyunOSSUtil.uploadFile(out.toByteArray(), fileName, path.substring(0, lastindex), ".pdf", storeName));
|
|
|
|
+ out.close();
|
|
|
|
+ }catch(Exception e){
|
|
|
|
+ System.out.println(u+"文件不存在");
|
|
|
|
+ /*用来占位置空*/
|
|
|
|
+ result.add("");
|
|
|
|
+ e.printStackTrace();
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ return result;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 获取指定文件的pdf文件
|
|
|
|
+ * @param file
|
|
|
|
+ * @return
|
|
|
|
+ */
|
|
|
|
+ public String getPdfFileUrl(ArchiveFile file){
|
|
|
|
+ //
|
|
|
|
+ String url = file.getPdfFileUrl();
|
|
|
|
+ if (StringUtil.isEmpty(url)) {
|
|
|
|
+ url = file.getFileUrl();
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ //todo 生成相册内容,待补充
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ return url;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 获取案卷的大小
|
|
|
|
+ * @param datas
|
|
|
|
+ * @param frontUrls
|
|
|
|
+ * @return
|
|
|
|
+ */
|
|
|
|
+ public Long getArchiveSize(List<ArchiveFile> datas,List<String> frontUrls){
|
|
|
|
+ //
|
|
|
|
+ return 0L;
|
|
|
|
+
|
|
|
|
+ //todo 生成相册内容,待补充
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+
|
|
}
|
|
}
|