|
@@ -27,6 +27,8 @@ import java.text.ParseException;
|
|
import java.text.SimpleDateFormat;
|
|
import java.text.SimpleDateFormat;
|
|
import java.time.format.DateTimeFormatter;
|
|
import java.time.format.DateTimeFormatter;
|
|
import java.util.*;
|
|
import java.util.*;
|
|
|
|
+import java.util.concurrent.ExecutorService;
|
|
|
|
+import java.util.concurrent.Executors;
|
|
import java.util.stream.Collectors;
|
|
import java.util.stream.Collectors;
|
|
import java.util.zip.ZipEntry;
|
|
import java.util.zip.ZipEntry;
|
|
import java.util.zip.ZipOutputStream;
|
|
import java.util.zip.ZipOutputStream;
|
|
@@ -75,6 +77,7 @@ public class MouldFileServiceImpl extends ServiceImpl<MouldFileMapper, MouldFile
|
|
Mould mould = mouldMapper.selectById(userVO.getMouldId());
|
|
Mould mould = mouldMapper.selectById(userVO.getMouldId());
|
|
if (user != null) {
|
|
if (user != null) {
|
|
if (file != null && !file.isEmpty()) {
|
|
if (file != null && !file.isEmpty()) {
|
|
|
|
+ ExecutorService fixedThreadPool = Executors.newFixedThreadPool(3);
|
|
MouldFile projectFile = new MouldFile();
|
|
MouldFile projectFile = new MouldFile();
|
|
projectFile.setUplodtorId(user.getId());
|
|
projectFile.setUplodtorId(user.getId());
|
|
projectFile.setUploadtor(user.getUsername());
|
|
projectFile.setUploadtor(user.getUsername());
|
|
@@ -103,6 +106,14 @@ public class MouldFileServiceImpl extends ServiceImpl<MouldFileMapper, MouldFile
|
|
try {
|
|
try {
|
|
saveFile.createNewFile();
|
|
saveFile.createNewFile();
|
|
file.transferTo(saveFile);
|
|
file.transferTo(saveFile);
|
|
|
|
+ final String qFileName = fileName;
|
|
|
|
+ fixedThreadPool.execute(new Runnable() {
|
|
|
|
+ @Override
|
|
|
|
+ public void run() {
|
|
|
|
+ QcloudUntil.upload(path + qFileName, qFileName);
|
|
|
|
+ QcloudUntil.close();
|
|
|
|
+ }
|
|
|
|
+ });
|
|
} catch (IOException e) {
|
|
} catch (IOException e) {
|
|
e.printStackTrace();
|
|
e.printStackTrace();
|
|
projectFile = null;
|
|
projectFile = null;
|
|
@@ -129,6 +140,14 @@ public class MouldFileServiceImpl extends ServiceImpl<MouldFileMapper, MouldFile
|
|
try {
|
|
try {
|
|
saveFile2.createNewFile();
|
|
saveFile2.createNewFile();
|
|
file2.transferTo(saveFile2);
|
|
file2.transferTo(saveFile2);
|
|
|
|
+ final String qFileName = fileName2;
|
|
|
|
+ fixedThreadPool.execute(new Runnable() {
|
|
|
|
+ @Override
|
|
|
|
+ public void run() {
|
|
|
|
+ QcloudUntil.upload(path + qFileName, qFileName);
|
|
|
|
+ QcloudUntil.close();
|
|
|
|
+ }
|
|
|
|
+ });
|
|
} catch (IOException e) {
|
|
} catch (IOException e) {
|
|
e.printStackTrace();
|
|
e.printStackTrace();
|
|
projectFile = null;
|
|
projectFile = null;
|
|
@@ -146,7 +165,7 @@ public class MouldFileServiceImpl extends ServiceImpl<MouldFileMapper, MouldFile
|
|
projectFile.setDwgType(userVO.getDwgType());
|
|
projectFile.setDwgType(userVO.getDwgType());
|
|
}
|
|
}
|
|
mouldFileMapper.insert(projectFile);
|
|
mouldFileMapper.insert(projectFile);
|
|
- if(".pdf".equals(sufix1)){
|
|
|
|
|
|
+ if (".pdf".equals(sufix1)) {
|
|
PdfFile pdfFile = new PdfFile();
|
|
PdfFile pdfFile = new PdfFile();
|
|
pdfFile.setPdfUrl(projectFile.getFileUrl());
|
|
pdfFile.setPdfUrl(projectFile.getFileUrl());
|
|
pdfFile.setFileId(projectFile.getId());
|
|
pdfFile.setFileId(projectFile.getId());
|
|
@@ -154,7 +173,7 @@ public class MouldFileServiceImpl extends ServiceImpl<MouldFileMapper, MouldFile
|
|
pdfFile.setRafId(projectFile.getModelId());
|
|
pdfFile.setRafId(projectFile.getModelId());
|
|
pdfFile.setSourceFileUrl(projectFile.getFileUrl());
|
|
pdfFile.setSourceFileUrl(projectFile.getFileUrl());
|
|
pdfFileMapper.insert(pdfFile);
|
|
pdfFileMapper.insert(pdfFile);
|
|
- }else{
|
|
|
|
|
|
+ } else {
|
|
//上传完,需要生成pdf
|
|
//上传完,需要生成pdf
|
|
String dFile1 = path + UUID.randomUUID().toString().replaceAll("-", "") + ".pdf";
|
|
String dFile1 = path + UUID.randomUUID().toString().replaceAll("-", "") + ".pdf";
|
|
openOfficeService.start();
|
|
openOfficeService.start();
|
|
@@ -170,9 +189,9 @@ public class MouldFileServiceImpl extends ServiceImpl<MouldFileMapper, MouldFile
|
|
pdfFile.setSourceFileUrl(projectFile.getFileUrl());
|
|
pdfFile.setSourceFileUrl(projectFile.getFileUrl());
|
|
pdfFileMapper.insert(pdfFile);
|
|
pdfFileMapper.insert(pdfFile);
|
|
}
|
|
}
|
|
- if (blongType == 5 && file2 != null && !file2.isEmpty()) {
|
|
|
|
|
|
+ if (blongType == 5 && file2 != null && !file2.isEmpty()) {
|
|
//上传的是pdf文件则直接保存
|
|
//上传的是pdf文件则直接保存
|
|
- if(".pdf".equals(sufix2)){
|
|
|
|
|
|
+ if (".pdf".equals(sufix2)) {
|
|
PdfFile pdfFile = new PdfFile();
|
|
PdfFile pdfFile = new PdfFile();
|
|
pdfFile.setPdfUrl(projectFile.getFileUrl2());
|
|
pdfFile.setPdfUrl(projectFile.getFileUrl2());
|
|
pdfFile.setFileId(projectFile.getId());
|
|
pdfFile.setFileId(projectFile.getId());
|
|
@@ -180,7 +199,7 @@ public class MouldFileServiceImpl extends ServiceImpl<MouldFileMapper, MouldFile
|
|
pdfFile.setRafId(projectFile.getModelId());
|
|
pdfFile.setRafId(projectFile.getModelId());
|
|
pdfFile.setSourceFileUrl(projectFile.getFileUrl2());
|
|
pdfFile.setSourceFileUrl(projectFile.getFileUrl2());
|
|
pdfFileMapper.insert(pdfFile);
|
|
pdfFileMapper.insert(pdfFile);
|
|
- }else{
|
|
|
|
|
|
+ } else {
|
|
dFile2 = path + UUID.randomUUID().toString().replaceAll("-", "") + ".pdf";
|
|
dFile2 = path + UUID.randomUUID().toString().replaceAll("-", "") + ".pdf";
|
|
File testFile = new File(dFile2);
|
|
File testFile = new File(dFile2);
|
|
if (!testFile.exists()) {
|
|
if (!testFile.exists()) {
|
|
@@ -485,7 +504,7 @@ public class MouldFileServiceImpl extends ServiceImpl<MouldFileMapper, MouldFile
|
|
dynamics.setFileId(file.getId());
|
|
dynamics.setFileId(file.getId());
|
|
dynamics.setBelongType(file.getBlongType());
|
|
dynamics.setBelongType(file.getBlongType());
|
|
mouldOperationDynamicsMapper.insert(dynamics);
|
|
mouldOperationDynamicsMapper.insert(dynamics);
|
|
- if(null != file.getFileName2()){
|
|
|
|
|
|
+ if (null != file.getFileName2()) {
|
|
dynamics.setContent(Constant.DOWNLOAD);
|
|
dynamics.setContent(Constant.DOWNLOAD);
|
|
dynamics.setApplicantId(file.getUplodtorId());
|
|
dynamics.setApplicantId(file.getUplodtorId());
|
|
dynamics.setApplicantName(file.getUploadtor());
|
|
dynamics.setApplicantName(file.getUploadtor());
|
|
@@ -497,8 +516,8 @@ public class MouldFileServiceImpl extends ServiceImpl<MouldFileMapper, MouldFile
|
|
dynamics.setBelongType(file.getBlongType());
|
|
dynamics.setBelongType(file.getBlongType());
|
|
mouldOperationDynamicsMapper.insert(dynamics);
|
|
mouldOperationDynamicsMapper.insert(dynamics);
|
|
}
|
|
}
|
|
- }else{
|
|
|
|
- if(null != projectFile.getPartId()){
|
|
|
|
|
|
+ } else {
|
|
|
|
+ if (null != projectFile.getPartId()) {
|
|
//零件文档
|
|
//零件文档
|
|
List<MouldFile> mouldFiles = mouldFileMapper.selectList(new QueryWrapper<>(projectFile));
|
|
List<MouldFile> mouldFiles = mouldFileMapper.selectList(new QueryWrapper<>(projectFile));
|
|
for (MouldFile file : mouldFiles) {
|
|
for (MouldFile file : mouldFiles) {
|
|
@@ -566,9 +585,9 @@ public class MouldFileServiceImpl extends ServiceImpl<MouldFileMapper, MouldFile
|
|
if (Constant.SYS_ID.equals(currentUser.getParentId())) {
|
|
if (Constant.SYS_ID.equals(currentUser.getParentId())) {
|
|
//判断是不是资产方管理员
|
|
//判断是不是资产方管理员
|
|
msg.data = mouldFileMapper.deleteById(mouldFile.getId());
|
|
msg.data = mouldFileMapper.deleteById(mouldFile.getId());
|
|
- } else if(file.getUplodtorId().equals(currentUser.getId())){
|
|
|
|
|
|
+ } else if (file.getUplodtorId().equals(currentUser.getId())) {
|
|
msg.data = mouldFileMapper.deleteById(mouldFile.getId());
|
|
msg.data = mouldFileMapper.deleteById(mouldFile.getId());
|
|
- }else{
|
|
|
|
|
|
+ } else {
|
|
msg.setError("您没有该权限!");
|
|
msg.setError("您没有该权限!");
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -685,7 +704,6 @@ public class MouldFileServiceImpl extends ServiceImpl<MouldFileMapper, MouldFile
|
|
newFolders.add(folder);
|
|
newFolders.add(folder);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
-
|
|
|
|
try {
|
|
try {
|
|
// 生成的压缩文件
|
|
// 生成的压缩文件
|
|
if (newFolders.size() > 0) {
|
|
if (newFolders.size() > 0) {
|
|
@@ -735,6 +753,7 @@ public class MouldFileServiceImpl extends ServiceImpl<MouldFileMapper, MouldFile
|
|
OpenOfficeService openOfficeService = new OpenOfficeService();
|
|
OpenOfficeService openOfficeService = new OpenOfficeService();
|
|
List<Part> partLists = partMapper.selectList(new QueryWrapper<Part>().eq("mould_id", userVO.getMouldId()));
|
|
List<Part> partLists = partMapper.selectList(new QueryWrapper<Part>().eq("mould_id", userVO.getMouldId()));
|
|
openOfficeService.start();
|
|
openOfficeService.start();
|
|
|
|
+ ExecutorService fixedThreadPool = Executors.newFixedThreadPool(3);
|
|
for (MultipartFile file : files) {
|
|
for (MultipartFile file : files) {
|
|
MouldFile partFile = new MouldFile();
|
|
MouldFile partFile = new MouldFile();
|
|
partFile.setModelId(userVO.getMouldId());
|
|
partFile.setModelId(userVO.getMouldId());
|
|
@@ -787,9 +806,17 @@ public class MouldFileServiceImpl extends ServiceImpl<MouldFileMapper, MouldFile
|
|
try {
|
|
try {
|
|
saveFile.createNewFile();
|
|
saveFile.createNewFile();
|
|
file.transferTo(saveFile);
|
|
file.transferTo(saveFile);
|
|
|
|
+ //将文件传到腾讯云,用线程池里的线程来异步执行,防止把程序中断
|
|
|
|
+ final String qFileName = fileName;
|
|
|
|
+ fixedThreadPool.execute(new Runnable() {
|
|
|
|
+ @Override
|
|
|
|
+ public void run() {
|
|
|
|
+ QcloudUntil.upload(path + qFileName, qFileName);
|
|
|
|
+ QcloudUntil.close();
|
|
|
|
+ }
|
|
|
|
+ });
|
|
//上传完,需要生成pdf
|
|
//上传完,需要生成pdf
|
|
String dFile1 = path + UUID.randomUUID().toString().replaceAll("-", "") + ".pdf";
|
|
String dFile1 = path + UUID.randomUUID().toString().replaceAll("-", "") + ".pdf";
|
|
-
|
|
|
|
File newFile = new File(dFile1);
|
|
File newFile = new File(dFile1);
|
|
if (!newFile.exists()) {
|
|
if (!newFile.exists()) {
|
|
openOfficeService.office2PDF(path + fileName, dFile1);
|
|
openOfficeService.office2PDF(path + fileName, dFile1);
|