Merge remote-tracking branch 'origin/develop_master' into develop_master

This commit is contained in:
yuezhihang
2022-07-18 13:59:56 +08:00
3 changed files with 74 additions and 19 deletions
@@ -38,6 +38,7 @@ import sun.misc.BASE64Encoder;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.io.*; import java.io.*;
import java.net.HttpURLConnection;
import java.net.URL; import java.net.URL;
import java.net.URLConnection; import java.net.URLConnection;
import java.net.URLEncoder; import java.net.URLEncoder;
@@ -57,6 +58,12 @@ public class WorkFlowController {
@Value("${stand.edit.file.path}") @Value("${stand.edit.file.path}")
private String standEditFilePath; private String standEditFilePath;
/**
* 文件下载路径
*/
@Value("${file.downloadUrl}")
private String downloadUrl;
@Autowired @Autowired
private JwtUtils jwtUtils; private JwtUtils jwtUtils;
@@ -71,23 +78,59 @@ public class WorkFlowController {
// @RequiresPermissions("sys:file:downloadFileForSar") // @RequiresPermissions("sys:file:downloadFileForSar")
public void downloadFileForSar(String fileId, String oldFileName, HttpServletResponse response, HttpServletRequest request) throws Exception { public void downloadFileForSar(String fileId, String oldFileName, HttpServletResponse response, HttpServletRequest request) throws Exception {
BusProcessModelHis modelHisOne = workFlowFeignClient.processEditFile(fileId); BusProcessModelHis modelHisOne = workFlowFeignClient.processEditFile(fileId);
InputStream is = null;
OutputStream os = null; OutputStream os = null;
// fileUrl为http或https链接
InputStream inputStream = null;
HttpURLConnection conn = null;
response.reset(); response.reset();
try { File file = new File(downloadUrl+modelHisOne.getEditFilePath());
String fileOldName = fileNameEncoding(oldFileName,request);
response.setHeader("Content-Disposition", "attachment;filename=\""+fileOldName+"\""); if(file.exists()){
response.setContentType("application/octet-stream"); try {
File file = new File(standEditFilePath+modelHisOne.getEditFilePath()); String fileOldName = fileNameEncoding(oldFileName,request);
is = new FileInputStream(file); response.setHeader("Content-Disposition", "attachment;filename=\""+fileOldName+"\"");
os = response.getOutputStream(); response.setContentType("application/octet-stream");
org.apache.commons.io.IOUtils.copy(is, os); inputStream = new FileInputStream(file);
os.flush(); os = response.getOutputStream();
} catch (IOException e) { org.apache.commons.io.IOUtils.copy(inputStream, os);
logger.error(e.getMessage(), e); os.flush();
} finally { } catch (IOException e) {
org.apache.commons.io.IOUtils.closeQuietly(is); logger.error(e.getMessage(), e);
org.apache.commons.io.IOUtils.closeQuietly(os); } finally {
org.apache.commons.io.IOUtils.closeQuietly(inputStream);
org.apache.commons.io.IOUtils.closeQuietly(os);
}
}else {
URL url;
try {
String fileOldName = fileNameEncoding(oldFileName,request);
response.setHeader("Content-Disposition", "attachment;filename=\""+fileOldName+"\"");
response.setContentType("application/octet-stream");
url = new URL(downloadUrl+modelHisOne.getEditFilePath());
conn = (HttpURLConnection) url.openConnection();
// 设置超时间为5秒
conn.setConnectTimeout(3 * 1000);
// 得到输入流
inputStream = conn.getInputStream();
os = response.getOutputStream();
IOUtils.copy(inputStream, os);
os.flush();
//生成本地文件之类的省略了
} catch (Exception e) {
logger.error(e.getMessage(), e);
} finally {
if (conn != null) {
conn.disconnect();
}
try {
if (inputStream != null) {
inputStream.close();
}
IOUtils.closeQuietly(os);
} catch (IOException e) {
logger.error(e.getMessage(), e);
}
}
} }
} }
@@ -116,16 +116,27 @@ public class EsRevisePlanServiceImpl extends ServiceImpl<EsRevisePlanDao, EsRevi
// 技术标准 更新计划库 // 技术标准 更新计划库
if(StringUtils.isNotBlank(esRevisePlan.getId())){ if(StringUtils.isNotBlank(esRevisePlan.getId())){
EsRevisePlan upd = new EsRevisePlan();
upd.setId(esRevisePlan.getId());
String reviseStatus = "";
if(StringUtils.isNotBlank(esRevisePlan.getReviseStatus())){
if(esRevisePlan.getReviseStatus().contains("_")){
reviseStatus = esRevisePlan.getReviseStatus().split("_")[1];
}else {
reviseStatus = esRevisePlan.getReviseStatus();
}
}
if(StringUtils.isBlank(esRevisePlan.getPlanStatus()) || !"4".equals(esRevisePlan.getPlanStatus())){ if(StringUtils.isBlank(esRevisePlan.getPlanStatus()) || !"4".equals(esRevisePlan.getPlanStatus())){
esRevisePlan.setReviseStatus(reviseStatus);
if("1".equals(esRevisePlan.getReviseStatus())){ if("1".equals(esRevisePlan.getReviseStatus())){
esRevisePlan.setPlanStatus("1"); upd.setPlanStatus("1");
}else if("2".equals(esRevisePlan.getReviseStatus())){ }else if("2".equals(esRevisePlan.getReviseStatus())){
esRevisePlan.setPlanStatus("2"); upd.setPlanStatus("2");
}else if("3".equals(esRevisePlan.getReviseStatus())){ }else if("3".equals(esRevisePlan.getReviseStatus())){
esRevisePlan.setPlanStatus("3"); upd.setPlanStatus("3");
} }
} }
esRevisePlanDao.updateById(esRevisePlan); esRevisePlanDao.updateById(upd);
} }
return "操作成功"; return "操作成功";
} }
@@ -0,0 +1 @@
INSERT INTO `sar_stand_attr_details`(`ID`, `ATTR_FIELD`, `ATTR_NAME`, `ATTR_TYPE`, `ATTR_LEN`, `ORDER_NUM`, `IS_EDIT`, `CREATION_USER`, `VALID_FLAG`, `CREATION_TIME`, `MODIFY_TIME`, `IS_MUST`, `IS_SHOW_IMP`, `SHOW_REGION_ID`, `SEL_VAL`, `SAR_TYPE`, `IS_SEARCH`, `IS_WARN`, `IS_JANSUO`) VALUES ('vh9ywh0cs2kryho209lb', 'FBGYWBD', '发布稿(译文)', 'FILE', 2000, 4, '0', 'admin', '0', '2022-07-16 16:00:00', '2022-07-17 14:29:59', '1', '0', 'L378EYP5HL28KE7NSZ68', '', 'STAND', '1', '1', NULL);