认证-参数项收集清单-变更:添加导出功能
This commit is contained in:
+8
-1
@@ -522,7 +522,14 @@ public class ParamsCollectManifestEOController extends JeroController<ParamsColl
|
||||
return Result.OK("带入工程接口人成功!");
|
||||
}
|
||||
|
||||
|
||||
@ApiOperation(value = "参数项收集清单-全部导出")
|
||||
@GetMapping(value = "/exportAll")
|
||||
// @RequiresPermissions("report:detail:export:normal")
|
||||
public void exportAll(ParamsCollectManifestVO paramsCollectManifestVO,
|
||||
HttpServletResponse response,
|
||||
HttpServletRequest request) {
|
||||
paramsCollectManifestEOService.exportAll(paramsCollectManifestVO, response, request);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
+3
@@ -6,6 +6,7 @@ import com.jero.modules.cert.collect.entity.ParamsCollectManifestEO;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @Description: 参数收集清单
|
||||
@@ -17,6 +18,8 @@ public interface ParamsCollectManifestEOMapper extends BaseMapper<ParamsCollectM
|
||||
|
||||
List<ParamsCollectManifestEO> listInfo(@Param("paramsCollectManifestEO") ParamsCollectManifestEO paramsCollectManifestEO);
|
||||
|
||||
List<Map<String, Object>> listInfoForExport(@Param("paramsCollectManifestEO") ParamsCollectManifestEO paramsCollectManifestEO);
|
||||
|
||||
// 查询控件类型为 标题的 参数项
|
||||
List<ParamsCollectManifestEO> listInfoOfTitle(@Param("paramsManifestId") String paramsManifestId);
|
||||
|
||||
|
||||
+8
@@ -80,6 +80,14 @@
|
||||
order by del_flag desc, add_flag desc, change_flag desc, nio_number asc
|
||||
</select>
|
||||
|
||||
<select id="listInfoForExport" resultType="java.util.LinkedHashMap">
|
||||
select *
|
||||
from params_collect_manifest
|
||||
<include refid="BaseQuerySql"/>
|
||||
and control_type != '11'
|
||||
order by del_flag desc, add_flag desc, change_flag desc, nio_number asc
|
||||
</select>
|
||||
|
||||
<select id="listInfoOfTitle" resultMap="ParamsCollectManifestEOResultMap">
|
||||
select *
|
||||
from params_collect_manifest
|
||||
|
||||
+4
@@ -6,6 +6,7 @@ import com.jero.modules.cert.collect.entity.ParamsCollectManifestEO;
|
||||
import com.jero.modules.cert.collect.vo.ParamsCollectManifestVO;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@@ -148,4 +149,7 @@ public interface IParamsCollectManifestEOService extends IService<ParamsCollectM
|
||||
|
||||
// 带入工程接口人
|
||||
boolean bringSdtInto(ParamsCollectManifestVO paramsCollectManifestVO);
|
||||
|
||||
// 全部导出
|
||||
void exportAll(ParamsCollectManifestVO paramsCollectManifestVO, HttpServletResponse response, HttpServletRequest request);
|
||||
}
|
||||
|
||||
+359
-1
@@ -2,6 +2,7 @@ package com.jero.modules.cert.collect.service.impl;
|
||||
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.ZipUtil;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
@@ -12,10 +13,12 @@ import com.jero.common.constant.CommonConstant;
|
||||
import com.jero.common.constant.WebsocketConst;
|
||||
import com.jero.common.constant.enums.CutEnum;
|
||||
import com.jero.common.constant.enums.MessageTypeEnum;
|
||||
import com.jero.common.constant.enums.ModuleEnum;
|
||||
import com.jero.common.constant.enums.YesOrNoEnum;
|
||||
import com.jero.common.exception.JeroBootException;
|
||||
import com.jero.common.system.query.QueryGenerator;
|
||||
import com.jero.common.system.vo.LoginUser;
|
||||
import com.jero.common.util.oss.CosBootUtil;
|
||||
import com.jero.generater.modules.online.cgform.entity.OnlCgformField;
|
||||
import com.jero.generater.modules.online.cgform.service.impl.OnlCgformFieldServiceImpl;
|
||||
import com.jero.modules.cert.collect.entity.*;
|
||||
@@ -46,6 +49,7 @@ import com.jero.modules.project.entity.ProjectLibraryBase;
|
||||
import com.jero.modules.project.entity.ProjectRelatedPersonnel;
|
||||
import com.jero.modules.project.mapper.ProjectLibraryBaseMapper;
|
||||
import com.jero.modules.project.service.IProjectRelatedPersonnelService;
|
||||
import com.jero.modules.split.common.ReadExcel;
|
||||
import com.jero.modules.system.entity.SysAnnouncement;
|
||||
import com.jero.modules.system.entity.SysDictItem;
|
||||
import com.jero.modules.system.entity.SysUser;
|
||||
@@ -54,8 +58,13 @@ import com.jero.modules.system.service.ISysAnnouncementService;
|
||||
import com.jero.modules.system.service.ISysDictItemService;
|
||||
import com.jero.modules.system.service.ISysUserRoleService;
|
||||
import com.jero.modules.system.service.ISysUserService;
|
||||
import org.apache.commons.lang3.ObjectUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.poi.hssf.util.HSSFColor;
|
||||
import org.apache.poi.util.IOUtils;
|
||||
import org.apache.poi.xssf.usermodel.*;
|
||||
import org.apache.shiro.SecurityUtils;
|
||||
import org.aspectj.util.FileUtil;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
@@ -65,8 +74,12 @@ import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import java.io.IOException;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.io.*;
|
||||
import java.lang.reflect.Field;
|
||||
import java.nio.file.Files;
|
||||
import java.nio.file.Paths;
|
||||
import java.nio.file.StandardOpenOption;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
@@ -126,6 +139,8 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
|
||||
@Resource
|
||||
private WebSocket webSocket; // 消息专用
|
||||
|
||||
@Value(value = "${jero.path.upload}")
|
||||
private String uploadpath;
|
||||
|
||||
|
||||
|
||||
@@ -1976,6 +1991,349 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
|
||||
return updateBatchById(updateCollectManifestEOList);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void exportAll(ParamsCollectManifestVO paramsCollectManifestVO, HttpServletResponse response, HttpServletRequest request) {
|
||||
OutputStream os = null;
|
||||
OutputStream excelOS = null;
|
||||
XSSFWorkbook workbook = new XSSFWorkbook();
|
||||
String fileOriName = "参数项清单导出信息";
|
||||
if (CutEnum.EN.getValue().equals(paramsCollectManifestVO.getCut())) {
|
||||
fileOriName = "Params info export data";
|
||||
}
|
||||
if (StringUtils.isNotEmpty(paramsCollectManifestVO.getExportName())) {
|
||||
fileOriName = paramsCollectManifestVO.getExportName();
|
||||
}
|
||||
//创建临时文件夹
|
||||
String fileNowPath = uploadpath + "/tempZip/" + UUID.randomUUID().toString().replace("-","") + File.separator + fileOriName;
|
||||
File nowFile = new File(fileNowPath);
|
||||
if (nowFile.exists()) {
|
||||
nowFile.delete();
|
||||
}
|
||||
nowFile.mkdirs();
|
||||
try{
|
||||
String fileName = fileOriName + ".xlsx";
|
||||
// 设置表格相关属性
|
||||
String sheetName = "参数项清单信息";
|
||||
if (CutEnum.EN.getValue().equals(paramsCollectManifestVO.getCut())) {
|
||||
sheetName = "Params data";
|
||||
}
|
||||
XSSFSheet sheetItems = workbook.createSheet(sheetName);
|
||||
String[] titles = getWorkbookTitleForExport(paramsCollectManifestVO); // 获取表头
|
||||
|
||||
String[] headers = titles[1].split(",");
|
||||
XSSFCellStyle cellStyle =workbook.createCellStyle();
|
||||
cellStyle.setWrapText(true);
|
||||
// cellStyle.setAlignment(XSSFCellStyle.ALIGN_CENTER);
|
||||
cellStyle.setVerticalAlignment(XSSFCellStyle.VERTICAL_CENTER);
|
||||
XSSFCellStyle cellStyle1 =workbook.createCellStyle();
|
||||
cellStyle1.setAlignment(XSSFCellStyle.ALIGN_CENTER);
|
||||
XSSFCellStyle cellStyleLink =workbook.createCellStyle();
|
||||
XSSFFont font = workbook.createFont();
|
||||
font.setColor(HSSFColor.LIGHT_BLUE.index);
|
||||
cellStyleLink.setFont(font);
|
||||
cellStyleLink.setWrapText(true);
|
||||
|
||||
// 查询需要导出的字段
|
||||
String field = titles[0]; // 字符串形式
|
||||
List<String> fieldList = Arrays.asList(field.split(",")); // list形式
|
||||
|
||||
// 查询导出数据
|
||||
List<Map<String, Object>> allParamsInfoList = queryForExportAll(paramsCollectManifestVO); // id记得去掉
|
||||
|
||||
// 开始处理工作表
|
||||
List<OSSFile> allRelevFileList = new ArrayList<>();
|
||||
|
||||
// 在excel表中添加表头
|
||||
XSSFRow row = sheetItems.createRow(0);
|
||||
for (int i = 0; i < headers.length; i++) {
|
||||
XSSFCell cell = row.createCell(i);
|
||||
XSSFRichTextString text = new XSSFRichTextString(headers[i]);
|
||||
cell.setCellValue(text);
|
||||
cell.setCellStyle(cellStyle1);
|
||||
sheetItems.setColumnWidth(i, 20 * 256); // 设置单元格宽度
|
||||
}
|
||||
|
||||
Map<String, String> fileNowPathMap = new HashMap<>();
|
||||
//放文字内容
|
||||
int allRow = 0;
|
||||
for(int rowNum = 0;rowNum < allParamsInfoList.size(); rowNum++){
|
||||
Map<String, Object> exportDto = allParamsInfoList.get(rowNum);
|
||||
|
||||
// 处理文件
|
||||
List<OSSFile> fileList = (List<OSSFile>) exportDto.get("fileList");
|
||||
if (CollectionUtil.isNotEmpty(fileList)) {
|
||||
allRelevFileList.addAll(fileList);
|
||||
fileList.forEach(file -> {
|
||||
fileNowPathMap.put(file.getId(), fileNowPath + File.separator + exportDto.get("nio_number"));
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
allRow++;
|
||||
XSSFRow row1 = sheetItems.createRow(allRow);
|
||||
for(int cellNum = 0; cellNum < fieldList.size(); cellNum++){
|
||||
if (ObjectUtils.isNotEmpty(exportDto.get(fieldList.get(cellNum)))) {
|
||||
row1.createCell(cellNum).setCellValue(exportDto.get(fieldList.get(cellNum)).toString());
|
||||
row1.getCell(cellNum).setCellStyle(cellStyle);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
//下载关联文件内容
|
||||
if (allRelevFileList != null && !allRelevFileList.isEmpty()) {
|
||||
allRelevFileList = allRelevFileList.stream().distinct().collect(Collectors.toList());
|
||||
downLoadFileList(allRelevFileList,fileNowPathMap);
|
||||
}
|
||||
|
||||
String repFileName = fileName.replaceAll("/","_");
|
||||
excelOS = new FileOutputStream(fileNowPath + File.separator + repFileName);
|
||||
response.setHeader("Content-Disposition",
|
||||
"attachment; filename=\""+ ReadExcel.encodeFileName(fileOriName+".zip", request) +"\"");
|
||||
response.setContentType("application/force-download");
|
||||
response.flushBuffer();
|
||||
os = response.getOutputStream();
|
||||
workbook.write(excelOS);
|
||||
excelOS.flush();
|
||||
excelOS.close();
|
||||
ZipUtil.zip(fileNowPath,fileNowPath+".zip");
|
||||
FileInputStream fis = new FileInputStream(fileNowPath+".zip");
|
||||
int len = 0;
|
||||
while ((len = fis.read()) != -1) {
|
||||
os.write(len);
|
||||
}
|
||||
|
||||
os.flush();
|
||||
os.close(); // 后开先关
|
||||
fis.close(); // 先开后关
|
||||
} catch (Exception e) {
|
||||
log.error(e.getMessage(), e);
|
||||
throw new JeroBootException("下载文件失败,请重试");
|
||||
} finally {
|
||||
IOUtils.closeQuietly(os);
|
||||
IOUtils.closeQuietly(excelOS);
|
||||
File tempZipFile = new File(uploadpath + "/tempZip");
|
||||
FileUtil.deleteContents(tempZipFile);
|
||||
}
|
||||
}
|
||||
|
||||
private String[] getWorkbookTitleForExport(ParamsCollectManifestVO paramsCollectManifestVO) {
|
||||
String cut = paramsCollectManifestVO.getCut();
|
||||
String paramsManifestId = paramsCollectManifestVO.getParamsManifestId();
|
||||
|
||||
List<OnlCgformField> fieldList = onlCgformFieldService.getFieldList(ModuleEnum.PARAMS_COLLECT_MANIFEST.getValue());
|
||||
|
||||
List<String> dbFieldNameList = new LinkedList<>();
|
||||
List<String> dbFieldList = new LinkedList<>();
|
||||
|
||||
if (fieldList.size() != 0) {
|
||||
//过滤列表字段(is_show_list-->列表是否显示0否 1是)
|
||||
fieldList = fieldList.stream().filter(e -> YesOrNoEnum.YES.getValue().equals(String.valueOf(e.getIsShowList()))).collect(Collectors.toList());
|
||||
}
|
||||
|
||||
// 固定列
|
||||
int indexOfDescription = 1; // 参数名称的位置
|
||||
for (int i = 0; i < fieldList.size(); i++) {
|
||||
OnlCgformField onlCgformField = fieldList.get(i);
|
||||
Map<String, Object> map = new HashMap<>();
|
||||
String dbFieldName = onlCgformField.getDbFieldName();
|
||||
if (!"deadline".equals(dbFieldName) && !"cert_category".equals(dbFieldName) && !"description".equals(dbFieldName)) {
|
||||
dbFieldList.add(dbFieldName);
|
||||
|
||||
if(CutEnum.CN.getValue().equals(cut)){
|
||||
dbFieldNameList.add(onlCgformField.getDbFieldTxt()); // 字段中文名
|
||||
}else{
|
||||
dbFieldNameList.add(onlCgformField.getDbFieldEnName()); // 字段英文名
|
||||
}
|
||||
if ("params_name".equals(dbFieldName)) {
|
||||
indexOfDescription = i;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 认证类别列
|
||||
List<String> dbFieldNameListCC = new LinkedList<>();
|
||||
List<String> dbFieldListCC = new LinkedList<>();
|
||||
// 查询所有认证类别
|
||||
List<SysDictItem> sysDictItemList = sysDictItemService.selectItemsByDictCode("cert_category");
|
||||
if (CutEnum.EN.getValue().equals(cut)) {
|
||||
sysDictItemList.forEach(sysDictItem -> {
|
||||
dbFieldListCC.add(sysDictItem.getItemValue());
|
||||
dbFieldNameListCC.add(sysDictItem.getEnName() + " Number");
|
||||
});
|
||||
|
||||
} else {
|
||||
sysDictItemList.forEach(sysDictItem -> {
|
||||
dbFieldListCC.add(sysDictItem.getItemValue());
|
||||
dbFieldNameListCC.add(sysDictItem.getItemText() + " 编号");
|
||||
});
|
||||
}
|
||||
|
||||
// 配置列
|
||||
List<String> dbFieldNameListConfig = new LinkedList<>();
|
||||
List<String> dbFieldListConfig = new LinkedList<>();
|
||||
List<ParamsConfigEO> paramsConfigEOList = paramsConfigEOService.queryList(paramsManifestId);
|
||||
for (ParamsConfigEO paramsConfigEO : paramsConfigEOList) {
|
||||
dbFieldListConfig.add(paramsConfigEO.getId());
|
||||
dbFieldNameListConfig.add(paramsConfigEO.getConfigName());
|
||||
}
|
||||
|
||||
// 插入认证类别列
|
||||
dbFieldList.addAll(indexOfDescription, dbFieldListCC);
|
||||
dbFieldNameList.addAll(indexOfDescription, dbFieldNameListCC);
|
||||
|
||||
// 插入配置列
|
||||
dbFieldList.addAll(dbFieldListConfig);
|
||||
dbFieldNameList.addAll(dbFieldNameListConfig);
|
||||
|
||||
String[] title = new String[2];
|
||||
String dbFieldStr = StringUtils.join(dbFieldList, ",");
|
||||
String dbFieldNameStr = StringUtils.join(dbFieldNameList, ",");
|
||||
|
||||
title[0] = dbFieldStr;
|
||||
title[1] = dbFieldNameStr;
|
||||
return title;
|
||||
}
|
||||
|
||||
private List<Map<String, Object>> queryForExportAll(ParamsCollectManifestVO paramsCollectManifestVO) {
|
||||
String paramsManifestId = paramsCollectManifestVO.getParamsManifestId();
|
||||
String paramsTemplateId = paramsCollectManifestVO.getParamsTemplateId();
|
||||
Integer paramsTemplatePublishVersion = paramsCollectManifestVO.getParamsTemplatePublishVersion();
|
||||
String cut = paramsCollectManifestVO.getCut();
|
||||
|
||||
|
||||
ParamsCollectManifestEO queryEO = new ParamsCollectManifestEO();
|
||||
queryEO.setParamsManifestId(paramsManifestId);
|
||||
List<Map<String, Object>> dataList = paramsCollectManifestEOMapper.listInfoForExport(queryEO); // 查询导出数据
|
||||
|
||||
List<ParamsConfigEO> paramsConfigEOList = paramsConfigEOService.queryList(paramsManifestId); // 查询所有配置列
|
||||
|
||||
List<String> paramsConfigIdList = paramsConfigEOList.stream().map(ParamsConfigEO::getId).collect(Collectors.toList());
|
||||
List<ParamsConfigDataEO> paramsConfigDataEOList = paramsConfigDataEOService.queryListByConfigIdList(paramsConfigIdList); // 查询所有配置数据
|
||||
|
||||
List<String> nioNumberList = dataList.stream().map(m->(String)m.get("nio_number")).collect(Collectors.toList());
|
||||
List<CertCategoryParamsInfoPublishEO> certCategoryParamsInfoPublishEOList = certCategoryParamsInfoPublishEOService.queryListByVersionAndNio(paramsTemplateId, paramsTemplatePublishVersion, nioNumberList); //查询所有认证类别参数项
|
||||
|
||||
// 查询责任领域数据字典
|
||||
List<SysDictItem> sysDictItemList = sysDictItemService.selectItemsByDictCode("duty_territory");
|
||||
Map<String, String> dutyTerritoryMap = new HashMap<>();
|
||||
if (CutEnum.EN.getValue().equals(cut)) {
|
||||
dutyTerritoryMap = sysDictItemList.stream().collect(Collectors.toMap(c -> c.getItemValue(), c -> c.getEnName()));
|
||||
} else {
|
||||
dutyTerritoryMap = sysDictItemList.stream().collect(Collectors.toMap(c -> c.getItemValue(), c -> c.getItemText()));
|
||||
}
|
||||
// 状态
|
||||
Map<String,String> stateMap = CollectManifestStateEnum.toMap(cut);
|
||||
|
||||
// 插入配置列和认证类别列数据
|
||||
for (Map<String, Object> record1 : dataList) {
|
||||
|
||||
String paramsCollectManifestId = (String) record1.get("id");
|
||||
String nioNumber = (String) record1.get("nio_number");
|
||||
String dutyTerritory = (String) record1.get("duty_territory");
|
||||
String state = (String) record1.get("state");
|
||||
|
||||
// 处理负责领域
|
||||
record1.put("duty_territory", dutyTerritoryMap.get(dutyTerritory));
|
||||
|
||||
// 处理负状态
|
||||
record1.put("state", stateMap.get(state));
|
||||
|
||||
// 认证类别列
|
||||
List<CertCategoryParamsInfoPublishEO> certCategoryParamsInfoPublishEOS = certCategoryParamsInfoPublishEOList.stream().filter(e->nioNumber.equals(e.getNioNumber())).collect(Collectors.toList());
|
||||
if (CollectionUtil.isNotEmpty(certCategoryParamsInfoPublishEOS)) {
|
||||
certCategoryParamsInfoPublishEOS.forEach(certCategoryParamsInfoPublishEO -> {
|
||||
record1.put(certCategoryParamsInfoPublishEO.getCertCategory(), certCategoryParamsInfoPublishEO.getParamsNumber());
|
||||
});
|
||||
}
|
||||
|
||||
// 配置列
|
||||
if (CollectionUtil.isNotEmpty(paramsConfigEOList)) {
|
||||
List<OSSFile> fileList = new ArrayList<>();
|
||||
|
||||
paramsConfigEOList.forEach(paramsConfigEO -> { // 参数配置
|
||||
|
||||
String paramsConfigId = paramsConfigEO.getId();
|
||||
List<ParamsConfigDataEO> paramsConfigDataEOS = paramsConfigDataEOList.stream().filter(e-> paramsConfigId.equals(e.getParamsConfigId()) && paramsCollectManifestId.equals(e.getParamsCollectManifestId())).collect(Collectors.toList()); // 参数配置数据
|
||||
StringBuilder configDataBuilder = new StringBuilder(); // 重新组合配置数据
|
||||
if (CollectionUtil.isNotEmpty(paramsConfigDataEOS)) {
|
||||
ParamsConfigDataEO paramsConfigDataEO = paramsConfigDataEOS.get(0);
|
||||
if (StringUtils.isNotEmpty(paramsConfigDataEO.getTextData())) {
|
||||
configDataBuilder.append(paramsConfigDataEO.getTextData()).append("#");
|
||||
}
|
||||
if (StringUtils.isNotEmpty(paramsConfigDataEO.getPullData())) {
|
||||
configDataBuilder.append(paramsConfigDataEO.getPullData()).append("#");
|
||||
}
|
||||
if (StringUtils.isNotEmpty(paramsConfigDataEO.getFileConnectId())) {
|
||||
List<OSSFile> ossFileList = ossFileService.getFileInfosByConnectId(paramsConfigDataEO.getFileConnectId());
|
||||
if (CollectionUtil.isNotEmpty(ossFileList)) {
|
||||
configDataBuilder.append(ossFileList.get(0).getFileName()).append("#");
|
||||
|
||||
fileList.addAll(ossFileList);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
String configData = configDataBuilder.toString();
|
||||
if (configData.contains("#")) {
|
||||
configData = configData.substring(0, configData.lastIndexOf("#"));
|
||||
}
|
||||
|
||||
record1.put(paramsConfigEO.getId(), configData);
|
||||
});
|
||||
|
||||
record1.put("fileList", fileList);
|
||||
}
|
||||
}
|
||||
return dataList;
|
||||
}
|
||||
|
||||
private void downLoadFileList(List<OSSFile> fileTemplateList,Map<String ,String> fileNowPathMap) {
|
||||
for(OSSFile fileExportDto : fileTemplateList){
|
||||
String fileNowPath = fileNowPathMap.get(fileExportDto.getId());
|
||||
File nowFile = new File(fileNowPath);
|
||||
if (nowFile.exists()){
|
||||
nowFile.delete();
|
||||
}
|
||||
nowFile.mkdirs();
|
||||
|
||||
String oldPath = fileExportDto.getUrl();
|
||||
String newPath = fileNowPath + File.separator + fileExportDto.getFileName();
|
||||
if (CosBootUtil.doesObjectExist(oldPath)){
|
||||
try (InputStream in = CosBootUtil.download(oldPath);) {
|
||||
copyFile(in, newPath);
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
log.error(e.getMessage(), e);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void copyFile(InputStream in, String destPath) throws IOException {
|
||||
BufferedInputStream bis = new BufferedInputStream(in);
|
||||
BufferedOutputStream bos =
|
||||
new BufferedOutputStream(Files.newOutputStream(Paths.get(destPath),
|
||||
StandardOpenOption.CREATE,
|
||||
StandardOpenOption.TRUNCATE_EXISTING,
|
||||
StandardOpenOption.WRITE));
|
||||
// 打开输入流
|
||||
// FileInputStream fis = new FileInputStream(srcPath);
|
||||
// 打开输出流
|
||||
// FileOutputStream fos = new FileOutputStream(destPath);
|
||||
// 读取和写入信息
|
||||
byte[] bytes = new byte[1024 * 1024];
|
||||
int len;
|
||||
while ((len = bis.read(bytes)) > 0) {
|
||||
bos.write(bytes, 0, len);
|
||||
}
|
||||
// 关闭流 先开后关 后开先关
|
||||
bos.close(); // 后开先关
|
||||
bis.close(); // 先开后关
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取一个类和其父类的所有属性
|
||||
*
|
||||
|
||||
+4
-1
@@ -22,7 +22,7 @@ public class ParamsCollectManifestVO {
|
||||
private String paramsTemplateId; // 参数模板id
|
||||
|
||||
@ApiModelProperty(value = "参数模板发布版本")
|
||||
private String paramsTemplatePublishVersion; // 参数模板发布版本
|
||||
private Integer paramsTemplatePublishVersion; // 参数模板发布版本
|
||||
|
||||
@ApiModelProperty(value = "nio编号")
|
||||
private String nioNumber; // nio编号
|
||||
@@ -71,4 +71,7 @@ public class ParamsCollectManifestVO {
|
||||
private String targetConfigIds; // 引用参数专用
|
||||
|
||||
private String cut; // 引用参数专用
|
||||
|
||||
private String exportName; // 导出文件名
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user