You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
udi-wms-java/src/main/java/com/glxp/api/http/sync/SpGetHttpClient.java

601 lines
25 KiB
Java

package com.glxp.api.http.sync;
import cn.hutool.core.convert.Convert;
import cn.hutool.json.JSONUtil;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.TypeReference;
import com.alibaba.fastjson2.JSON;
import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.common.util.ResultVOUtils;
import com.glxp.api.constant.BasicExportTypeEnum;
import com.glxp.api.entity.basic.ProductInfoEntity;
import com.glxp.api.entity.inout.IoOrderEntity;
import com.glxp.api.entity.sync.BasicExportStatusEntity;
import com.glxp.api.entity.sync.IOOrderStatusEntity;
import com.glxp.api.entity.sync.SyncEditLogEntity;
import com.glxp.api.entity.sync.SyncEditTypeEntity;
import com.glxp.api.entity.system.SyncDataSetEntity;
import com.glxp.api.idc.service.FileService;
import com.glxp.api.req.basic.BasicDataRequest;
import com.glxp.api.req.basic.DeleteBasicDataRequest;
import com.glxp.api.req.basic.ProductInfoFilterRequest;
import com.glxp.api.req.inout.RefreshInoiceRequest;
import com.glxp.api.req.inout.ReviewFinishRequest;
import com.glxp.api.req.inout.ReviewSpmsRequest;
import com.glxp.api.req.sync.BasicExportStatusRequest;
import com.glxp.api.req.sync.OrderStatusFilterRequest;
import com.glxp.api.req.sync.SyncUpLoadRequest;
import com.glxp.api.res.PageSimpleResponse;
import com.glxp.api.res.inout.RefreshInoiceResponse;
import com.glxp.api.res.inv.InvPreProductResponse;
import com.glxp.api.res.inv.InvPreinProductResponse;
import com.glxp.api.res.inv.InvProductResponse;
import com.glxp.api.res.sync.*;
import com.glxp.api.res.system.SyncDataSetResponse;
import com.glxp.api.service.sync.SyncDataSetService;
import com.glxp.api.service.sync.SyncEditLogService;
import com.glxp.api.service.sync.SyncEditTypeService;
import com.glxp.api.util.OkHttpCli;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.text.SimpleDateFormat;
import java.util.*;
@Service
public class SpGetHttpClient {
@Resource
private OkHttpCli okHttpCli;
@Resource
SyncDataSetService syncDataSetService;
@Resource
SyncEditLogService syncEditLogService;
@Resource
SyncEditTypeService syncEditTypeService;
@Value("${API_KEY}")
private String apiKey;
@Value("${API_SECRET}")
private String apiSecret;
public String getIpUrl() {
SyncDataSetEntity syncDataSetEntity = syncDataSetService.findSet();
return syncDataSetEntity.getSyncIp();
}
public String[] buildHeader() {
String[] headers = {"api_key", apiKey, "secret_key", apiSecret};
return headers;
}
public BaseResponse<String> postData(String taskId, BasicExportTypeEnum exportType, Object data) {
SyncUpLoadRequest build = SyncUpLoadRequest.builder().taskId(taskId).exportType(exportType).data(data).build();
String result = okHttpCli.doPostJson(getIpUrl() + "/sps/sync/upload/data", JSONUtil.toJsonStr(build), buildHeader());
return JSONObject.parseObject(result, new TypeReference<BaseResponse<String>>() {
});
}
//上传扫码单据
public BaseResponse<String> postAllOrder(SpsSyncOrderResponse spsSyncOrderResponse) {
String json = JSONUtil.toJsonStr(spsSyncOrderResponse);
String result = okHttpCli.doPostJson(getIpUrl() + "/orderApi/sps/sync/order/upload", json, buildHeader());
BaseResponse<String> response =
JSONObject.parseObject(result, new TypeReference<BaseResponse<String>>() {
});
return response;
}
//上传业务单据
public BaseResponse<String> postAllBusOrder(SpsSyncBusOrderResponse spsSyncOrderResponse) {
String json = JSONUtil.toJsonStr(spsSyncOrderResponse);
String result = okHttpCli.doPostJson(getIpUrl() + "/busOrderApi/sps/sync/busOrder/upload", json, buildHeader());
BaseResponse<String> response =
JSONObject.parseObject(result, new TypeReference<BaseResponse<String>>() {
});
return response;
}
//上传单据类型
public BaseResponse<String> postAllBusType(SpsSyncBusResponse spsSyncBusResponse) {
String json = JSONUtil.toJsonStr(spsSyncBusResponse);
String result = okHttpCli.doPostJson(getIpUrl() + "/sps/sync/busType/upload", json, buildHeader());
BaseResponse<String> response =
JSONObject.parseObject(result, new TypeReference<BaseResponse<String>>() {
});
return response;
}
//上传用户信息
public BaseResponse<String> postAllUser(SpsSyncDataResponse syncDataResponse) {
String json = JSONUtil.toJsonStr(syncDataResponse);
String result = okHttpCli.doPostJson(getIpUrl() + "/sps/sync/allUser/upload", json, buildHeader());
BaseResponse<String> response =
JSONObject.parseObject(result, new TypeReference<BaseResponse<String>>() {
});
return response;
}
//获取自助平台验收单据---直连接口
public BaseResponse<SpsSyncOrderResponse> getReviewOrder(ReviewSpmsRequest reviewSpmsRequest, String userId) {
String json = JSONUtil.toJsonStr(reviewSpmsRequest);
List<String> header = (List<String>) Convert.toList(buildHeader());
header.add("ADMIN_ID");
header.add(userId);
String result = okHttpCli.doPostJson(getIpUrl() + "/directToSpms" + "/udiwms/order/getReviews", json, Convert.toStrArray(header));
BaseResponse<SpsSyncOrderResponse> response =
JSONObject.parseObject(result, new TypeReference<BaseResponse<SpsSyncOrderResponse>>() {
});
return response;
}
//同步删除基础数据---直连接口
public BaseResponse deleteBasicData(BasicDataRequest basicDataRequest, String userId) {
//日志参数类
DeleteBasicDataRequest deleteBasicDataRequest = new DeleteBasicDataRequest();
deleteBasicDataRequest.setRecordCode("DL"+new SimpleDateFormat("yyyyMMddHHmmssSSSS").format(System.currentTimeMillis()));
deleteBasicDataRequest.setUserId(userId);
String json ="";
switch (basicDataRequest.getKey()){
case "BASIC_MAINTAIN":
deleteBasicDataRequest.setDataType(basicDataRequest.getKey());
deleteBasicDataRequest.setParam(JSONUtil.toJsonStr(basicDataRequest.getDeleteRequest()) + basicDataRequest.getKey());
deleteBasicDataRequest.setName("耗材字典维护");
basicDataRequest.setDeleteBasicDataRequest(deleteBasicDataRequest);
json = JSONUtil.toJsonStr(basicDataRequest);
break;
case "BASIC_MANAGE":
deleteBasicDataRequest.setDataType(basicDataRequest.getKey());
deleteBasicDataRequest.setParam(JSONUtil.toJsonStr(basicDataRequest.getDeleteCompanyFileRequest()) + basicDataRequest.getKey());
deleteBasicDataRequest.setName("供应商器械信息");
basicDataRequest.setDeleteBasicDataRequest(deleteBasicDataRequest);
json = JSONUtil.toJsonStr(basicDataRequest);
break;
case "BASIC_CORP_MAINTAIN":
deleteBasicDataRequest.setDataType(basicDataRequest.getKey());
deleteBasicDataRequest.setParam(JSONUtil.toJsonStr(basicDataRequest.getDeleteRequest()) + basicDataRequest.getKey());
deleteBasicDataRequest.setName("往来信息维护");
basicDataRequest.setDeleteBasicDataRequest(deleteBasicDataRequest);
json = JSONUtil.toJsonStr(basicDataRequest);
break;
case "BASIC_BUSINESS_TYPE":
deleteBasicDataRequest.setDataType(basicDataRequest.getKey());
deleteBasicDataRequest.setParam(JSONUtil.toJsonStr(basicDataRequest.getDeleteRequest()) + basicDataRequest.getKey());
deleteBasicDataRequest.setName("单据类型设置");
basicDataRequest.setDeleteBasicDataRequest(deleteBasicDataRequest);
json = JSONUtil.toJsonStr(basicDataRequest);
break;
default:
break;
}
List<String> header = (List<String>) Convert.toList(buildHeader());
header.add("ADMIN_ID");
header.add(userId);
// 自助统一删除接口
// ---- /udiwms/basicData/deleteBasicData
String result = okHttpCli.doPostJson(getIpUrl() + "/directToSpms" + "/udiwms/basicData/deleteBasicData", json, Convert.toStrArray(header));
BaseResponse response =
JSONObject.parseObject(result, new TypeReference<BaseResponse>() {
});
//插入操作日志
insertLog(deleteBasicDataRequest,response,userId);
//插入操作数据类型记录表
insertType(deleteBasicDataRequest);
return response;
}
public void insertLog( DeleteBasicDataRequest deleteBasicDataRequest,BaseResponse response,String userId){
SyncEditLogEntity syncEditLogEntity = new SyncEditLogEntity();
syncEditLogEntity.setRecordCode(deleteBasicDataRequest.getRecordCode());
syncEditLogEntity.setOperType(2);
syncEditLogEntity.setDataType(deleteBasicDataRequest.getDataType());
syncEditLogEntity.setUrl("/udiwms/basicData/deleteBasicData");
syncEditLogEntity.setParam(deleteBasicDataRequest.getParam());
syncEditLogEntity.setJsonResult(JSON.toJSONString(response.getData()));
syncEditLogEntity.setDirectType(1);
syncEditLogEntity.setOperUser(userId);
syncEditLogEntity.setUpdateTime(new Date());
syncEditLogService.insertLog(syncEditLogEntity);
}
public void insertType(DeleteBasicDataRequest deleteBasicDataRequest){
SyncEditTypeEntity syncEditTypeEntity = new SyncEditTypeEntity();
syncEditTypeEntity.setCode(deleteBasicDataRequest.getDataType());
syncEditTypeEntity.setName(deleteBasicDataRequest.getName());
syncEditTypeService.insertType(syncEditTypeEntity);
}
public BaseResponse<IoOrderEntity> getSimpleOrder(ReviewSpmsRequest reviewSpmsRequest, String userId) {
String json = JSONUtil.toJsonStr(reviewSpmsRequest);
List<String> header = (List<String>) Convert.toList(buildHeader());
header.add("ADMIN_ID");
header.add(userId);
String result = okHttpCli.doPostJson(getIpUrl() + "/directToSpms" + "/udiwms/order/getSimpleOrder", json, Convert.toStrArray(header));
BaseResponse<IoOrderEntity> response =
JSONObject.parseObject(result, new TypeReference<BaseResponse<IoOrderEntity>>() {
});
return response;
}
public BaseResponse getIoOrderInvoices(RefreshInoiceRequest refreshInoiceRequest) {
String json = JSONUtil.toJsonStr(refreshInoiceRequest);
String result = okHttpCli.doPostJson(getIpUrl() + "/directToSpms" + "/udiwms/inout/order/refrshInvoice", json, buildHeader());
BaseResponse response =
JSONObject.parseObject(result, new TypeReference<BaseResponse<RefreshInoiceResponse>>() {
});
return response;
}
//验收自助平台单据--直连接口
public BaseResponse<String> reviewOrder(ReviewFinishRequest reviewFinishRequest, String userId) {
List<String> header = (List<String>) Convert.toList(buildHeader());
header.add("ADMIN_ID");
header.add(userId);
String json = JSONUtil.toJsonStr(reviewFinishRequest);
String result = okHttpCli.doPostJson(getIpUrl() + "/directToSpms" + "/spms/inout/order/web/updateStatus", json, Convert.toStrArray(header));
BaseResponse<String> response =
JSONObject.parseObject(result, new TypeReference<BaseResponse<String>>() {
});
return response;
}
//确认自助平台单据--直连接口
public BaseResponse<String> updateCheckStatus(IoOrderEntity orderEntity, String userId) {
List<String> header = (List<String>) Convert.toList(buildHeader());
header.add("ADMIN_ID");
header.add(userId);
String json = JSONUtil.toJsonStr(orderEntity);
String result = okHttpCli.doPostJson(getIpUrl() + "/directToSpms" + "/udiwms/inout/order/updateOrder", json, Convert.toStrArray(header));
BaseResponse<String> response =
JSONObject.parseObject(result, new TypeReference<BaseResponse<String>>() {
});
return response;
}
public BaseResponse<IoOrderEntity> getOrderByBillNo(String billNo) {
List<String> header = (List<String>) Convert.toList(buildHeader());
String result = okHttpCli.doGet(getIpUrl() + "/directToSpms" + "/udiwms/inout/order/findByBillNo/" + "?billNo=" + billNo, Convert.toStrArray(header));
BaseResponse<IoOrderEntity> response =
JSONObject.parseObject(result, new TypeReference<BaseResponse<IoOrderEntity>>() {
});
return response;
}
// 最小销售标识获取国家库信息
public BaseResponse<PageSimpleResponse<ProductInfoEntity>> getSyncDi(ProductInfoFilterRequest productInfoFilterRequest) {
Map<String, String> paramMap = new HashMap<>(16);
paramMap.put("nameCode", productInfoFilterRequest.getNameCode());
paramMap.put("page", productInfoFilterRequest.getPage() + "");
paramMap.put("limit", productInfoFilterRequest.getLimit() + "");
String response = okHttpCli.doGet(getIpUrl() + "/directToSpms" + "/udiwms/udiinfo/superSearch", paramMap, buildHeader());
try {
BaseResponse<PageSimpleResponse<ProductInfoEntity>> data =
JSONObject.parseObject(response, new TypeReference<BaseResponse<PageSimpleResponse<ProductInfoEntity>>>() {
});
return data;
} catch (Exception e) {
e.printStackTrace();
return ResultVOUtils.error(500, "下载失败!");
}
}
public BaseResponse<String> updateSynsSet(SyncDataSetResponse syncDataSetResponse) {
String json = JSONUtil.toJsonStr(syncDataSetResponse);
try {
String result = okHttpCli.doPostJson(getIpUrl() + "/directToSpms" + "/system/param/syncData/save", json, buildHeader());
BaseResponse<String> response =
JSONObject.parseObject(result, new TypeReference<BaseResponse<String>>() {
});
return response;
} catch (Exception e) {
e.printStackTrace();
}
return ResultVOUtils.error(500, "连接上级服务失败");
}
public BaseResponse<PageSimpleResponse<IOOrderStatusEntity>> getOrderStatus() {
Map<String, String> paramMap = new HashMap<>(16);
paramMap.put("status", 1 + "");
String response = okHttpCli.doGet(getIpUrl() + "/spms/inout/order/status", paramMap, buildHeader());
try {
BaseResponse<PageSimpleResponse<IOOrderStatusEntity>> data =
JSONObject.parseObject(response, new TypeReference<BaseResponse<PageSimpleResponse<IOOrderStatusEntity>>>() {
});
return data;
} catch (Exception e) {
e.printStackTrace();
return ResultVOUtils.error(500, "下载失败!");
}
}
public BaseResponse<List<DlOrderResponse>> getOrders(String orderId) {
Map<String, String> paramMap = new HashMap<>(16);
paramMap.put("orderId", orderId);
String response = okHttpCli.doGet(getIpUrl() + "/spms/inout/order/dlByStatus", paramMap, buildHeader());
try {
BaseResponse<List<DlOrderResponse>> data =
JSONObject.parseObject(response, new TypeReference<BaseResponse<List<DlOrderResponse>>>() {
});
return data;
} catch (Exception e) {
e.printStackTrace();
return ResultVOUtils.error(500, "下载失败!");
}
}
public BaseResponse<String> postOrder(String orderId) {
OrderStatusFilterRequest orderStatusFilterRequest = new OrderStatusFilterRequest();
orderStatusFilterRequest.setOrderId(orderId);
orderStatusFilterRequest.setStatus(2);
String json = JSONUtil.toJsonStr(orderStatusFilterRequest);
String result = okHttpCli.doPostJson(getIpUrl() + "/spms/inout/order/updateStatus", json, buildHeader());
BaseResponse<String> response =
JSONObject.parseObject(result, new TypeReference<BaseResponse<String>>() {
});
return response;
}
public BaseResponse<List<BasicExportStatusEntity>> getBasicStatus(String type, String status) {
Map<String, String> paramMap = new HashMap<>(16);
paramMap.put("type", type);
paramMap.put("status", status);
String response = okHttpCli.doGet(getIpUrl() + "/spssync/basic/udiinfo/getStatus", paramMap, buildHeader());
try {
BaseResponse<List<BasicExportStatusEntity>> data =
JSONObject.parseObject(response, new TypeReference<BaseResponse<List<BasicExportStatusEntity>>>() {
});
return data;
} catch (Exception e) {
e.printStackTrace();
return ResultVOUtils.error(500, "下载失败!");
}
}
public BaseResponse<String> testConnect() {
String response = okHttpCli.doGet(getIpUrl() + "/udispsync/sync/testConnection");
try {
BaseResponse<String> data =
JSONObject.parseObject(response, new TypeReference<BaseResponse<String>>() {
});
return data;
} catch (Exception e) {
e.printStackTrace();
return ResultVOUtils.error(500, "网络错误!");
}
}
public BaseResponse<List<BasicExportStatusEntity>> getBasicStatus(BasicExportStatusRequest basicExportStatusRequest) {
Map<String, String> paramMap = new HashMap<>(16);
if (basicExportStatusRequest.getType() != null)
paramMap.put("type", basicExportStatusRequest.getType() + "");
if (basicExportStatusRequest.getStatus() != null)
paramMap.put("status", basicExportStatusRequest.getStatus() + "");
if (basicExportStatusRequest.getId() != null)
paramMap.put("id", basicExportStatusRequest.getId());
if (basicExportStatusRequest.getScheduleType() != null)
paramMap.put("scheduleType", basicExportStatusRequest.getScheduleType() + "");
String response = okHttpCli.doGet(getIpUrl() + "/spssync/basic/udiinfo/getStatus", paramMap, buildHeader());
try {
BaseResponse<List<BasicExportStatusEntity>> data =
JSONObject.parseObject(response, new TypeReference<BaseResponse<List<BasicExportStatusEntity>>>() {
});
return data;
} catch (Exception e) {
e.printStackTrace();
return ResultVOUtils.error(500, "下载失败!");
}
}
public String getBasicData(String id, String type) {
BasicExportStatusRequest basicExportStatusRequest = new BasicExportStatusRequest();
basicExportStatusRequest.setId(id);
basicExportStatusRequest.setType(type);
String json = JSONUtil.toJsonStr(basicExportStatusRequest);
String result = okHttpCli.doPostJson(getIpUrl() + "/spssync/basic/udiinfo/downloadByStatus", json, buildHeader());
return result;
}
public BaseResponse<String> postBasicStatus(String id) {
BasicExportStatusRequest basicStatusFilterRequest = new BasicExportStatusRequest();
basicStatusFilterRequest.setId(id);
String json = JSONUtil.toJsonStr(basicStatusFilterRequest);
String result = okHttpCli.doPostJson(getIpUrl() + "/spssync/basic/udiinfo/deleteByStatus", json, buildHeader());
BaseResponse<String> response =
JSONObject.parseObject(result, new TypeReference<BaseResponse<String>>() {
});
return response;
}
/**
* 从中继服务拉取UDI自助平台数据
*
* @return
*/
public String pullData(BasicExportTypeEnum exportType) {
Map<String, String> paramMap = new WeakHashMap<>(1);
paramMap.put("exportType", exportType.name());
String result = okHttpCli.doGet(getIpUrl() + "/sps/sync/data", paramMap, buildHeader());
return result;
}
/**
* 拉取UDI自助平台基础数据
*
* @return
*/
public String pullBasicData() {
String result = okHttpCli.doGet(getIpUrl() + "/sps/sync/basicData", null, buildHeader());
return result;
}
/**
* 拉取UDI自助平台其他数据
*
* @return
*/
public String pullOtherData() {
String result = okHttpCli.doGet(getIpUrl() + "/sps/sync/otherData", null, buildHeader());
return result;
}
public void finishTask(String id) {
BasicExportStatusRequest basicExportStatusRequest = new BasicExportStatusRequest();
basicExportStatusRequest.setId(id);
String result = okHttpCli.doPostJson(getIpUrl() + "/spssync/udiinfo/finishTask"
, JSONUtil.toJsonStr(basicExportStatusRequest), buildHeader());
}
/**
* 上传第三方基础信息数据
*
* @param spsSyncThrDataResponse
* @return
*/
public BaseResponse<String> postThrData(SpsSyncThrDataResponse spsSyncThrDataResponse) {
String json = JSONUtil.toJsonStr(spsSyncThrDataResponse);
String result = okHttpCli.doPostJson(getIpUrl() + "/syncToSpms" + "/sps/sync/thrData/upload", json, buildHeader());
BaseResponse<String> response =
JSONObject.parseObject(result, new TypeReference<BaseResponse<String>>() {
});
return response;
}
/**
* 上传第三方产品信息数据
*
* @param spsSyncThrProductsResponse
* @return
*/
public BaseResponse<String> postThrProducts(SpsSyncThrProductsResponse spsSyncThrProductsResponse) {
String json = JSONUtil.toJsonStr(spsSyncThrProductsResponse);
String result = okHttpCli.doPostJson(getIpUrl() + "/syncToSpms" + "/sps/sync/thrData/products/upload", json, buildHeader());
BaseResponse<String> response =
JSONObject.parseObject(result, new TypeReference<BaseResponse<String>>() {
});
return response;
}
/**
* 上传系统设置数据
*
* @param spsSyncSysSettingResponse
* @return
*/
public BaseResponse<String> postSysSetting(SpsSyncSysSettingResponse spsSyncSysSettingResponse) {
String json = JSONUtil.toJsonStr(spsSyncSysSettingResponse);
String result = okHttpCli.doPostJson(getIpUrl() + "/syncToSpms" + "/sps/sync/sys/setting", json, buildHeader());
BaseResponse<String> response =
JSONObject.parseObject(result, new TypeReference<BaseResponse<String>>() {
});
return response;
}
/**
* 上传模板文件到中继服务
*
* @param fileNameList
* @return
*/
@Resource
FileService fileService;
public BaseResponse<String> postTemplateFile(List<String> fileNameList) {
return fileService.upload(fileNameList);
}
//下载普通库存
public BaseResponse<PageSimpleResponse<InvProductResponse>> getInvData(Integer page, Integer limit) {
Map<String, String> paramMap = new HashMap<>(16);
paramMap.put("page", page + "");
paramMap.put("limit", limit + "");
String response = okHttpCli.doGet(getIpUrl() + "/syncToSpms" + "/spms/inv/product/vail", paramMap, buildHeader());
try {
BaseResponse<PageSimpleResponse<InvProductResponse>> data =
JSONObject.parseObject(response, new TypeReference<BaseResponse<PageSimpleResponse<InvProductResponse>>>() {
});
return data;
} catch (Exception e) {
e.printStackTrace();
return ResultVOUtils.error(500, "下载失败!");
}
}
//下载寄售库存
public BaseResponse<PageSimpleResponse<InvPreProductResponse>> getInvPreData(Integer page, Integer limit) {
Map<String, String> paramMap = new HashMap<>(16);
paramMap.put("page", page + "");
paramMap.put("limit", limit + "");
String response = okHttpCli.doGet(getIpUrl() + "/syncToSpms" + "/spms/inv/pre/product/vail", paramMap, buildHeader());
try {
BaseResponse<PageSimpleResponse<InvPreProductResponse>> data =
JSONObject.parseObject(response, new TypeReference<BaseResponse<PageSimpleResponse<InvPreProductResponse>>>() {
});
return data;
} catch (Exception e) {
e.printStackTrace();
return ResultVOUtils.error(500, "下载失败!");
}
}
//下载预验收库存
public BaseResponse<PageSimpleResponse<InvPreinProductResponse>> getInvPreInData(Integer page, Integer limit) {
Map<String, String> paramMap = new HashMap<>(16);
paramMap.put("page", page + "");
paramMap.put("limit", limit + "");
String response = okHttpCli.doGet(getIpUrl() + "/syncToSpms" + "/spms/inv/preIn/product/vail", paramMap, buildHeader());
try {
BaseResponse<PageSimpleResponse<InvPreinProductResponse>> data =
JSONObject.parseObject(response, new TypeReference<BaseResponse<PageSimpleResponse<InvPreinProductResponse>>>() {
});
return data;
} catch (Exception e) {
e.printStackTrace();
return ResultVOUtils.error(500, "下载失败!");
}
}
}