From 6ff420be925cded3b7c874713f8b27426839761c Mon Sep 17 00:00:00 2001 From: wen <1455474577@qq.com> Date: Thu, 25 Nov 2021 16:19:46 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A7=A3=E5=86=B3=E4=BA=8C=E7=BB=B4=E7=A0=81?= =?UTF-8?q?=E4=B8=8B=E8=BD=BD=E5=B0=8Fbug=EF=BC=8C=E4=BA=8C=E7=BB=B4?= =?UTF-8?q?=E7=A0=81=E4=B8=8B=E8=BD=BD=E5=8A=9F=E8=83=BD=E6=AD=A3=E5=BC=8F?= =?UTF-8?q?=E5=8F=AF=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../station/mapper/XhpcDownCodeMapper.java | 40 ++++++++++++- .../service/XhpcDownCodeServiceImpl.java | 25 ++++----- .../station/utils/img/DownMaterialUtil.java | 55 ++++++++++++++++-- .../resources/mapper/XhpcDownCodeMapper.xml | 56 ++++++++++++------- 4 files changed, 136 insertions(+), 40 deletions(-) diff --git a/xhpc-modules/xhpc-charging-station/src/main/java/com/xhpc/charging/station/mapper/XhpcDownCodeMapper.java b/xhpc-modules/xhpc-charging-station/src/main/java/com/xhpc/charging/station/mapper/XhpcDownCodeMapper.java index 599d48f4..d03c5ff3 100644 --- a/xhpc-modules/xhpc-charging-station/src/main/java/com/xhpc/charging/station/mapper/XhpcDownCodeMapper.java +++ b/xhpc-modules/xhpc-charging-station/src/main/java/com/xhpc/charging/station/mapper/XhpcDownCodeMapper.java @@ -18,11 +18,49 @@ public interface XhpcDownCodeMapper { List> selectPilesBy(@Param(value = "stationId") Long stationId); - List> selectExcelDataByPileId(@Param("pileId") Long pileId ); + /** + * 用于excel表格中的信息, + * 根据桩的id,查找出未删除的对应的终端信息 + * + * @param pileId 桩的id + * @return List> 一个装着每条终端数据的List集合 + * @author WH + * @date 2021/11/25 13:46 + * @since version-1.0 + */ + List> selectExcelDataByPileId(@Param("pileId") Long pileId); + /** + * 查询出桩下面的未删除的终端的图片url地址 + * + * @param pileId 桩的id + * @return List 一个装着每个终端url图片的List + * @author WH + * @date 2021/11/25 14:02 + * @since version-1.0 + */ List selectUrlsByPile(@Param(value = "pileId") Long pileId); + /** + * 查询出场站下面的未删除的终端的图片url地址 + * + * @param stationId 场站id + * @return 返回装有终端url的List + * @author WH + * @date 2021/11/25 15:24 + * @since version-1.0 + */ List selectUrlsByStation(@Param(value = "stationId") Long stationId); + /** + * 查找场站下方有图片的终端的相关的信息存入excel表格中 + * + * @param stationId 场站id + * @return 装有每一个终端信息的List集合 + * @author WH + * @date 2021/11/25 15:11 + * @since version-1.0 + */ List> selectExcelDataByStationId(@Param(value = "stationId") Long stationId); + } diff --git a/xhpc-modules/xhpc-charging-station/src/main/java/com/xhpc/charging/station/service/XhpcDownCodeServiceImpl.java b/xhpc-modules/xhpc-charging-station/src/main/java/com/xhpc/charging/station/service/XhpcDownCodeServiceImpl.java index a5e1e503..1b61dfca 100644 --- a/xhpc-modules/xhpc-charging-station/src/main/java/com/xhpc/charging/station/service/XhpcDownCodeServiceImpl.java +++ b/xhpc-modules/xhpc-charging-station/src/main/java/com/xhpc/charging/station/service/XhpcDownCodeServiceImpl.java @@ -106,17 +106,16 @@ public class XhpcDownCodeServiceImpl implements IXhpcDownCodeService { workbook.write(fos); workbook.close(); fos.close(); - String left = environment.getProperty("img.imgPrefix"); + String imgPrefixUrl = environment.getProperty("img.imgPrefix"); List imgUrls = xhpcDownCodeMapper.selectUrlsByPile(pileId); - List list1 = DownMaterialUtil.getDownLoadUrls(left,imgUrls); - System.out.println(list1); - DownMaterialUtil.saveImageToDisk(list1, file2, imgUrls); + List fullImgUrlList = DownMaterialUtil.getDownLoadUrls(imgPrefixUrl, imgUrls); + DownMaterialUtil.saveImageToDisk(fullImgUrlList, file2, imgUrls); File file = new File(environment.getProperty("img.url")); //储存路径 long l = System.currentTimeMillis(); - String url=environment.getProperty("img.url")+l; + String url = environment.getProperty("img.url") + l; - DownMaterialUtil.fileToZip(file,url); + DownMaterialUtil.fileToZip(file, url); return "QRcodeMaterial" + l + ".zip"; } @@ -126,7 +125,7 @@ public class XhpcDownCodeServiceImpl implements IXhpcDownCodeService { //查找场站下方有图片的终端的相关的信息 List> list = xhpcDownCodeMapper.selectExcelDataByStationId(stationId); - File file1 = new File(environment.getProperty("img.url"), "Material"); + File file1 = new File(environment.getProperty("img.url")); File file2 = new File(file1, "pictures"); if (file1.exists()) { delFile(file1); @@ -178,22 +177,20 @@ public class XhpcDownCodeServiceImpl implements IXhpcDownCodeService { } } //5、写入 - //更改nocos上的输出位置 OutputStream fos = new FileOutputStream(environment.getProperty("img.url") + "/data.xls"); - workbook.write(fos); workbook.close(); fos.close(); - String left = "https://xhpc-bucket1.oss-cn-hangzhou.aliyuncs.com/"; + String imgPrefixUrl = environment.getProperty("img.imgPrefix"); List imgUrls = xhpcDownCodeMapper.selectUrlsByStation(stationId); - List list1 = DownMaterialUtil.getDownLoadUrls(left, imgUrls); - DownMaterialUtil.saveImageToDisk(list1, file2, imgUrls); + List fullImgUrlList = DownMaterialUtil.getDownLoadUrls(imgPrefixUrl, imgUrls); + DownMaterialUtil.saveImageToDisk(fullImgUrlList, file2, imgUrls); File file = new File(environment.getProperty("img.url")); //储存路径 long l = System.currentTimeMillis(); - String url=environment.getProperty("img.url")+l; + String url = environment.getProperty("img.url") + l; - DownMaterialUtil.fileToZip(file,url); + DownMaterialUtil.fileToZip(file, url); return "QRcodeMaterial" + l + ".zip"; } diff --git a/xhpc-modules/xhpc-charging-station/src/main/java/com/xhpc/charging/station/utils/img/DownMaterialUtil.java b/xhpc-modules/xhpc-charging-station/src/main/java/com/xhpc/charging/station/utils/img/DownMaterialUtil.java index 87dc9e02..a69d7b30 100644 --- a/xhpc-modules/xhpc-charging-station/src/main/java/com/xhpc/charging/station/utils/img/DownMaterialUtil.java +++ b/xhpc-modules/xhpc-charging-station/src/main/java/com/xhpc/charging/station/utils/img/DownMaterialUtil.java @@ -1,5 +1,10 @@ package com.xhpc.charging.station.utils.img; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.core.env.Environment; +import org.springframework.scheduling.annotation.Scheduled; +import org.springframework.stereotype.Component; + import java.io.*; import java.net.HttpURLConnection; import java.net.URL; @@ -14,7 +19,12 @@ import java.util.zip.ZipOutputStream; * User: HongYun * Date:2021-10-09 10 */ +@Component public class DownMaterialUtil { + + @Autowired + Environment environment; + public static InputStream getInputStream(String urlImg) { InputStream inputStream = null; @@ -41,9 +51,17 @@ public class DownMaterialUtil { } return inputStream; } + + /** + * 保存图片到磁盘上 + * + * @param urls + * @param file + * @param imgNames + */ public static void saveImageToDisk(List urls, File file, List imgNames) { - for(int i = 0; i < urls.size(); i ++) { + for (int i = 0; i < urls.size(); i++) { InputStream inputStream = getInputStream(urls.get(i)); if (null == inputStream) continue; byte[] data = new byte[1024]; @@ -127,11 +145,40 @@ public class DownMaterialUtil { fis.close(); } } - public static List getDownLoadUrls(String left, List imgUrl){ + + /** + * 拼接图片前缀和后缀,最终生成完整的下载路径 + * + * @param imgUrls 图片后缀集合 + * @param imgPrefixUrl 图片前缀 + * @return List 完整图片集合 + *

+ * @author WH + * @date 2021/11/25 14:19 + * @since version-1.0 + */ + public static List getDownLoadUrls(String imgPrefixUrl, List imgUrls) { + List res = new ArrayList<>(); - for (String s : imgUrl) { - res.add(left + s); + for (String s : imgUrls) { + res.add(imgPrefixUrl + s); } return res; } + + /** + * 负责定时删除服务器上面下载下来的二维码压缩包 + * 每个月25号早上3点执行 + * + * @author WH + * @date 2021/11/24 15:50 + * @since version-1.0 + */ + @Scheduled(cron = "0 0 3 25 * ?") + public void deleteZips() { + //遍历指定文件夹下的所有图片 dist +// new File(environment.getProperty("")) + // todo + } + } diff --git a/xhpc-modules/xhpc-charging-station/src/main/resources/mapper/XhpcDownCodeMapper.xml b/xhpc-modules/xhpc-charging-station/src/main/resources/mapper/XhpcDownCodeMapper.xml index 61c95d61..4a0e3b25 100644 --- a/xhpc-modules/xhpc-charging-station/src/main/resources/mapper/XhpcDownCodeMapper.xml +++ b/xhpc-modules/xhpc-charging-station/src/main/resources/mapper/XhpcDownCodeMapper.xml @@ -29,16 +29,23 @@ \ No newline at end of file