|
|
|
@ -1,5 +1,6 @@
|
|
|
|
|
package com.op.wms.service.impl;
|
|
|
|
|
|
|
|
|
|
import com.alibaba.csp.sentinel.util.StringUtil;
|
|
|
|
|
import com.alibaba.fastjson2.JSONArray;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -7,6 +8,7 @@ import com.alibaba.fastjson.JSONObject;
|
|
|
|
|
import java.math.BigDecimal;
|
|
|
|
|
import java.text.SimpleDateFormat;
|
|
|
|
|
|
|
|
|
|
import java.util.ArrayList;
|
|
|
|
|
import java.util.Date;
|
|
|
|
|
import java.util.List;
|
|
|
|
|
|
|
|
|
@ -14,8 +16,7 @@ import java.util.List;
|
|
|
|
|
import com.op.common.core.domain.R;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
import com.op.common.core.web.domain.AjaxResult;
|
|
|
|
|
import okhttp3.OkHttpClient;
|
|
|
|
|
import okhttp3.MediaType;
|
|
|
|
|
import okhttp3.RequestBody;
|
|
|
|
@ -236,7 +237,7 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService {
|
|
|
|
|
wmsOdsMateStorageNewsSnMapper.updateAdd(wmsOdsEmStorageNews);
|
|
|
|
|
}
|
|
|
|
|
wmsRawOrderInSnMapper.updateU1Byid(wmsRawOrderInSn);
|
|
|
|
|
//修改库存--加,并且为冻结的,sap过账后再解
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
@ -268,7 +269,7 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService {
|
|
|
|
|
orderLine1.setOrderLineNo(String.format("%05d", orderItem));
|
|
|
|
|
orderLine1.setBatchNo("00001");
|
|
|
|
|
}
|
|
|
|
|
String meg= addPurchaseOrderOutboundSAP(orderLine);
|
|
|
|
|
String meg= addPurchaseOrderOutboundWCS(orderLine);
|
|
|
|
|
if ("OK".equals(meg)){//成功
|
|
|
|
|
for (OrderLine orderLine1:
|
|
|
|
|
orderList) {
|
|
|
|
@ -389,8 +390,266 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService {
|
|
|
|
|
return R.ok();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public void TraystatusUpdate(WMSTraystatus wmsTraystatus) {
|
|
|
|
|
//空托从2楼到3楼locationStatus是1,palletType是1
|
|
|
|
|
//空托就不用管了,只给他们发消息就可以了,半托的话,从2楼到3楼返回,后需要下发计划,这样就需要下发入口任务
|
|
|
|
|
// if ("2".equals(wmsTraystatus.getPalletType())){//palletType是半托,从2楼到3楼返回
|
|
|
|
|
// //这个进入入库前整理区--要记录在入库-取消在这里添加记录,在下发任务的时候在添加
|
|
|
|
|
//
|
|
|
|
|
// }
|
|
|
|
|
TraystatusUpdateWCS(wmsTraystatus);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public String InventoryPlanIssuance(WCSInventoryPlan wcsInventoryPlan) {
|
|
|
|
|
DynamicDataSourceContextHolder.push("ds_" + wcsInventoryPlan.getFactoryCode());
|
|
|
|
|
//根据对应物料编码查询物料名称--如果没有
|
|
|
|
|
String message ="";
|
|
|
|
|
WmsOdsMateStorageNews wmsOdsMateStorageNews= wmsOdsMateStorageNewsMapper.selectBaseProductByCode(wcsInventoryPlan);
|
|
|
|
|
//wms_raw_order_in_sn
|
|
|
|
|
if (wmsOdsMateStorageNews==null){
|
|
|
|
|
//null
|
|
|
|
|
message="物料号错误";
|
|
|
|
|
return message;
|
|
|
|
|
}
|
|
|
|
|
WmsRawOrderInSn wmsRawOrderInSn=new WmsRawOrderInSn();
|
|
|
|
|
wmsRawOrderInSn.setRawOrderInSnId(IdUtils.fastSimpleUUID());
|
|
|
|
|
wmsRawOrderInSn.setUserDefined1("1");//出入库
|
|
|
|
|
wmsRawOrderInSn.setUserDefined2(wcsInventoryPlan.getBatchNo());//批次
|
|
|
|
|
wmsRawOrderInSn.setWhCode("WH02");//厂库编号
|
|
|
|
|
//wmsRawOrderInSn.setPoNo();//采购单号
|
|
|
|
|
// wmsRawOrderInSn.setPoLine(odsProcureOrder.getPoLine());//行项目
|
|
|
|
|
wmsRawOrderInSn.setMaterialCode(wcsInventoryPlan.getSku());
|
|
|
|
|
wmsRawOrderInSn.setMaterialDesc(wmsOdsMateStorageNews.getMaterialDesc());
|
|
|
|
|
wmsRawOrderInSn.setAmount(new BigDecimal(wcsInventoryPlan.getQty()));
|
|
|
|
|
wmsRawOrderInSn.setCreateBy(wcsInventoryPlan.getCreateBy());
|
|
|
|
|
wmsRawOrderInSn.setGmtCreate(new Date());
|
|
|
|
|
wmsRawOrderInSn.setActiveFlag("1");
|
|
|
|
|
wmsRawOrderInSn.setUserDefined4(wmsOdsMateStorageNews.getUserDefined1());//单位
|
|
|
|
|
wmsRawOrderInSn.setSn(wcsInventoryPlan.getRfidNo());//托盘号
|
|
|
|
|
wmsRawOrderInSn.setFactoryCode(wcsInventoryPlan.getFactoryCode());
|
|
|
|
|
//wmsRawOrderInSn.setUserDefined3(order.getID());//返库的入库记录
|
|
|
|
|
wmsRawOrderInSnMapper.insertWmsRawOrderInSn(wmsRawOrderInSn);
|
|
|
|
|
String tem= InventoryPlanIssuanceWCS(wcsInventoryPlan);
|
|
|
|
|
if ("OK".equals(tem)){
|
|
|
|
|
message="操作成功";
|
|
|
|
|
}
|
|
|
|
|
return message;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public String DesignatedPalletOutbound(WMSDesignatedPalle wmsDesignatedPalle) {
|
|
|
|
|
DynamicDataSourceContextHolder.push("ds_" + wmsDesignatedPalle.getFactoryCode());
|
|
|
|
|
String result="";
|
|
|
|
|
if ("1".equals(wmsDesignatedPalle.getType())){//类型1是托盘出库,2是空托出库计划下发
|
|
|
|
|
String meg= DesignatedPalletOutboundWCS(wmsDesignatedPalle);
|
|
|
|
|
if ("OK".equals(meg)){//成功 rfidNo
|
|
|
|
|
WmsToWCSDTO wcsdto =new WmsToWCSDTO();
|
|
|
|
|
wcsdto.setRfidNo(wmsDesignatedPalle.getRfidNo());
|
|
|
|
|
WmsOdsMateStorageNewsSn wmsOdsMateStorageNewsSn= wmsOdsMateStorageNewsSnMapper.selectwmsRfidNotwo(wcsdto);
|
|
|
|
|
WCSInventoryPlan wcsInventoryPlan=new WCSInventoryPlan();
|
|
|
|
|
wcsInventoryPlan.setSku(wmsOdsMateStorageNewsSn.getMaterialCode());
|
|
|
|
|
WmsOdsMateStorageNews wmsOdsMateStorageNews= wmsOdsMateStorageNewsMapper.selectBaseProductByCode(wcsInventoryPlan);
|
|
|
|
|
|
|
|
|
|
OdsProcureOutOrder odsProcureOutOrder=new OdsProcureOutOrder();
|
|
|
|
|
odsProcureOutOrder.setID(IdUtils.fastSimpleUUID());
|
|
|
|
|
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
|
|
|
Date date = new Date();
|
|
|
|
|
String formattedDate = dateFormat.format(date);
|
|
|
|
|
odsProcureOutOrder.setProduceCode("DE"+formattedDate);
|
|
|
|
|
odsProcureOutOrder.setMaterialCode(wmsOdsMateStorageNewsSn.getMaterialCode());
|
|
|
|
|
odsProcureOutOrder.setMaterialDesc(wmsOdsMateStorageNewsSn.getMaterialDesc());
|
|
|
|
|
odsProcureOutOrder.setPlanDate(new Date());
|
|
|
|
|
odsProcureOutOrder.setUnit(wmsOdsMateStorageNews.getUserDefined1());
|
|
|
|
|
odsProcureOutOrder.setProductionLineCode(wmsDesignatedPalle.getLocation());
|
|
|
|
|
odsProcureOutOrder.setUserDefined1(formattedDate);
|
|
|
|
|
odsProcureOutOrder.setActive("1");
|
|
|
|
|
odsProcureOutOrder.setOrderStatus("1");
|
|
|
|
|
odsProcureOutOrder.setPlanNumber(wmsOdsMateStorageNewsSn.getAmount());
|
|
|
|
|
odsProcureOutOrder.setUserDefined2("00001");//行项目
|
|
|
|
|
//odsProcureOutOrder.set
|
|
|
|
|
odsProcureOutOrderMapper.insertOdsProcureOutOrder(odsProcureOutOrder);
|
|
|
|
|
result="操作成功";
|
|
|
|
|
return result;
|
|
|
|
|
}
|
|
|
|
|
}else {
|
|
|
|
|
OrderLine orderLine=new OrderLine();
|
|
|
|
|
orderLine.setWarehouseNo("WH02");
|
|
|
|
|
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
|
|
|
Date date = new Date();
|
|
|
|
|
String formattedDate = dateFormat.format(date);
|
|
|
|
|
orderLine.setOrderNo(formattedDate);//,如果是空托盘垛的需求可以随机生成一个
|
|
|
|
|
List<OrderLine> list=new ArrayList<>();
|
|
|
|
|
Integer orderItem = 1;
|
|
|
|
|
OrderLine orderLine1=new OrderLine();
|
|
|
|
|
orderLine1.setOrderLineNo(String.format("%05d", orderItem));
|
|
|
|
|
orderLine1.setSku(wmsDesignatedPalle.getRfidNo());
|
|
|
|
|
list.add(orderLine1);
|
|
|
|
|
orderLine.setList(list);
|
|
|
|
|
String message= addPurchaseOrderOutboundTwoWCS(orderLine);
|
|
|
|
|
if ("OK".equals(message)) {//成功
|
|
|
|
|
result="操作成功";
|
|
|
|
|
return result;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return result;
|
|
|
|
|
}
|
|
|
|
|
public String DesignatedPalletOutboundWCS(WMSDesignatedPalle wmsDesignatedPalle){
|
|
|
|
|
// 定义请求的URL地址
|
|
|
|
|
String url = "http://192.168.202.37:9001/api/v1/ReceiveMesMsg/packingMaterialsOutBoundByPallet";
|
|
|
|
|
// 创建OkHttpClient实例
|
|
|
|
|
OkHttpClient client = new OkHttpClient();
|
|
|
|
|
|
|
|
|
|
// 定义请求体的媒体类型为json
|
|
|
|
|
MediaType mediaType = MediaType.parse("application/json");
|
|
|
|
|
try {
|
|
|
|
|
// 创建JSON对象payload,并设置请求参数
|
|
|
|
|
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
|
|
|
Date date = new Date();
|
|
|
|
|
String formattedDate = dateFormat.format(date);
|
|
|
|
|
JSONObject payload = new JSONObject();
|
|
|
|
|
payload.put("reqCode", IdUtils.fastSimpleUUID());
|
|
|
|
|
payload.put("reqTime",formattedDate );
|
|
|
|
|
payload.put("warehouseNo", wmsDesignatedPalle.getWarehouseNo());
|
|
|
|
|
payload.put("rfidNo", wmsDesignatedPalle.getRfidNo());
|
|
|
|
|
payload.put("location", wmsDesignatedPalle.getLocation());
|
|
|
|
|
// 创建请求体,将JSON对象转换为字符串
|
|
|
|
|
RequestBody body = RequestBody.create(mediaType, payload.toString());
|
|
|
|
|
// 创建POST请求
|
|
|
|
|
Request request = new Request.Builder()
|
|
|
|
|
.url(url)
|
|
|
|
|
.post(body)
|
|
|
|
|
.build();
|
|
|
|
|
// 执行请求并获取响应
|
|
|
|
|
Response response = client.newCall(request).execute();
|
|
|
|
|
// 获取响应数据并转换为JSON对象
|
|
|
|
|
String responseData = response.body().string();
|
|
|
|
|
JSONObject result = JSONObject.parseObject(responseData);
|
|
|
|
|
// 获取返回结果结果JSON对象,请求编码、状态码和消息
|
|
|
|
|
result.get("reqCode");
|
|
|
|
|
result.get("code");
|
|
|
|
|
String message= (String) result.get("message");
|
|
|
|
|
response.close();
|
|
|
|
|
return message;
|
|
|
|
|
} catch (IOException e) {
|
|
|
|
|
// 捕获IOException并处理异常
|
|
|
|
|
e.printStackTrace(); // 这里最好记录异常到日志文件或者进行其他处理
|
|
|
|
|
} finally {
|
|
|
|
|
// 关闭OkHttpClient
|
|
|
|
|
client.dispatcher().executorService().shutdown();
|
|
|
|
|
}
|
|
|
|
|
// 返回0
|
|
|
|
|
return null;
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
public String InventoryPlanIssuanceWCS(WCSInventoryPlan wcsInventoryPlan){
|
|
|
|
|
// 定义请求的URL地址
|
|
|
|
|
String url = "http://192.168.202.37:9001/api/v1/ReceiveMesMsg/packingMaterialsInBoundTaskSend";
|
|
|
|
|
// 创建OkHttpClient实例
|
|
|
|
|
OkHttpClient client = new OkHttpClient();
|
|
|
|
|
|
|
|
|
|
// 定义请求体的媒体类型为json
|
|
|
|
|
MediaType mediaType = MediaType.parse("application/json");
|
|
|
|
|
try {
|
|
|
|
|
// 创建JSON对象payload,并设置请求参数
|
|
|
|
|
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
|
|
|
Date date = new Date();
|
|
|
|
|
String formattedDate = dateFormat.format(date);
|
|
|
|
|
JSONObject payload = new JSONObject();
|
|
|
|
|
payload.put("reqCode", IdUtils.fastSimpleUUID());
|
|
|
|
|
payload.put("reqTime",formattedDate );
|
|
|
|
|
payload.put("rfidNo", wcsInventoryPlan.getRfidNo());
|
|
|
|
|
payload.put("batchNo", wcsInventoryPlan.getBatchNo());
|
|
|
|
|
payload.put("sku", wcsInventoryPlan.getSku());
|
|
|
|
|
payload.put("location", wcsInventoryPlan.getLocation());
|
|
|
|
|
payload.put("qty", wcsInventoryPlan.getQty());
|
|
|
|
|
payload.put("qualityStatus", wcsInventoryPlan.getQualityStatus());
|
|
|
|
|
// 创建请求体,将JSON对象转换为字符串
|
|
|
|
|
RequestBody body = RequestBody.create(mediaType, payload.toString());
|
|
|
|
|
// 创建POST请求
|
|
|
|
|
Request request = new Request.Builder()
|
|
|
|
|
.url(url)
|
|
|
|
|
.post(body)
|
|
|
|
|
.build();
|
|
|
|
|
// 执行请求并获取响应
|
|
|
|
|
Response response = client.newCall(request).execute();
|
|
|
|
|
// 获取响应数据并转换为JSON对象
|
|
|
|
|
String responseData = response.body().string();
|
|
|
|
|
JSONObject result = JSONObject.parseObject(responseData);
|
|
|
|
|
// 获取返回结果结果JSON对象,请求编码、状态码和消息
|
|
|
|
|
result.get("reqCode");
|
|
|
|
|
result.get("code");
|
|
|
|
|
String message= (String) result.get("message");
|
|
|
|
|
response.close();
|
|
|
|
|
return message;
|
|
|
|
|
} catch (IOException e) {
|
|
|
|
|
// 捕获IOException并处理异常
|
|
|
|
|
e.printStackTrace(); // 这里最好记录异常到日志文件或者进行其他处理
|
|
|
|
|
} finally {
|
|
|
|
|
// 关闭OkHttpClient
|
|
|
|
|
client.dispatcher().executorService().shutdown();
|
|
|
|
|
}
|
|
|
|
|
// 返回0
|
|
|
|
|
return null;
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public String TraystatusUpdateWCS(WMSTraystatus wmsTraystatus){
|
|
|
|
|
// 定义请求的URL地址
|
|
|
|
|
String url = "http://192.168.202.37:9001/api/v1/ReceiveMesMsg/packingMaterialsReturnTaskSend";
|
|
|
|
|
// 创建OkHttpClient实例
|
|
|
|
|
OkHttpClient client = new OkHttpClient();
|
|
|
|
|
|
|
|
|
|
// 定义请求体的媒体类型为json
|
|
|
|
|
MediaType mediaType = MediaType.parse("application/json");
|
|
|
|
|
try {
|
|
|
|
|
// 创建JSON对象payload,并设置请求参数
|
|
|
|
|
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
|
|
|
Date date = new Date();
|
|
|
|
|
String formattedDate = dateFormat.format(date);
|
|
|
|
|
JSONObject payload = new JSONObject();
|
|
|
|
|
payload.put("reqCode", IdUtils.fastSimpleUUID());
|
|
|
|
|
payload.put("reqTime",formattedDate );
|
|
|
|
|
payload.put("rfidNo", wmsTraystatus.getRfidNo());
|
|
|
|
|
payload.put("locationStatus", wmsTraystatus.getLocationStatus());
|
|
|
|
|
payload.put("location", wmsTraystatus.getLocation());
|
|
|
|
|
payload.put("palletType", wmsTraystatus.getPalletType());
|
|
|
|
|
// 创建请求体,将JSON对象转换为字符串
|
|
|
|
|
RequestBody body = RequestBody.create(mediaType, payload.toString());
|
|
|
|
|
// 创建POST请求
|
|
|
|
|
Request request = new Request.Builder()
|
|
|
|
|
.url(url)
|
|
|
|
|
.post(body)
|
|
|
|
|
.build();
|
|
|
|
|
// 执行请求并获取响应
|
|
|
|
|
Response response = client.newCall(request).execute();
|
|
|
|
|
// 获取响应数据并转换为JSON对象
|
|
|
|
|
String responseData = response.body().string();
|
|
|
|
|
JSONObject result = JSONObject.parseObject(responseData);
|
|
|
|
|
// 获取返回结果结果JSON对象,请求编码、状态码和消息
|
|
|
|
|
result.get("reqCode");
|
|
|
|
|
result.get("code");
|
|
|
|
|
String message= (String) result.get("message");
|
|
|
|
|
response.close();
|
|
|
|
|
return message;
|
|
|
|
|
} catch (IOException e) {
|
|
|
|
|
// 捕获IOException并处理异常
|
|
|
|
|
e.printStackTrace(); // 这里最好记录异常到日志文件或者进行其他处理
|
|
|
|
|
} finally {
|
|
|
|
|
// 关闭OkHttpClient
|
|
|
|
|
client.dispatcher().executorService().shutdown();
|
|
|
|
|
}
|
|
|
|
|
// 返回0
|
|
|
|
|
return null;
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//下发计划的接口
|
|
|
|
|
public String addPurchaseOrderOutboundSAP(OrderLine orderLinete) {
|
|
|
|
|
public String addPurchaseOrderOutboundWCS(OrderLine orderLinete) {
|
|
|
|
|
// 定义请求的URL地址
|
|
|
|
|
String url = "http://192.168.202.37:9001/api/v1/ReceiveMesMsg/packingMaterialsOutBoundRequest";
|
|
|
|
|
// 创建OkHttpClient实例
|
|
|
|
@ -452,5 +711,63 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService {
|
|
|
|
|
return null;
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
//空托下发计划的接口
|
|
|
|
|
public String addPurchaseOrderOutboundTwoWCS(OrderLine orderLinete) {
|
|
|
|
|
// 定义请求的URL地址
|
|
|
|
|
String url = "http://192.168.202.37:9001/api/v1/ReceiveMesMsg/packingMaterialsOutBoundRequest";
|
|
|
|
|
// 创建OkHttpClient实例
|
|
|
|
|
OkHttpClient client = new OkHttpClient();
|
|
|
|
|
|
|
|
|
|
// 定义请求体的媒体类型为json
|
|
|
|
|
MediaType mediaType = MediaType.parse("application/json");
|
|
|
|
|
try {
|
|
|
|
|
// 创建JSON对象payload,并设置请求参数
|
|
|
|
|
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
|
|
|
Date date = new Date();
|
|
|
|
|
String formattedDate = dateFormat.format(date);
|
|
|
|
|
JSONObject payload = new JSONObject();
|
|
|
|
|
payload.put("reqCode", IdUtils.fastSimpleUUID());
|
|
|
|
|
payload.put("reqTime",formattedDate );
|
|
|
|
|
payload.put("warehouseNo", orderLinete.getWarehouseNo());
|
|
|
|
|
payload.put("orderNo", orderLinete.getOrderNo());
|
|
|
|
|
JSONArray orderLines = new JSONArray();
|
|
|
|
|
List<OrderLine> orderList= orderLinete.getList();
|
|
|
|
|
// 创建订单行数组,并将订单行对象添加到数组中
|
|
|
|
|
for (OrderLine orderLine1:
|
|
|
|
|
orderList ) {
|
|
|
|
|
JSONObject orderLine = new JSONObject();
|
|
|
|
|
orderLine.put("orderLineNo", orderLine1.getOrderLineNo());
|
|
|
|
|
orderLine.put("sku", orderLine1.getMaterialCode());
|
|
|
|
|
orderLines.add(orderLine);
|
|
|
|
|
}
|
|
|
|
|
payload.put("orderLines", orderLines);
|
|
|
|
|
// 创建请求体,将JSON对象转换为字符串
|
|
|
|
|
RequestBody body = RequestBody.create(mediaType, payload.toString());
|
|
|
|
|
// 创建POST请求
|
|
|
|
|
Request request = new Request.Builder()
|
|
|
|
|
.url(url)
|
|
|
|
|
.post(body)
|
|
|
|
|
.build();
|
|
|
|
|
// 执行请求并获取响应
|
|
|
|
|
Response response = client.newCall(request).execute();
|
|
|
|
|
// 获取响应数据并转换为JSON对象
|
|
|
|
|
String responseData = response.body().string();
|
|
|
|
|
JSONObject result = JSONObject.parseObject(responseData);
|
|
|
|
|
// 获取返回结果结果JSON对象,请求编码、状态码和消息
|
|
|
|
|
result.get("reqCode");
|
|
|
|
|
result.get("code");
|
|
|
|
|
String message= (String) result.get("message");
|
|
|
|
|
response.close();
|
|
|
|
|
return message;
|
|
|
|
|
} catch (IOException e) {
|
|
|
|
|
// 捕获IOException并处理异常
|
|
|
|
|
e.printStackTrace(); // 这里最好记录异常到日志文件或者进行其他处理
|
|
|
|
|
} finally {
|
|
|
|
|
// 关闭OkHttpClient
|
|
|
|
|
client.dispatcher().executorService().shutdown();
|
|
|
|
|
}
|
|
|
|
|
// 返回0
|
|
|
|
|
return null;
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|