fix(file-upload): 解决附件上传和配置文件加载问题
parent
b427c30582
commit
c40ec8dc4d
|
|
@ -4,6 +4,6 @@ spring:
|
||||||
# - classpath:nacos.yml
|
# - classpath:nacos.yml
|
||||||
# - classpath:sdk.yml
|
# - classpath:sdk.yml
|
||||||
- classpath:nacos-prod.yml
|
- classpath:nacos-prod.yml
|
||||||
- classpath:sdk-prod.yml
|
# - classpath:sdk-prod.yml
|
||||||
# - classpath:sdk-prod-gwj.yml
|
- classpath:sdk-prod-gwj.yml
|
||||||
- classpath:swagger.yml
|
- classpath:swagger.yml
|
||||||
|
|
|
||||||
|
|
@ -64,7 +64,6 @@ public class SgInformAddExe {
|
||||||
SgInformE sgInformE = new SgInformE();
|
SgInformE sgInformE = new SgInformE();
|
||||||
BeanUtils.copyProperties(inform, sgInformE);
|
BeanUtils.copyProperties(inform, sgInformE);
|
||||||
|
|
||||||
// 通知接收接口未传业务主键,按当前约定每次生成新的 informId 并绑定图片外键。
|
|
||||||
sgInformE.setInformId(Tools.get32UUID());
|
sgInformE.setInformId(Tools.get32UUID());
|
||||||
handleCreateFields(sgInformE, inform);
|
handleCreateFields(sgInformE, inform);
|
||||||
|
|
||||||
|
|
@ -98,20 +97,40 @@ public class SgInformAddExe {
|
||||||
List<ImgFilesDO> imgFilesDOList = new ArrayList<>();
|
List<ImgFilesDO> imgFilesDOList = new ArrayList<>();
|
||||||
byte[] decryptKey = EncryptAndDecryptUtil.decryptSm2(key);
|
byte[] decryptKey = EncryptAndDecryptUtil.decryptSm2(key);
|
||||||
for (MultipartFile multipartFile : files) {
|
for (MultipartFile multipartFile : files) {
|
||||||
|
if (multipartFile == null || multipartFile.isEmpty()) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
SM4 sm4 = SmUtil.sm4(decryptKey);
|
SM4 sm4 = SmUtil.sm4(decryptKey);
|
||||||
byte[] decrypt = sm4.decrypt(multipartFile.getInputStream());
|
byte[] decrypt = sm4.decrypt(multipartFile.getInputStream());
|
||||||
String fileName = Tools.get32UUID() + multipartFile.getOriginalFilename().substring(multipartFile.getOriginalFilename().lastIndexOf("."));
|
String originalFilename = normalizeEncryptedFileName(multipartFile.getOriginalFilename());
|
||||||
|
if (StringUtils.isBlank(originalFilename) || originalFilename.lastIndexOf(".") < 0) {
|
||||||
|
throw new BizException("通知附件名称不合法");
|
||||||
|
}
|
||||||
|
String fileName = Tools.get32UUID() + originalFilename.substring(originalFilename.lastIndexOf("."));
|
||||||
String filePath = zcloudImgFilesFacade.saveFileNoCorpinfoId(decrypt, fileName, "inform");
|
String filePath = zcloudImgFilesFacade.saveFileNoCorpinfoId(decrypt, fileName, "inform");
|
||||||
|
|
||||||
ImgFilesDO imgFilesDO = new ImgFilesDO();
|
ImgFilesDO imgFilesDO = new ImgFilesDO();
|
||||||
imgFilesDO.setImgFilesId(Tools.get32UUID());
|
imgFilesDO.setImgFilesId(Tools.get32UUID());
|
||||||
imgFilesDO.setFilePath(filePath);
|
imgFilesDO.setFilePath(filePath);
|
||||||
imgFilesDO.setForeignKey(informId);
|
imgFilesDO.setForeignKey(informId);
|
||||||
imgFilesDO.setFileName(multipartFile.getOriginalFilename());
|
imgFilesDO.setFileName(originalFilename);
|
||||||
imgFilesDO.setType(3);
|
imgFilesDO.setType(3);
|
||||||
imgFilesDOList.add(imgFilesDO);
|
imgFilesDOList.add(imgFilesDO);
|
||||||
|
log.info("通知附件名称标准化完成,原始名称:{},保存名称:{}", multipartFile.getOriginalFilename(), originalFilename);
|
||||||
|
}
|
||||||
|
if (!imgFilesDOList.isEmpty()) {
|
||||||
|
imgFilesRepository.saveBatch(imgFilesDOList);
|
||||||
}
|
}
|
||||||
imgFilesRepository.saveBatch(imgFilesDOList);
|
|
||||||
log.info("数港通知附件保存完成,通知业务主键:{},附件数量:{}", informId, imgFilesDOList.size());
|
log.info("数港通知附件保存完成,通知业务主键:{},附件数量:{}", informId, imgFilesDOList.size());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private String normalizeEncryptedFileName(String encryptedFileName) {
|
||||||
|
if (StringUtils.isBlank(encryptedFileName)) {
|
||||||
|
return encryptedFileName;
|
||||||
|
}
|
||||||
|
if (encryptedFileName.endsWith(".encrypted")) {
|
||||||
|
return encryptedFileName.substring(0, encryptedFileName.length() - 10);
|
||||||
|
}
|
||||||
|
return encryptedFileName;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,5 @@
|
||||||
package com.zcloud.safety.command;
|
package com.zcloud.safety.command;
|
||||||
|
|
||||||
import cn.hutool.core.date.DateUtil;
|
|
||||||
import cn.hutool.crypto.SmUtil;
|
import cn.hutool.crypto.SmUtil;
|
||||||
import cn.hutool.crypto.symmetric.SM4;
|
import cn.hutool.crypto.symmetric.SM4;
|
||||||
import com.alibaba.cola.exception.BizException;
|
import com.alibaba.cola.exception.BizException;
|
||||||
|
|
@ -50,7 +49,7 @@ public class SgNoticeAddExe {
|
||||||
public boolean execute(SgNoticeAddCmd cmd) {
|
public boolean execute(SgNoticeAddCmd cmd) {
|
||||||
SgNoticeE sgNoticeE = new SgNoticeE();
|
SgNoticeE sgNoticeE = new SgNoticeE();
|
||||||
BeanUtils.copyProperties(cmd, sgNoticeE);
|
BeanUtils.copyProperties(cmd, sgNoticeE);
|
||||||
boolean res = false;
|
boolean res;
|
||||||
try {
|
try {
|
||||||
res = sgNoticeGateway.add(sgNoticeE);
|
res = sgNoticeGateway.add(sgNoticeE);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
|
|
@ -69,7 +68,7 @@ public class SgNoticeAddExe {
|
||||||
|
|
||||||
try {
|
try {
|
||||||
log.info("开始处理数港公告入库,公告业务主键:{},附件数量:{}", notice.getNoticeId(), files == null ? 0 : files.length);
|
log.info("开始处理数港公告入库,公告业务主键:{},附件数量:{}", notice.getNoticeId(), files == null ? 0 : files.length);
|
||||||
String noticeId = notice.getNoticeId();
|
String noticeId = notice.getNoticeId();
|
||||||
|
|
||||||
SgNoticeDO byNoticeId = null;
|
SgNoticeDO byNoticeId = null;
|
||||||
if (StringUtils.isNotBlank(noticeId)) {
|
if (StringUtils.isNotBlank(noticeId)) {
|
||||||
|
|
@ -88,22 +87,33 @@ public class SgNoticeAddExe {
|
||||||
|
|
||||||
if (files != null && files.length > 0) {
|
if (files != null && files.length > 0) {
|
||||||
List<ImgFilesDO> imgFilesDOList = new ArrayList<>();
|
List<ImgFilesDO> imgFilesDOList = new ArrayList<>();
|
||||||
|
byte[] decryptKey = EncryptAndDecryptUtil.decryptSm2(key);
|
||||||
|
SM4 sm4 = SmUtil.sm4(decryptKey);
|
||||||
for (MultipartFile multipartFile : files) {
|
for (MultipartFile multipartFile : files) {
|
||||||
SM4 sm4 = SmUtil.sm4(EncryptAndDecryptUtil.decryptSm2(key));
|
if (multipartFile == null || multipartFile.isEmpty()) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
byte[] decrypt = sm4.decrypt(multipartFile.getInputStream());
|
byte[] decrypt = sm4.decrypt(multipartFile.getInputStream());
|
||||||
// 生成文件名
|
String originalFilename = normalizeEncryptedFileName(multipartFile.getOriginalFilename());
|
||||||
String fileName = Tools.get32UUID() + multipartFile.getOriginalFilename().substring(multipartFile.getOriginalFilename().lastIndexOf("."));
|
if (StringUtils.isBlank(originalFilename) || originalFilename.lastIndexOf(".") < 0) {
|
||||||
|
throw new BizException("公告附件名称不合法");
|
||||||
|
}
|
||||||
|
|
||||||
|
String fileName = Tools.get32UUID() + originalFilename.substring(originalFilename.lastIndexOf("."));
|
||||||
String filePath = zcloudImgFilesFacade.saveFileNoCorpinfoId(decrypt, fileName, "notice");
|
String filePath = zcloudImgFilesFacade.saveFileNoCorpinfoId(decrypt, fileName, "notice");
|
||||||
|
|
||||||
ImgFilesDO imgFilesDO = new ImgFilesDO();
|
ImgFilesDO imgFilesDO = new ImgFilesDO();
|
||||||
imgFilesDO.setImgFilesId(Tools.get32UUID());
|
imgFilesDO.setImgFilesId(Tools.get32UUID());
|
||||||
imgFilesDO.setFilePath(filePath);
|
imgFilesDO.setFilePath(filePath);
|
||||||
imgFilesDO.setForeignKey(sgNoticeE.getNoticeId());
|
imgFilesDO.setForeignKey(sgNoticeE.getNoticeId());
|
||||||
imgFilesDO.setFileName(multipartFile.getOriginalFilename());
|
imgFilesDO.setFileName(originalFilename);
|
||||||
imgFilesDO.setType(2);
|
imgFilesDO.setType(2);
|
||||||
imgFilesDOList.add(imgFilesDO);
|
imgFilesDOList.add(imgFilesDO);
|
||||||
|
log.info("公告附件名称标准化完成,原始名称:{},保存名称:{}", multipartFile.getOriginalFilename(), originalFilename);
|
||||||
|
}
|
||||||
|
if (!imgFilesDOList.isEmpty()) {
|
||||||
|
imgFilesRepository.saveBatch(imgFilesDOList);
|
||||||
}
|
}
|
||||||
imgFilesRepository.saveBatch(imgFilesDOList);
|
|
||||||
log.info("数港公告附件保存完成,公告业务主键:{},图片数量:{}", notice.getNoticeId(), imgFilesDOList.size());
|
log.info("数港公告附件保存完成,公告业务主键:{},图片数量:{}", notice.getNoticeId(), imgFilesDOList.size());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -120,8 +130,9 @@ public class SgNoticeAddExe {
|
||||||
throw new RuntimeException(e);
|
throw new RuntimeException(e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/**
|
|
||||||
* 处理创建人和创建时间字段的转换
|
/**
|
||||||
|
* 处理创建人和创建时间字段的转换。
|
||||||
*/
|
*/
|
||||||
private void handleCreateFields(SgNoticeE sgNoticeE, SgNoticeAddDTO notice) {
|
private void handleCreateFields(SgNoticeE sgNoticeE, SgNoticeAddDTO notice) {
|
||||||
if (StringUtils.isNotBlank(notice.getCreateBy())) {
|
if (StringUtils.isNotBlank(notice.getCreateBy())) {
|
||||||
|
|
@ -130,7 +141,7 @@ public class SgNoticeAddExe {
|
||||||
|
|
||||||
if (StringUtils.isNotBlank(notice.getCreateTime())) {
|
if (StringUtils.isNotBlank(notice.getCreateTime())) {
|
||||||
try {
|
try {
|
||||||
LocalDateTime createTime = LocalDateTime.parse(notice.getCreateTime().trim(), DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
|
LocalDateTime createTime = LocalDateTime.parse(notice.getCreateTime().trim(), DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
|
||||||
sgNoticeE.setCreateTime(createTime);
|
sgNoticeE.setCreateTime(createTime);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
log.warn("解析创建时间失败,使用当前时间,原始值:{},错误:{}", notice.getCreateTime(), e.getMessage());
|
log.warn("解析创建时间失败,使用当前时间,原始值:{},错误:{}", notice.getCreateTime(), e.getMessage());
|
||||||
|
|
@ -141,7 +152,6 @@ public class SgNoticeAddExe {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 公告带新附件重传时,先逻辑删除旧图片,避免明细重复。
|
* 公告带新附件重传时,先逻辑删除旧图片,避免明细重复。
|
||||||
*/
|
*/
|
||||||
|
|
@ -150,4 +160,17 @@ public class SgNoticeAddExe {
|
||||||
imgFilesRepository.deletedImgFilesByForeignId(noticeId);
|
imgFilesRepository.deletedImgFilesByForeignId(noticeId);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 数港传入附件名称带 .encrypted 后缀时,保存前统一还原真实文件名。
|
||||||
|
*/
|
||||||
|
private String normalizeEncryptedFileName(String encryptedFileName) {
|
||||||
|
if (StringUtils.isBlank(encryptedFileName)) {
|
||||||
|
return encryptedFileName;
|
||||||
|
}
|
||||||
|
if (encryptedFileName.endsWith(".encrypted")) {
|
||||||
|
return encryptedFileName.substring(0, encryptedFileName.length() - 10);
|
||||||
|
}
|
||||||
|
return encryptedFileName;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -68,7 +68,6 @@ public class SgReferenceAddExe {
|
||||||
throw new BizException("新增互学互鉴后未查询到数据");
|
throw new BizException("新增互学互鉴后未查询到数据");
|
||||||
}
|
}
|
||||||
|
|
||||||
// 新增时直接使用本次请求附件推送,避免依赖先落库再按外键反查附件。
|
|
||||||
sgReferencePushSupport.pushReference(latestReference, PushOperationTypeEnum.ADD, cmd.getFiles());
|
sgReferencePushSupport.pushReference(latestReference, PushOperationTypeEnum.ADD, cmd.getFiles());
|
||||||
log.info("互学互鉴新增完成,本地主键:{},附件数量:{}", sgReferenceE.getId(), cmd.getFiles() == null ? 0 : cmd.getFiles().length);
|
log.info("互学互鉴新增完成,本地主键:{},附件数量:{}", sgReferenceE.getId(), cmd.getFiles() == null ? 0 : cmd.getFiles().length);
|
||||||
return true;
|
return true;
|
||||||
|
|
@ -159,7 +158,6 @@ public class SgReferenceAddExe {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private void fillCreateFields(SgReferenceE sgReferenceE, SgReferenceReceiveDTO reference) {
|
private void fillCreateFields(SgReferenceE sgReferenceE, SgReferenceReceiveDTO reference) {
|
||||||
if (StringUtils.isNotBlank(reference.getCreateBy())) {
|
if (StringUtils.isNotBlank(reference.getCreateBy())) {
|
||||||
sgReferenceE.setCreateName(reference.getCreateBy().trim());
|
sgReferenceE.setCreateName(reference.getCreateBy().trim());
|
||||||
|
|
@ -179,10 +177,14 @@ public class SgReferenceAddExe {
|
||||||
if (file == null || file.isEmpty()) {
|
if (file == null || file.isEmpty()) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
String fileName = Tools.get32UUID() + file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf("."));
|
String originalFilename = normalizeEncryptedFileName(file.getOriginalFilename());
|
||||||
|
if (StringUtils.isBlank(originalFilename) || originalFilename.lastIndexOf(".") < 0) {
|
||||||
|
throw new BizException("互学互鉴附件名称不合法");
|
||||||
|
}
|
||||||
|
String fileName = Tools.get32UUID() + originalFilename.substring(originalFilename.lastIndexOf("."));
|
||||||
String filePath = zcloudImgFilesFacade.saveFileNoCorpinfoId(file.getBytes(), fileName, "reference");
|
String filePath = zcloudImgFilesFacade.saveFileNoCorpinfoId(file.getBytes(), fileName, "reference");
|
||||||
imgFilesDOList.add(buildImgFile(referenceId, file.getOriginalFilename(), filePath));
|
imgFilesDOList.add(buildImgFile(referenceId, originalFilename, filePath));
|
||||||
|
log.info("互学互鉴本地附件名称标准化完成,原始名称:{},保存名称:{}", file.getOriginalFilename(), originalFilename);
|
||||||
}
|
}
|
||||||
saveImgFiles(referenceId, imgFilesDOList);
|
saveImgFiles(referenceId, imgFilesDOList);
|
||||||
}
|
}
|
||||||
|
|
@ -200,9 +202,14 @@ public class SgReferenceAddExe {
|
||||||
}
|
}
|
||||||
SM4 sm4 = SmUtil.sm4(decryptKey);
|
SM4 sm4 = SmUtil.sm4(decryptKey);
|
||||||
byte[] decrypt = sm4.decrypt(file.getInputStream());
|
byte[] decrypt = sm4.decrypt(file.getInputStream());
|
||||||
String fileName = Tools.get32UUID() + file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf("."));
|
String originalFilename = normalizeEncryptedFileName(file.getOriginalFilename());
|
||||||
|
if (StringUtils.isBlank(originalFilename) || originalFilename.lastIndexOf(".") < 0) {
|
||||||
|
throw new BizException("互学互鉴附件名称不合法");
|
||||||
|
}
|
||||||
|
String fileName = Tools.get32UUID() + originalFilename.substring(originalFilename.lastIndexOf("."));
|
||||||
String filePath = zcloudImgFilesFacade.saveFileNoCorpinfoId(decrypt, fileName, "reference");
|
String filePath = zcloudImgFilesFacade.saveFileNoCorpinfoId(decrypt, fileName, "reference");
|
||||||
imgFilesDOList.add(buildImgFile(referenceId, file.getOriginalFilename(), filePath));
|
imgFilesDOList.add(buildImgFile(referenceId, originalFilename, filePath));
|
||||||
|
log.info("互学互鉴接收附件名称标准化完成,原始名称:{},保存名称:{}", file.getOriginalFilename(), originalFilename);
|
||||||
}
|
}
|
||||||
saveImgFiles(referenceId, imgFilesDOList);
|
saveImgFiles(referenceId, imgFilesDOList);
|
||||||
}
|
}
|
||||||
|
|
@ -224,4 +231,14 @@ public class SgReferenceAddExe {
|
||||||
imgFilesRepository.saveBatch(imgFilesDOList);
|
imgFilesRepository.saveBatch(imgFilesDOList);
|
||||||
log.info("互学互鉴附件保存完成,本地主键:{},附件数量:{}", referenceId, imgFilesDOList.size());
|
log.info("互学互鉴附件保存完成,本地主键:{},附件数量:{}", referenceId, imgFilesDOList.size());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private String normalizeEncryptedFileName(String encryptedFileName) {
|
||||||
|
if (StringUtils.isBlank(encryptedFileName)) {
|
||||||
|
return encryptedFileName;
|
||||||
|
}
|
||||||
|
if (encryptedFileName.endsWith(".encrypted")) {
|
||||||
|
return encryptedFileName.substring(0, encryptedFileName.length() - 10);
|
||||||
|
}
|
||||||
|
return encryptedFileName;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -15,6 +15,7 @@ import com.zcloud.safety.persistence.dataobject.SgSuperviseDO;
|
||||||
import com.zcloud.safety.persistence.repository.ImgFilesRepository;
|
import com.zcloud.safety.persistence.repository.ImgFilesRepository;
|
||||||
import com.zcloud.safety.persistence.repository.SgSuperviseRepository;
|
import com.zcloud.safety.persistence.repository.SgSuperviseRepository;
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
|
import org.apache.commons.lang.StringUtils;
|
||||||
import org.apache.dubbo.config.annotation.DubboReference;
|
import org.apache.dubbo.config.annotation.DubboReference;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
@ -61,7 +62,6 @@ public class SgSuperviseAddExe {
|
||||||
public void addReceive(SgSuperviseAddDTO supervise, String key, MultipartFile[] files) {
|
public void addReceive(SgSuperviseAddDTO supervise, String key, MultipartFile[] files) {
|
||||||
SgSuperviseE sgSuperviseE = new SgSuperviseE();
|
SgSuperviseE sgSuperviseE = new SgSuperviseE();
|
||||||
BeanUtils.copyProperties(supervise, sgSuperviseE);
|
BeanUtils.copyProperties(supervise, sgSuperviseE);
|
||||||
// 数港督办id按现有约定直接映射到本地主键id。
|
|
||||||
sgSuperviseE.setId(supervise.getSuperviseId());
|
sgSuperviseE.setId(supervise.getSuperviseId());
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
|
@ -78,10 +78,18 @@ public class SgSuperviseAddExe {
|
||||||
|
|
||||||
if (files != null && files.length > 0) {
|
if (files != null && files.length > 0) {
|
||||||
List<ImgFilesDO> imgFilesDOList = new ArrayList<>();
|
List<ImgFilesDO> imgFilesDOList = new ArrayList<>();
|
||||||
|
byte[] decryptKey = EncryptAndDecryptUtil.decryptSm2(key);
|
||||||
for (MultipartFile multipartFile : files) {
|
for (MultipartFile multipartFile : files) {
|
||||||
SM4 sm4 = SmUtil.sm4(EncryptAndDecryptUtil.decryptSm2(key));
|
if (multipartFile == null || multipartFile.isEmpty()) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
SM4 sm4 = SmUtil.sm4(decryptKey);
|
||||||
byte[] decrypt = sm4.decrypt(multipartFile.getInputStream());
|
byte[] decrypt = sm4.decrypt(multipartFile.getInputStream());
|
||||||
String fileName = Tools.get32UUID() + multipartFile.getOriginalFilename().substring(multipartFile.getOriginalFilename().lastIndexOf("."));
|
String originalFilename = normalizeEncryptedFileName(multipartFile.getOriginalFilename());
|
||||||
|
if (StringUtils.isBlank(originalFilename) || originalFilename.lastIndexOf(".") < 0) {
|
||||||
|
throw new BizException("督办附件名称不合法");
|
||||||
|
}
|
||||||
|
String fileName = Tools.get32UUID() + originalFilename.substring(originalFilename.lastIndexOf("."));
|
||||||
|
|
||||||
String filePath = zcloudImgFilesFacade.saveFileNoCorpinfoId(decrypt, fileName, "supervise");
|
String filePath = zcloudImgFilesFacade.saveFileNoCorpinfoId(decrypt, fileName, "supervise");
|
||||||
|
|
||||||
|
|
@ -89,11 +97,14 @@ public class SgSuperviseAddExe {
|
||||||
imgFilesDO.setImgFilesId(Tools.get32UUID());
|
imgFilesDO.setImgFilesId(Tools.get32UUID());
|
||||||
imgFilesDO.setFilePath(filePath);
|
imgFilesDO.setFilePath(filePath);
|
||||||
imgFilesDO.setForeignKey(sgSuperviseE.getSuperviseId());
|
imgFilesDO.setForeignKey(sgSuperviseE.getSuperviseId());
|
||||||
imgFilesDO.setFileName(multipartFile.getOriginalFilename());
|
imgFilesDO.setFileName(originalFilename);
|
||||||
imgFilesDO.setType(1);
|
imgFilesDO.setType(1);
|
||||||
imgFilesDOList.add(imgFilesDO);
|
imgFilesDOList.add(imgFilesDO);
|
||||||
|
log.info("督办附件名称标准化完成,原始名称:{},保存名称:{}", multipartFile.getOriginalFilename(), originalFilename);
|
||||||
|
}
|
||||||
|
if (!imgFilesDOList.isEmpty()) {
|
||||||
|
imgFilesRepository.saveBatch(imgFilesDOList);
|
||||||
}
|
}
|
||||||
imgFilesRepository.saveBatch(imgFilesDOList);
|
|
||||||
log.info("数港督办附件保存完成,督办id:{},图片数量:{}", supervise.getSuperviseId(), imgFilesDOList.size());
|
log.info("数港督办附件保存完成,督办id:{},图片数量:{}", supervise.getSuperviseId(), imgFilesDOList.size());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -109,4 +120,14 @@ public class SgSuperviseAddExe {
|
||||||
throw new RuntimeException(e);
|
throw new RuntimeException(e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private String normalizeEncryptedFileName(String encryptedFileName) {
|
||||||
|
if (StringUtils.isBlank(encryptedFileName)) {
|
||||||
|
return encryptedFileName;
|
||||||
|
}
|
||||||
|
if (encryptedFileName.endsWith(".encrypted")) {
|
||||||
|
return encryptedFileName.substring(0, encryptedFileName.length() - 10);
|
||||||
|
}
|
||||||
|
return encryptedFileName;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue