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 postAllOrder(SpsSyncOrderResponse spsSyncOrderResponse) { String json = JSONUtil.toJsonStr(spsSyncOrderResponse); String result = okHttpCli.doPostJson(getIpUrl() + "/orderApi/sps/sync/order/upload", json, buildHeader()); BaseResponse response = JSONObject.parseObject(result, new TypeReference>() { }); return response; } //上传业务单据 public BaseResponse postAllBusOrder(SpsSyncBusOrderResponse spsSyncOrderResponse) { String json = JSONUtil.toJsonStr(spsSyncOrderResponse); String result = okHttpCli.doPostJson(getIpUrl() + "/busOrderApi/sps/sync/busOrder/upload", json, buildHeader()); BaseResponse response = JSONObject.parseObject(result, new TypeReference>() { }); return response; } //上传单据类型 public BaseResponse postAllBusType(SpsSyncBusResponse spsSyncBusResponse) { String json = JSONUtil.toJsonStr(spsSyncBusResponse); String result = okHttpCli.doPostJson(getIpUrl() + "/sps/sync/busType/upload", json, buildHeader()); BaseResponse response = JSONObject.parseObject(result, new TypeReference>() { }); return response; } //上传单据类型 public BaseResponse postAllUser(SpsSyncDataResponse syncDataResponse) { String json = JSONUtil.toJsonStr(syncDataResponse); String result = okHttpCli.doPostJson(getIpUrl() + "/sps/sync/allUser/upload", json, buildHeader()); BaseResponse response = JSONObject.parseObject(result, new TypeReference>() { }); return response; } //获取自助平台验收单据---直连接口 public BaseResponse getReviewOrder(ReviewSpmsRequest reviewSpmsRequest) { String json = JSONUtil.toJsonStr(reviewSpmsRequest); String result = okHttpCli.doPostJson(getIpUrl() + "/udiwms/order/getReviews", json, buildHeader()); BaseResponse response = JSONObject.parseObject(result, new TypeReference>() { }); return response; } //验收自助平台单据--直连接口 public BaseResponse reviewOrder(ReviewFinishRequest reviewFinishRequest) { String json = JSONUtil.toJsonStr(reviewFinishRequest); String result = okHttpCli.doPostJson(getIpUrl() + "/spms/inout/order/web/updateStatus", json, buildHeader()); BaseResponse response = JSONObject.parseObject(result, new TypeReference>() { }); return response; } public BaseResponse> getOrderStatus() { Map paramMap = new HashMap<>(16); paramMap.put("status", 1 + ""); String response = okHttpCli.doGet(getIpUrl() + "/spms/inout/order/status", paramMap, buildHeader()); try { BaseResponse> data = JSONObject.parseObject(response, new TypeReference>>() { }); return data; } catch (Exception e) { e.printStackTrace(); return ResultVOUtils.error(500, "下载失败!"); } } public BaseResponse> getOrders(String orderId) { Map paramMap = new HashMap<>(16); paramMap.put("orderId", orderId); String response = okHttpCli.doGet(getIpUrl() + "/spms/inout/order/dlByStatus", paramMap, buildHeader()); try { BaseResponse> data = JSONObject.parseObject(response, new TypeReference>>() { }); return data; } catch (Exception e) { e.printStackTrace(); return ResultVOUtils.error(500, "下载失败!"); } } public BaseResponse 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 response = JSONObject.parseObject(result, new TypeReference>() { }); return response; } public BaseResponse> getBasicStatus(String type) { Map 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> data = JSONObject.parseObject(response, new TypeReference>>() { }); return data; } catch (Exception e) { e.printStackTrace(); return ResultVOUtils.error(500, "下载失败!"); } } public BaseResponse testConnect() { String response = okHttpCli.doGet(getIpUrl() + "/sps/sync/connect/test"); try { BaseResponse data = JSONObject.parseObject(response, new TypeReference>() { }); return data; } catch (Exception e) { e.printStackTrace(); return ResultVOUtils.error(500, "网络错误!"); } } public BaseResponse> getBasicStatus(BasicExportStatusRequest basicExportStatusRequest) { Map 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> data = JSONObject.parseObject(response, new TypeReference>>() { }); 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 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 response = JSONObject.parseObject(result, new TypeReference>() { }); 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 postThrData(SpsSyncThrDataResponse spsSyncThrDataResponse) { String json = JSONUtil.toJsonStr(spsSyncThrDataResponse); String result = okHttpCli.doPostJson(getIpUrl() + "/sps/sync/thrData/upload", json, buildHeader()); BaseResponse response = JSONObject.parseObject(result, new TypeReference>() { }); return response; } /** * 上传第三方产品信息数据 * * @param spsSyncThrProductsResponse * @return */ public BaseResponse postThrProducts(SpsSyncThrProductsResponse spsSyncThrProductsResponse) { String json = JSONUtil.toJsonStr(spsSyncThrProductsResponse); String result = okHttpCli.doPostJson(getIpUrl() + "/sps/sync/thrData/products/upload", json, buildHeader()); BaseResponse response = JSONObject.parseObject(result, new TypeReference>() { }); return response; } /** * 上传系统设置数据 * * @param spsSyncSysSettingResponse * @return */ public BaseResponse postSysSetting(SpsSyncSysSettingResponse spsSyncSysSettingResponse) { String json = JSONUtil.toJsonStr(spsSyncSysSettingResponse); String result = okHttpCli.doPostJson(getIpUrl() + "/sps/sync/sys/setting", json, buildHeader()); BaseResponse response = JSONObject.parseObject(result, new TypeReference>() { }); return response; } /** * 上传模板文件到中继服务 * * @param fileNameList * @return */ public BaseResponse postTemplateFile(List> fileNameList) { String json = JSONUtil.toJsonStr(fileNameList); String result = okHttpCli.doPostJson(getIpUrl() + "/spssync/file/download", json, buildHeader()); BaseResponse response = JSONObject.parseObject(result, new TypeReference>() { }); return response; } }