diff --git a/src/main/java/com/sztzjy/financial_bigdata/FinancialBigDataApplication.java b/src/main/java/com/sztzjy/financial_bigdata/FinancialBigDataApplication.java index 02817ff..dae093f 100644 --- a/src/main/java/com/sztzjy/financial_bigdata/FinancialBigDataApplication.java +++ b/src/main/java/com/sztzjy/financial_bigdata/FinancialBigDataApplication.java @@ -2,7 +2,9 @@ package com.sztzjy.financial_bigdata; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.scheduling.annotation.EnableScheduling; +@EnableScheduling @SpringBootApplication public class FinancialBigDataApplication { diff --git a/src/main/java/com/sztzjy/financial_bigdata/config/security/WebConfigurerAdapter.java b/src/main/java/com/sztzjy/financial_bigdata/config/security/WebConfigurerAdapter.java index 376b7f0..0062f92 100644 --- a/src/main/java/com/sztzjy/financial_bigdata/config/security/WebConfigurerAdapter.java +++ b/src/main/java/com/sztzjy/financial_bigdata/config/security/WebConfigurerAdapter.java @@ -1,7 +1,7 @@ package com.sztzjy.financial_bigdata.config.security; -import com.sztzjy.financial_bigdata.util.file.IFileUtil; -import com.sztzjy.financial_bigdata.util.file.LocalFileUtil; +//import com.sztzjy.financial_bigdata.util.file.IFileUtil; +//import com.sztzjy.financial_bigdata.util.file.LocalFileUtil; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @@ -67,12 +67,12 @@ public class WebConfigurerAdapter implements WebMvcConfigurer { } } - @Bean - public IFileUtil getFileUtil() { - if (fileType.equals("local")) { - return new LocalFileUtil(filePath); - } else { - throw new IllegalArgumentException("未知文件工具类注入类型"); - } - } +// @Bean +// public IFileUtil getFileUtil() { +// if (fileType.equals("local")) { +// return new LocalFileUtil(filePath); +// } else { +// throw new IllegalArgumentException("未知文件工具类注入类型"); +// } +// } } diff --git a/src/main/java/com/sztzjy/financial_bigdata/util/SealUtil.java b/src/main/java/com/sztzjy/financial_bigdata/util/SealUtil.java index a7276a8..00d7822 100644 --- a/src/main/java/com/sztzjy/financial_bigdata/util/SealUtil.java +++ b/src/main/java/com/sztzjy/financial_bigdata/util/SealUtil.java @@ -1,65 +1,65 @@ -package com.sztzjy.financial_bigdata.util; - -import cn.hutool.core.util.IdUtil; -import com.sztzjy.financial_bigdata.util.file.LocalFileUtil; -import com.sztzjy.financial_bigdata.util.seal.SealCircle; -import com.sztzjy.financial_bigdata.util.seal.SealFont; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.stereotype.Component; - -import javax.annotation.Resource; -import java.io.File; - -/** - * @author 17803 - * @date 2023-12-05 15:11 - */ - -@Component -public class SealUtil { - - @Resource - LocalFileUtil localFileUtil; - - @Value("${file.path}") - private String filePath; - - public String genertSealB(String name) throws Exception{ - String file = filePath+"/seal/"; - // 创建 File 对象 - File infoFile = new File(file); - if (!infoFile.exists()) { - infoFile.mkdir(); - } - String s = IdUtil.fastSimpleUUID(); - com.sztzjy.financial_bigdata.util.seal.SealUtil.builder() - .size(200) - .borderCircle(SealCircle.builder().line(4).width(95).height(95).build()) - .mainFont(SealFont.builder().text(name+"有限公司").size(22).space(30.0).margin(4).build()) - .centerFont(SealFont.builder().text("★").size(60).build()) - .titleFont(SealFont.builder().text("电子签章").size(16).space(8.0).margin(54).build()) - .build() - .draw(filePath+"/seal/"+ s +".png"); - System.out.println(name+"公章已生成"); - return s; - } - public String genertSealA(String name) throws Exception{ - String file = filePath+"/seal/"; - // 创建 File 对象 - File infoFile = new File(file); - if (!infoFile.exists()) { - infoFile.mkdir(); - } - String s = IdUtil.fastSimpleUUID(); - com.sztzjy.financial_bigdata.util.seal.SealUtil.builder() - .size(200) - .borderCircle(SealCircle.builder().line(4).width(95).height(95).build()) - .mainFont(SealFont.builder().text(name).size(22).space(30.0).margin(4).build()) - .centerFont(SealFont.builder().text("★").size(60).build()) - .titleFont(SealFont.builder().text("电子签章").size(16).space(8.0).margin(54).build()) - .build() - .draw(filePath+"/seal/"+ s +".png"); - System.out.println(name+"公章已生成"); - return s; - } -} +//package com.sztzjy.financial_bigdata.util; +// +//import cn.hutool.core.util.IdUtil; +//import com.sztzjy.financial_bigdata.util.file.LocalFileUtil; +//import com.sztzjy.financial_bigdata.util.seal.SealCircle; +//import com.sztzjy.financial_bigdata.util.seal.SealFont; +//import org.springframework.beans.factory.annotation.Value; +//import org.springframework.stereotype.Component; +// +//import javax.annotation.Resource; +//import java.io.File; +// +///** +// * @author 17803 +// * @date 2023-12-05 15:11 +// */ +// +//@Component +//public class SealUtil { +// +// @Resource +// LocalFileUtil localFileUtil; +// +// @Value("${file.path}") +// private String filePath; +// +// public String genertSealB(String name) throws Exception{ +// String file = filePath+"/seal/"; +// // 创建 File 对象 +// File infoFile = new File(file); +// if (!infoFile.exists()) { +// infoFile.mkdir(); +// } +// String s = IdUtil.fastSimpleUUID(); +// com.sztzjy.financial_bigdata.util.seal.SealUtil.builder() +// .size(200) +// .borderCircle(SealCircle.builder().line(4).width(95).height(95).build()) +// .mainFont(SealFont.builder().text(name+"有限公司").size(22).space(30.0).margin(4).build()) +// .centerFont(SealFont.builder().text("★").size(60).build()) +// .titleFont(SealFont.builder().text("电子签章").size(16).space(8.0).margin(54).build()) +// .build() +// .draw(filePath+"/seal/"+ s +".png"); +// System.out.println(name+"公章已生成"); +// return s; +// } +// public String genertSealA(String name) throws Exception{ +// String file = filePath+"/seal/"; +// // 创建 File 对象 +// File infoFile = new File(file); +// if (!infoFile.exists()) { +// infoFile.mkdir(); +// } +// String s = IdUtil.fastSimpleUUID(); +// com.sztzjy.financial_bigdata.util.seal.SealUtil.builder() +// .size(200) +// .borderCircle(SealCircle.builder().line(4).width(95).height(95).build()) +// .mainFont(SealFont.builder().text(name).size(22).space(30.0).margin(4).build()) +// .centerFont(SealFont.builder().text("★").size(60).build()) +// .titleFont(SealFont.builder().text("电子签章").size(16).space(8.0).margin(54).build()) +// .build() +// .draw(filePath+"/seal/"+ s +".png"); +// System.out.println(name+"公章已生成"); +// return s; +// } +//} diff --git a/src/main/java/com/sztzjy/financial_bigdata/util/file/IFileUtil.java b/src/main/java/com/sztzjy/financial_bigdata/util/file/IFileUtil.java index fac9b37..cd754ca 100644 --- a/src/main/java/com/sztzjy/financial_bigdata/util/file/IFileUtil.java +++ b/src/main/java/com/sztzjy/financial_bigdata/util/file/IFileUtil.java @@ -1,87 +1,87 @@ -package com.sztzjy.financial_bigdata.util.file; - - -import org.springframework.web.multipart.MultipartFile; - -import javax.servlet.http.HttpServletResponse; -import java.io.InputStream; - -/** - * 文件上传下载接口定义 - * - * @author 陈沅 - */ -public interface IFileUtil { - - - - /** - * 从http请求上传文件 - * - * @param file form传参http文件对象 - * @return 返回文件在服务器上保存的相对路径 - */ - String upload(MultipartFile file); - - /** - * 根据文件流上传文件 - * - * @param objectName 指定文件名(带扩展名) - * @param fileIn 文件流 - * @return 返回文件在服务器上保存的相对路径 - */ - String upload(String objectName, InputStream fileIn); - - /** - * 删除服务器上的一个文件 - * - * @param path 文件在服务器上保存的相对路径 - * @return 返回true则表示删除成功 - */ - boolean remove(String path); - - /** - * 下载文件流,指定文件名 - * - * @param response - * @param fileName 指定下载文件名称 - * @param filePath 文件保存的相对路径 - */ - void download(HttpServletResponse response, String fileName, String filePath); - - /** - * 下载文件流,不指定文件名 - * - * @param response - * @param filePath 文件保存的相对路径 - */ - void download(HttpServletResponse response, String filePath); - - /** - * 相对路径 - * - * @param relativePath 文件保存的相对路径 - * @return 文件保存的绝对路径 - */ - String getFullPath(String relativePath); - - - /** - * 获取文件后缀名 - * - * @param fileName 文件名称 - * @return suffix - */ - String getSuffix(String fileName); - - - /** - * 获取文件存储至磁盘的相对路径 - * - * @param fileName 文件名 - * @param suffix 动态拼接的文件后缀,若该值为空则不拼接 - * @return 相对路径 - */ - String getDiskRelativePath(String fileName, String suffix); - -} +//package com.sztzjy.financial_bigdata.util.file; +// +// +//import org.springframework.web.multipart.MultipartFile; +// +//import javax.servlet.http.HttpServletResponse; +//import java.io.InputStream; +// +///** +// * 文件上传下载接口定义 +// * +// * @author 陈沅 +// */ +//public interface IFileUtil { +// +// +// +// /** +// * 从http请求上传文件 +// * +// * @param file form传参http文件对象 +// * @return 返回文件在服务器上保存的相对路径 +// */ +// String upload(MultipartFile file); +// +// /** +// * 根据文件流上传文件 +// * +// * @param objectName 指定文件名(带扩展名) +// * @param fileIn 文件流 +// * @return 返回文件在服务器上保存的相对路径 +// */ +// String upload(String objectName, InputStream fileIn); +// +// /** +// * 删除服务器上的一个文件 +// * +// * @param path 文件在服务器上保存的相对路径 +// * @return 返回true则表示删除成功 +// */ +// boolean remove(String path); +// +// /** +// * 下载文件流,指定文件名 +// * +// * @param response +// * @param fileName 指定下载文件名称 +// * @param filePath 文件保存的相对路径 +// */ +// void download(HttpServletResponse response, String fileName, String filePath); +// +// /** +// * 下载文件流,不指定文件名 +// * +// * @param response +// * @param filePath 文件保存的相对路径 +// */ +// void download(HttpServletResponse response, String filePath); +// +// /** +// * 相对路径 +// * +// * @param relativePath 文件保存的相对路径 +// * @return 文件保存的绝对路径 +// */ +// String getFullPath(String relativePath); +// +// +// /** +// * 获取文件后缀名 +// * +// * @param fileName 文件名称 +// * @return suffix +// */ +// String getSuffix(String fileName); +// +// +// /** +// * 获取文件存储至磁盘的相对路径 +// * +// * @param fileName 文件名 +// * @param suffix 动态拼接的文件后缀,若该值为空则不拼接 +// * @return 相对路径 +// */ +// String getDiskRelativePath(String fileName, String suffix); +// +//} diff --git a/src/main/java/com/sztzjy/financial_bigdata/util/file/LocalFileUtil.java b/src/main/java/com/sztzjy/financial_bigdata/util/file/LocalFileUtil.java index 84445ff..32ea663 100644 --- a/src/main/java/com/sztzjy/financial_bigdata/util/file/LocalFileUtil.java +++ b/src/main/java/com/sztzjy/financial_bigdata/util/file/LocalFileUtil.java @@ -1,175 +1,175 @@ -package com.sztzjy.financial_bigdata.util.file; - -import cn.hutool.core.util.CharsetUtil; -import cn.hutool.core.util.IdUtil; -import org.springframework.util.Assert; -import org.springframework.util.StringUtils; -import org.springframework.web.multipart.MultipartFile; - -import javax.servlet.http.HttpServletResponse; -import java.io.*; -import java.net.URLEncoder; -import java.nio.file.Files; -import java.util.Arrays; -import java.util.Calendar; -import java.util.Date; -import java.util.List; - -public class LocalFileUtil implements IFileUtil{ - - private final static List excludeSp = Arrays.asList("exe", "bin", "sh"); - - private final String localPath; - - public LocalFileUtil(String localPath) { - this.localPath = localPath; - } - - @Override - public String upload(MultipartFile file) { - return upload(null, file); - } - - @Override - public String upload(String objectName, InputStream fileIn) { - Assert.notNull(fileIn, "文件不能为空"); - Assert.hasText(objectName, "文件名为空"); - Assert.isTrue(objectName.lastIndexOf(".") > 0, "文件名称需携带扩展后缀"); - FileOutputStream out = null; - try { - String relativePath = getDiskRelativePath(objectName, null); - File file = new File(getFullPath(relativePath)); - file.getParentFile().mkdirs(); - out = new FileOutputStream(file); - byte[] buff = new byte[4096]; - int len; - while ((len = fileIn.read(buff)) != -1) { - out.write(buff, 0, len); - } - out.flush(); - return relativePath; - } catch (IOException e) { - e.printStackTrace(); - throw new IllegalArgumentException("上传文件失败,IO错误"); - } finally { - try { - fileIn.close(); - if (out != null) out.close(); - } catch (IOException e) { - e.printStackTrace(); - } - } - } - - @Override - public boolean remove(String path) { - if (!StringUtils.hasText(path)) return false; - File file = new File(getFullPath(path)); - if (!file.exists()) return false; - return file.delete(); - } - - @Override - public void download(HttpServletResponse response, String fileName, String relativePath) { - Assert.hasText(relativePath, "路径为空"); - System.out.println("------------------------------------" + getFullPath(relativePath)); - File file = new File(getFullPath(relativePath)); - Assert.isTrue(file.exists(), "附件不存在"); - String sp = relativePath.substring(relativePath.lastIndexOf(".") + 1); - Assert.isTrue(!excludeSp.contains(sp.toLowerCase()), "文件类型错误"); - if (!StringUtils.hasText(fileName)) { - fileName = file.getName().substring(0, file.getName().lastIndexOf(".")); - } - InputStream fis = null; - try { - response.setContentType("application/octet-stream"); - response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode((fileName + "." + sp), CharsetUtil.UTF_8)); - fis = new BufferedInputStream(Files.newInputStream(file.toPath())); - response.addHeader("Content-Length", String.valueOf(fis.available())); - byte[] buff = new byte[4096]; - int len; - while ((len = fis.read(buff)) != -1) { - response.getOutputStream().write(buff, 0, len); - } - } catch (Exception e) { - throw new IllegalArgumentException("下载文件失败: " + e.getMessage()); - } finally { - try { - if (fis != null) fis.close(); - } catch (IOException e) { - e.printStackTrace(); - } - } - } - - @Override - public void download(HttpServletResponse response, String relativePath) { - download(response, null, relativePath); - } - - @Override - public String getFullPath(String relativePath) { - if (!relativePath.startsWith("/")) { - relativePath = "/" + relativePath; - } - return localPath + relativePath; - } - - @Override - public String getSuffix(String fileName) { - Assert.hasText(fileName, "文件名不存在!"); - if (fileName.lastIndexOf(".") < 0) { - return null; - } - return fileName.substring(fileName.lastIndexOf(".") + 1); - } - - public String upload(String fileName, MultipartFile file) { - return upload(fileName, file, null); - } - - - @Override - public String getDiskRelativePath(String fileName, String suffix) { - Calendar c = Calendar.getInstance(); - Date d = new Date(); - c.setTime(d); - String year = Integer.toString(c.get(Calendar.YEAR)); - String month = Integer.toString(c.get(Calendar.MONTH) + 1); - String day = Integer.toString(c.get(Calendar.DATE)); - StringBuilder path = new StringBuilder(); - path.append("/").append(year) - .append("/").append(month) - .append("/").append(day) - .append("/").append(fileName); - if (StringUtils.hasText(suffix)) path.append(".").append(suffix); - return path.toString(); - } - - private String upload(String fileName, MultipartFile file, String relativePath) { - Assert.isTrue(!file.isEmpty(), "文件不存在"); - String originalFilename = file.getOriginalFilename(); - if (fileName == null) fileName = IdUtil.simpleUUID(); - String sp = getSuffix(originalFilename); - Assert.notNull(sp, "文件类型错误"); - Assert.isTrue(!excludeSp.contains(sp.toLowerCase()), "文件类型错误"); - try { - String filePath; - if (relativePath == null) { - filePath = getDiskRelativePath(fileName, sp); - } else { - relativePath = relativePath.endsWith("/") ? relativePath : relativePath + "/"; - filePath = relativePath + fileName + "." + sp; - } - - File destFile = new File(getFullPath(filePath)); - destFile.getParentFile().mkdirs(); - file.transferTo(destFile); - return filePath; - } catch (FileNotFoundException e) { - throw new IllegalArgumentException("上传文件失败,FileNotFound错误"); - } catch (IOException e) { - throw new IllegalArgumentException("上传文件失败,IO错误"); - } - } -} +//package com.sztzjy.financial_bigdata.util.file; +// +//import cn.hutool.core.util.CharsetUtil; +//import cn.hutool.core.util.IdUtil; +//import org.springframework.util.Assert; +//import org.springframework.util.StringUtils; +//import org.springframework.web.multipart.MultipartFile; +// +//import javax.servlet.http.HttpServletResponse; +//import java.io.*; +//import java.net.URLEncoder; +//import java.nio.file.Files; +//import java.util.Arrays; +//import java.util.Calendar; +//import java.util.Date; +//import java.util.List; +// +//public class LocalFileUtil implements IFileUtil{ +// +// private final static List excludeSp = Arrays.asList("exe", "bin", "sh"); +// +// private final String localPath; +// +// public LocalFileUtil(String localPath) { +// this.localPath = localPath; +// } +// +// @Override +// public String upload(MultipartFile file) { +// return upload(null, file); +// } +// +// @Override +// public String upload(String objectName, InputStream fileIn) { +// Assert.notNull(fileIn, "文件不能为空"); +// Assert.hasText(objectName, "文件名为空"); +// Assert.isTrue(objectName.lastIndexOf(".") > 0, "文件名称需携带扩展后缀"); +// FileOutputStream out = null; +// try { +// String relativePath = getDiskRelativePath(objectName, null); +// File file = new File(getFullPath(relativePath)); +// file.getParentFile().mkdirs(); +// out = new FileOutputStream(file); +// byte[] buff = new byte[4096]; +// int len; +// while ((len = fileIn.read(buff)) != -1) { +// out.write(buff, 0, len); +// } +// out.flush(); +// return relativePath; +// } catch (IOException e) { +// e.printStackTrace(); +// throw new IllegalArgumentException("上传文件失败,IO错误"); +// } finally { +// try { +// fileIn.close(); +// if (out != null) out.close(); +// } catch (IOException e) { +// e.printStackTrace(); +// } +// } +// } +// +// @Override +// public boolean remove(String path) { +// if (!StringUtils.hasText(path)) return false; +// File file = new File(getFullPath(path)); +// if (!file.exists()) return false; +// return file.delete(); +// } +// +// @Override +// public void download(HttpServletResponse response, String fileName, String relativePath) { +// Assert.hasText(relativePath, "路径为空"); +// System.out.println("------------------------------------" + getFullPath(relativePath)); +// File file = new File(getFullPath(relativePath)); +// Assert.isTrue(file.exists(), "附件不存在"); +// String sp = relativePath.substring(relativePath.lastIndexOf(".") + 1); +// Assert.isTrue(!excludeSp.contains(sp.toLowerCase()), "文件类型错误"); +// if (!StringUtils.hasText(fileName)) { +// fileName = file.getName().substring(0, file.getName().lastIndexOf(".")); +// } +// InputStream fis = null; +// try { +// response.setContentType("application/octet-stream"); +// response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode((fileName + "." + sp), CharsetUtil.UTF_8)); +// fis = new BufferedInputStream(Files.newInputStream(file.toPath())); +// response.addHeader("Content-Length", String.valueOf(fis.available())); +// byte[] buff = new byte[4096]; +// int len; +// while ((len = fis.read(buff)) != -1) { +// response.getOutputStream().write(buff, 0, len); +// } +// } catch (Exception e) { +// throw new IllegalArgumentException("下载文件失败: " + e.getMessage()); +// } finally { +// try { +// if (fis != null) fis.close(); +// } catch (IOException e) { +// e.printStackTrace(); +// } +// } +// } +// +// @Override +// public void download(HttpServletResponse response, String relativePath) { +// download(response, null, relativePath); +// } +// +// @Override +// public String getFullPath(String relativePath) { +// if (!relativePath.startsWith("/")) { +// relativePath = "/" + relativePath; +// } +// return localPath + relativePath; +// } +// +// @Override +// public String getSuffix(String fileName) { +// Assert.hasText(fileName, "文件名不存在!"); +// if (fileName.lastIndexOf(".") < 0) { +// return null; +// } +// return fileName.substring(fileName.lastIndexOf(".") + 1); +// } +// +// public String upload(String fileName, MultipartFile file) { +// return upload(fileName, file, null); +// } +// +// +// @Override +// public String getDiskRelativePath(String fileName, String suffix) { +// Calendar c = Calendar.getInstance(); +// Date d = new Date(); +// c.setTime(d); +// String year = Integer.toString(c.get(Calendar.YEAR)); +// String month = Integer.toString(c.get(Calendar.MONTH) + 1); +// String day = Integer.toString(c.get(Calendar.DATE)); +// StringBuilder path = new StringBuilder(); +// path.append("/").append(year) +// .append("/").append(month) +// .append("/").append(day) +// .append("/").append(fileName); +// if (StringUtils.hasText(suffix)) path.append(".").append(suffix); +// return path.toString(); +// } +// +// private String upload(String fileName, MultipartFile file, String relativePath) { +// Assert.isTrue(!file.isEmpty(), "文件不存在"); +// String originalFilename = file.getOriginalFilename(); +// if (fileName == null) fileName = IdUtil.simpleUUID(); +// String sp = getSuffix(originalFilename); +// Assert.notNull(sp, "文件类型错误"); +// Assert.isTrue(!excludeSp.contains(sp.toLowerCase()), "文件类型错误"); +// try { +// String filePath; +// if (relativePath == null) { +// filePath = getDiskRelativePath(fileName, sp); +// } else { +// relativePath = relativePath.endsWith("/") ? relativePath : relativePath + "/"; +// filePath = relativePath + fileName + "." + sp; +// } +// +// File destFile = new File(getFullPath(filePath)); +// destFile.getParentFile().mkdirs(); +// file.transferTo(destFile); +// return filePath; +// } catch (FileNotFoundException e) { +// throw new IllegalArgumentException("上传文件失败,FileNotFound错误"); +// } catch (IOException e) { +// throw new IllegalArgumentException("上传文件失败,IO错误"); +// } +// } +//}