Commit 573df0a0 authored by lisong's avatar lisong

修改导出bug

parent 00124bce
...@@ -35,11 +35,8 @@ import org.typroject.tyboot.core.restful.utils.ResponseModel; ...@@ -35,11 +35,8 @@ import org.typroject.tyboot.core.restful.utils.ResponseModel;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.io.*; import java.io.*;
import java.net.URL;
import java.util.*; import java.util.*;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;
/** /**
* 装备分类 * 装备分类
...@@ -63,10 +60,6 @@ public class EquipmentCategoryController extends BaseController { ...@@ -63,10 +60,6 @@ public class EquipmentCategoryController extends BaseController {
@Value("${regulatory_code_prefix}") @Value("${regulatory_code_prefix}")
String REGULATORY_CODE_PREFIX ; String REGULATORY_CODE_PREFIX ;
/**
* 监管码背景图路径
*/
private static final String BASE_PATH = "amos-boot-system-tzs/amos-boot-module-tzs-biz/src/main/resources/temp/";
/** /**
...@@ -390,17 +383,13 @@ public class EquipmentCategoryController extends BaseController { ...@@ -390,17 +383,13 @@ public class EquipmentCategoryController extends BaseController {
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/exportImage") @GetMapping(value = "/exportImage")
@ApiOperation(httpMethod = "GET", value = "设备监管码下载", notes = "设备监管码下载") @ApiOperation(httpMethod = "GET", value = "设备监管码下载", notes = "设备监管码下载")
public void exportImage(HttpServletResponse response, @RequestParam("code") String code, @RequestParam("type") String type) throws IOException { public void exportImage(HttpServletResponse response, @RequestParam("code") String code, @RequestParam("type") String type) throws IOException, FileNotFoundException {
FileInputStream bgImgFile = null;
ImageSizeEnums imageSizeEnums = ImageSizeEnums.getEnumByCode(type); ImageSizeEnums imageSizeEnums = ImageSizeEnums.getEnumByCode(type);
try { // 获取resources目录下的文件输入流
bgImgFile = new FileInputStream(BASE_PATH + imageSizeEnums.getBgPath()); InputStream bgImgFile = getClass().getClassLoader().getResourceAsStream("temp/"+imageSizeEnums.getBgPath());
} catch (FileNotFoundException e) { File QrCodeFile = File.createTempFile(code, ".png");
e.printStackTrace();
}
File QrCodeFile = new File(BASE_PATH + code + ".png");
ImageUtils.creatQRCode(QrCodeFile, bgImgFile, imageSizeEnums.getWith(), imageSizeEnums.getHeight(), REGULATORY_CODE_PREFIX+code, "", code, imageSizeEnums.getSize(), imageSizeEnums.getImagesX(), imageSizeEnums.getImagesY(), imageSizeEnums.getText1X(), imageSizeEnums.getText1Y(), imageSizeEnums.getText2X(), imageSizeEnums.getText2Y()); ImageUtils.creatQRCode(QrCodeFile, bgImgFile, imageSizeEnums.getWith(), imageSizeEnums.getHeight(), REGULATORY_CODE_PREFIX+code, "", code, imageSizeEnums.getSize(), imageSizeEnums.getImagesX(), imageSizeEnums.getImagesY(), imageSizeEnums.getText1X(), imageSizeEnums.getText1Y(), imageSizeEnums.getText2X(), imageSizeEnums.getText2Y());
ImageUtils.downloadResource(code + ".png", BASE_PATH + code + ".png", response); ImageUtils.downloadResource(code + ".png", QrCodeFile.getAbsolutePath(), response);
QrCodeFile.delete(); QrCodeFile.delete();
} }
...@@ -409,10 +398,6 @@ public class EquipmentCategoryController extends BaseController { ...@@ -409,10 +398,6 @@ public class EquipmentCategoryController extends BaseController {
@GetMapping(value = "/exportImageZip") @GetMapping(value = "/exportImageZip")
@ApiOperation(httpMethod = "GET", value = "设备信息导出", notes = "设备信息导出") @ApiOperation(httpMethod = "GET", value = "设备信息导出", notes = "设备信息导出")
public void exportImageZip(HttpServletResponse response, EquipExportDto dto, @RequestParam("type") String type) throws IOException { public void exportImageZip(HttpServletResponse response, EquipExportDto dto, @RequestParam("type") String type) throws IOException {
File delete = new File(BASE_PATH + "images");
if (!delete.exists()) {
delete.mkdir();
}
ImageSizeEnums imageSizeEnums = ImageSizeEnums.getEnumByCode(type); ImageSizeEnums imageSizeEnums = ImageSizeEnums.getEnumByCode(type);
//创建list 存放图片 //创建list 存放图片
List<File> fileList = new ArrayList<>(); List<File> fileList = new ArrayList<>();
...@@ -422,28 +407,24 @@ public class EquipmentCategoryController extends BaseController { ...@@ -422,28 +407,24 @@ public class EquipmentCategoryController extends BaseController {
Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(o -> o.getSupervisoryCode() + ";" + o.getCode96333()))), ArrayList::new) Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(o -> o.getSupervisoryCode() + ";" + o.getCode96333()))), ArrayList::new)
); );
for (EquipExportVo equipExportDatum : unique) { for (EquipExportVo equipExportDatum : unique) {
FileInputStream bgImgFile = new FileInputStream(BASE_PATH + imageSizeEnums.getBgPath()); InputStream bgImgFile = getClass().getClassLoader().getResourceAsStream("temp/"+imageSizeEnums.getBgPath());
if ("DT".equals(type) && !ObjectUtils.isEmpty(equipExportDatum.getCode96333())) { if ("DT".equals(type) && !ObjectUtils.isEmpty(equipExportDatum.getCode96333())) {
File QrCodeFile = new File(BASE_PATH + "images/" + equipExportDatum.getCode96333() + ".png"); File QrCodeFile = File.createTempFile(equipExportDatum.getCode96333(), ".png");
ImageUtils.creatQRCode(QrCodeFile, bgImgFile, imageSizeEnums.getWith(), imageSizeEnums.getHeight(), REGULATORY_CODE_PREFIX+equipExportDatum.getCode96333(), "", equipExportDatum.getCode96333(), imageSizeEnums.getSize(), imageSizeEnums.getImagesX(), imageSizeEnums.getImagesY(), imageSizeEnums.getText1X(), imageSizeEnums.getText1Y(), imageSizeEnums.getText2X(), imageSizeEnums.getText2Y()); ImageUtils.creatQRCode(QrCodeFile, bgImgFile, imageSizeEnums.getWith(), imageSizeEnums.getHeight(), REGULATORY_CODE_PREFIX+equipExportDatum.getCode96333(), "", equipExportDatum.getCode96333(), imageSizeEnums.getSize(), imageSizeEnums.getImagesX(), imageSizeEnums.getImagesY(), imageSizeEnums.getText1X(), imageSizeEnums.getText1Y(), imageSizeEnums.getText2X(), imageSizeEnums.getText2Y());
fileList.add(new File(BASE_PATH + "images/" + equipExportDatum.getCode96333() + ".png")); fileList.add(new File( QrCodeFile.getAbsolutePath()));
} else if (!ObjectUtils.isEmpty(equipExportDatum.getSupervisoryCode())) { } else if (!ObjectUtils.isEmpty(equipExportDatum.getSupervisoryCode())) {
File QrCodeFile = new File(BASE_PATH + "images/" + equipExportDatum.getSupervisoryCode() + ".png"); File QrCodeFile = File.createTempFile(equipExportDatum.getSupervisoryCode(), ".png");
ImageUtils.creatQRCode(QrCodeFile, bgImgFile, imageSizeEnums.getWith(), imageSizeEnums.getHeight(), REGULATORY_CODE_PREFIX+equipExportDatum.getSupervisoryCode(), "", equipExportDatum.getSupervisoryCode(), imageSizeEnums.getSize(), imageSizeEnums.getImagesX(), imageSizeEnums.getImagesY(), imageSizeEnums.getText1X(), imageSizeEnums.getText1Y(), imageSizeEnums.getText2X(), imageSizeEnums.getText2Y()); ImageUtils.creatQRCode(QrCodeFile, bgImgFile, imageSizeEnums.getWith(), imageSizeEnums.getHeight(), REGULATORY_CODE_PREFIX+equipExportDatum.getSupervisoryCode(), "", equipExportDatum.getSupervisoryCode(), imageSizeEnums.getSize(), imageSizeEnums.getImagesX(), imageSizeEnums.getImagesY(), imageSizeEnums.getText1X(), imageSizeEnums.getText1Y(), imageSizeEnums.getText2X(), imageSizeEnums.getText2Y());
fileList.add(new File(BASE_PATH + "images/" + equipExportDatum.getSupervisoryCode() + ".png")); fileList.add(new File( QrCodeFile.getAbsolutePath()));
} }
bgImgFile.close(); bgImgFile.close();
} }
File zipFile = new File(BASE_PATH + "images/imageZip.zip"); File zipFile = File.createTempFile("imageZip", ".zip");
zipFile.createTempFile("imageZip", ".zip");
// 调用压缩方法 // 调用压缩方法
ImageUtils.zipFiles(fileList, zipFile); ImageUtils.zipFiles(fileList, zipFile);
ImageUtils.downloadResourceZip("imageZip.zip", BASE_PATH + "images/imageZip.zip", response); ImageUtils.downloadResourceZip("imageZip.zip", zipFile.getAbsolutePath(), response);
zipFile.delete(); zipFile.delete();
ImageUtils.deleteAllFilesOfDir(delete);
if (delete.exists()) {
ImageUtils.deleteAllFilesOfDir(delete);
}
} }
......
...@@ -50,7 +50,7 @@ public class ImageUtils { ...@@ -50,7 +50,7 @@ public class ImageUtils {
* @param text2X 文字描述2x轴方向 * @param text2X 文字描述2x轴方向
* @param text2Y 文字描述2y轴方向 * @param text2Y 文字描述2y轴方向
*/ */
public static void creatQRCode(File codeFile, FileInputStream bgImgFile, Integer width, Integer height, String qrUrl, public static void creatQRCode(File codeFile, InputStream bgImgFile, Integer width, Integer height, String qrUrl,
String note, String tui, Integer size, Integer imagesX, Integer imagesY, Integer text1X, Integer text1Y String note, String tui, Integer size, Integer imagesX, Integer imagesY, Integer text1X, Integer text1Y
, Integer text2X, Integer text2Y) throws IOException { , Integer text2X, Integer text2Y) throws IOException {
try { try {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment