Merge remote-tracking branch 'origin/master'

master
wj 2 years ago
commit 48981033e8

@ -1,5 +1,6 @@
package com.glxp.api.idc.service; package com.glxp.api.idc.service;
import java.util.List;
import java.util.Map; import java.util.Map;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
@ -9,8 +10,10 @@ import org.springframework.web.multipart.MultipartFile;
import com.glxp.api.common.res.BaseResponse; import com.glxp.api.common.res.BaseResponse;
/*文件服务*/ /*文件服务*/
public interface FileService { public interface FileService {
BaseResponse upload(List<String> list);
BaseResponse download(List<String> list);
BaseResponse fileUpload(HttpServletRequest request,Map<String,Object> params); BaseResponse fileUpload(HttpServletRequest request,Map<String,Object> params);
BaseResponse fileDownload(HttpServletRequest request,Map<String,Object> params); BaseResponse fileDownload(HttpServletRequest request,Map<String,Object> params);
BaseResponse downloadFile(HttpServletRequest request,Map<String,Object> params); BaseResponse downloadFile(HttpServletRequest request,Map<String,Object> params);

@ -4,6 +4,8 @@ import java.io.File;
import java.io.IOException; import java.io.IOException;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Date; import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
@ -36,7 +38,7 @@ import okhttp3.RequestBody;
import okhttp3.Response; import okhttp3.Response;
/*连通检测*/ /*文件服务*/
@Service @Service
public class FileServiceImpl implements FileService { public class FileServiceImpl implements FileService {
private static final Logger logger = LoggerFactory.getLogger(FileServiceImpl.class); private static final Logger logger = LoggerFactory.getLogger(FileServiceImpl.class);
@ -52,8 +54,27 @@ public class FileServiceImpl implements FileService {
@Resource @Resource
private IdcService idcService; private IdcService idcService;
private String imagePath = "register/file/image2/"; private String imagePath = "register/file/image2/";
@Override
public BaseResponse upload(List<String> list) {
return fileToUpload(list);
}
@Override
public BaseResponse download(List<String> list) {
return fileToDownload(list);
}
@Override @Override
public BaseResponse fileUpload(HttpServletRequest request,Map<String,Object> params) { public BaseResponse fileUpload(HttpServletRequest request,Map<String,Object> params) {
List<String> list = new ArrayList<>();
String[] strs = params.get("fileName").toString().split(",");
for(String str:strs) {
list.add(str);
}
return fileToUpload(list);
}
private BaseResponse fileToUpload(List<String> list) {
String host=""; String host="";
try { try {
Map<String, Object> map = dbDao.get("select * from sync_data_set limit 1"); Map<String, Object> map = dbDao.get("select * from sync_data_set limit 1");
@ -73,21 +94,26 @@ public class FileServiceImpl implements FileService {
} }
if(StringUtils.isEmpty(host)) if(StringUtils.isEmpty(host))
return ResultVOUtils.error(9999,"上传地址未配置,请至同步设置中进行设置"); return ResultVOUtils.error(9999,"上传地址未配置,请至同步设置中进行设置");
if(params.get("fileName")!=null) { if(list!=null) {
String fileName = params.get("fileName").toString();
String[] strs = fileName.split(",");
String filePathSlash = filePath.substring(filePath.length() - 1).equals("/") ? "" : "/"; String filePathSlash = filePath.substring(filePath.length() - 1).equals("/") ? "" : "/";
ArrayList<String> files = new ArrayList<>(); ArrayList<String> files = new ArrayList<>();
boolean isExists = true; boolean isExists = true;
for(String str:strs) { List<String> noExitsList = new ArrayList<>();
if (!StringUtils.isEmpty(str) && FileUtils.isFileExist(filePath + filePathSlash + imagePath + str)) { for(String strs:list) {
files.add(filePath + filePathSlash + imagePath + str); String[] str = strs.split(",");
} else { for(String s:str) {
isExists = false; if (!StringUtils.isEmpty(s) && FileUtils.isFileExist(filePath + filePathSlash + imagePath + s)) {
files.add(filePath + filePathSlash + imagePath + s);
} else {
isExists = false;
noExitsList.add(s);
}
} }
} }
if(!isExists) if(!isExists)
return ResultVOUtils.error(9999,filePath + filePathSlash + imagePath + strs[0]); return ResultVOUtils.error(9999,"以下文件不存在:\n"+JSON.toJSONString(noExitsList));
String result = relayFile(files,host); String result = relayFile(files,host);
if (IDCUtils.isJson(result)) { if (IDCUtils.isJson(result)) {
BaseResponse baseResponse = JSON.parseObject(result,BaseResponse.class); BaseResponse baseResponse = JSON.parseObject(result,BaseResponse.class);
@ -101,6 +127,22 @@ public class FileServiceImpl implements FileService {
@Override @Override
public BaseResponse fileDownload(HttpServletRequest request,Map<String,Object> params) { public BaseResponse fileDownload(HttpServletRequest request,Map<String,Object> params) {
List<String> list = new ArrayList<>();
String[] strs = params.get("fileName").toString().split(",");
for(String str:strs) {
list.add(str);
}
return fileToDownload(list);
}
private BaseResponse fileToDownload(List<String> list) {
Map<String,Object> params = new HashMap<String,Object>();
String fileName = "";
for(String str:list) {
fileName +=fileName.length()>0 ? ","+str : str;
}
params.put("fileName", fileName);
Map<String, Object> map = dbDao.get("select * from sync_data_set limit 1"); Map<String, Object> map = dbDao.get("select * from sync_data_set limit 1");
if(map!=null&&map.get("syncIp")!=null) { if(map!=null&&map.get("syncIp")!=null) {

Loading…
Cancel
Save