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

332 lines
13 KiB
Java

package com.glxp.api.http.sync;
import cn.hutool.json.JSONUtil;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.TypeReference;
import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.common.util.ResultVOUtils;
import com.glxp.api.entity.sync.BasicExportStatusEntity;
import com.glxp.api.entity.sync.IOOrderStatusEntity;
import com.glxp.api.entity.system.SyncDataSetEntity;
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.res.PageSimpleResponse;
import com.glxp.api.res.sync.*;
import com.glxp.api.service.sync.SyncDataSetService;
import com.glxp.api.util.OkHttpCli;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Service
public class SpGetHttpClient {
@Resource
private OkHttpCli okHttpCli;
@Resource
SyncDataSetService syncDataSetService;
@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> 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 json = JSONUtil.toJsonStr(reviewSpmsRequest);
String result = okHttpCli.doPostJson(getIpUrl() + "/udiwms/order/getReviews", json, buildHeader());
BaseResponse<SpsSyncOrderResponse> response =
JSONObject.parseObject(result, new TypeReference<BaseResponse<SpsSyncOrderResponse>>() {
});
return response;
}
//验收自助平台单据--直连接口
public BaseResponse<String> reviewOrder(ReviewFinishRequest reviewFinishRequest) {
String json = JSONUtil.toJsonStr(reviewFinishRequest);
String result = okHttpCli.doPostJson(getIpUrl() + "/spms/inout/order/web/updateStatus", json, buildHeader());
BaseResponse<String> response =
JSONObject.parseObject(result, new TypeReference<BaseResponse<String>>() {
});
return response;
}
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) {
Map<String, String> paramMap = new HashMap<>(16);
paramMap.put("type", type);
paramMap.put("status", "3");
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() + "/sps/sync/connect/test");
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 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/basic/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() + "/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() + "/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() + "/sps/sync/sys/setting", json, buildHeader());
BaseResponse<String> response =
JSONObject.parseObject(result, new TypeReference<BaseResponse<String>>() {
});
return response;
}
/**
* 上传模板文件到中继服务
*
* @param fileNameList
* @return
*/
public BaseResponse<String> postTemplateFile(List<Map<String, String>> fileNameList) {
String json = JSONUtil.toJsonStr(fileNameList);
String result = okHttpCli.doPostJson(getIpUrl() + "/spssync/file/download", json, buildHeader());
BaseResponse<String> response =
JSONObject.parseObject(result, new TypeReference<BaseResponse<String>>() {
});
return response;
}
}