From e775c15fde0024a897608e0ceaaed5c0c3f10850 Mon Sep 17 00:00:00 2001
From: yz <yz_0812@outlook.com>
Date: 星期五, 09 四月 2021 00:42:59 +0800
Subject: [PATCH] fix(人力微服务): 修改上传文件方式
---
febs-common/febs-common-core/src/main/java/cc/mrbird/febs/common/core/utils/MyUtil.java | 29 +++++++++++++++++++++++++++++
febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpAccessoryServiceImpl.java | 19 ++++++++++++++++---
2 files changed, 45 insertions(+), 3 deletions(-)
diff --git a/febs-common/febs-common-core/src/main/java/cc/mrbird/febs/common/core/utils/MyUtil.java b/febs-common/febs-common-core/src/main/java/cc/mrbird/febs/common/core/utils/MyUtil.java
index e90d58b..9656734 100644
--- a/febs-common/febs-common-core/src/main/java/cc/mrbird/febs/common/core/utils/MyUtil.java
+++ b/febs-common/febs-common-core/src/main/java/cc/mrbird/febs/common/core/utils/MyUtil.java
@@ -128,6 +128,35 @@
return Dict.create().set("fileName",fileName).set("suffix",suffix).set("newName",newName);
}
+ public static Dict filesUpload(MultipartFile file, String uploadPpath) throws FebsException, IOException {
+ if (file.isEmpty()) {
+ throw new FebsException("上传的文件不能为空!请重新上传");
+ }
+ if (file.getSize() <= 0) {
+ throw new FebsException("上传的文件大小需要大于0kb");
+ }
+ if (file.getSize() > 200 * 1024* 1024) {
+ throw new FebsException("上传的文件大于200M");
+ }
+ if (!FileUtil.exist(uploadPpath)) {
+ FileUtil.mkdir(uploadPpath);
+ }
+ //原本名字
+ String fileName = file.getOriginalFilename();
+ String suffix = "";
+ if (fileName.lastIndexOf(".") > 0) {
+ //后缀
+ suffix = fileName.substring(fileName.lastIndexOf("."));
+ }
+ if(FileUtil.exist(uploadPpath + fileName)){
+ throw new FebsException("文件已经存在");
+ }
+
+ //上传
+ file.transferTo(new File(uploadPpath + fileName));
+ return Dict.create().set("fileName",fileName).set("suffix",suffix);
+ }
+
/**
* 对字节数组字符串进行Base64解码并生成图片
*/
diff --git a/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpAccessoryServiceImpl.java b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpAccessoryServiceImpl.java
index a168c5a..dfc02f8 100644
--- a/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpAccessoryServiceImpl.java
+++ b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpAccessoryServiceImpl.java
@@ -218,13 +218,13 @@
public void createEmpAccessory(Long labelid, MultipartFile file, Long empId) throws FebsException, IOException {
EmpBaseInfo empBaseInfo = empBaseInfoService.getById(empId);
String nameAndCertificateNumb = empBaseInfo.getEmpName() + "_" + empBaseInfo.getCertificateNumb() + "/";
- Dict dict = MyUtil.filesUpload(file, properties.getUploadSinglePath() + nameAndCertificateNumb, snowflake.nextIdStr());
+ Dict dict = MyUtil.filesUpload(file, properties.getUploadSinglePath() + nameAndCertificateNumb);
EmpAccessory accessory = new EmpAccessory();
accessory.setCreatetime(new Date());
accessory.setCreator(FebsUtil.getUserId());
accessory.setDelFlag(0);
accessory.setEmpid(empId);
- accessory.setFilesaddress(dict.getStr("newName"));
+ accessory.setFilesaddress(dict.getStr("fileName"));
accessory.setFilesformat(StrUtil.isBlank(dict.getStr("suffix")) ? dict.getStr("suffix") : dict.getStr("suffix").substring(1));
accessory.setAccessoryid(SequenceUtil.generateId(0L, ModuleCode.HR_FIlE));
accessory.setFilesname(dict.getStr("fileName"));
@@ -241,9 +241,22 @@
if ( empAccessory.getFilesname().lastIndexOf(".")<=0){
throw new FebsException("文件名格式错误");
}
+
+ EmpAccessory accessory = this.getById(empAccessory.getAccessoryid());
+
+ EmpBaseInfo empBaseInfo = empBaseInfoService.getById(accessory.getEmpid());
+ String nameAndCertificateNumb = empBaseInfo.getEmpName() + "_" + empBaseInfo.getCertificateNumb() + "/";
+ if (FileUtil.exist(properties.getUploadSinglePath() + nameAndCertificateNumb+empAccessory.getFilesname())){
+ throw new FebsException("文件已经存在");
+ }
+
+ File file = new File(properties.getUploadSinglePath() + nameAndCertificateNumb+accessory.getFilesaddress());
+ FileUtil.rename(file,empAccessory.getFilesname(),true);
LambdaUpdateWrapper<EmpAccessory> wrapper = new LambdaUpdateWrapper<>();
wrapper.eq(EmpAccessory::getAccessoryid,empAccessory.getAccessoryid())
- .set(EmpAccessory::getFilesname,empAccessory.getFilesname()).set(EmpAccessory::getFilesformat, empAccessory.getFilesname().substring( empAccessory.getFilesname().lastIndexOf(".")+1));
+ .set(EmpAccessory::getFilesname,empAccessory.getFilesname())
+ .set(EmpAccessory::getFilesaddress,empAccessory.getFilesname())
+ .set(EmpAccessory::getFilesformat, empAccessory.getFilesname().substring( empAccessory.getFilesname().lastIndexOf(".")+1));
this.update(wrapper);
}
--
Gitblit v1.8.0