|
@@ -1,12 +1,32 @@
|
|
|
package com.iamberry.rst.service.order;
|
|
|
|
|
|
-import com.alibaba.dubbo.config.annotation.Service;
|
|
|
-import com.iamberry.rst.core.order.OrderSyncLog;
|
|
|
+import com.iamberry.app.tool.util.MD5;
|
|
|
+import com.iamberry.rst.core.cm.SalesOrder;
|
|
|
+import com.iamberry.rst.core.cm.SalesOrderItem;
|
|
|
+import com.iamberry.rst.core.order.*;
|
|
|
+import com.iamberry.rst.faces.cm.SalesOrderService;
|
|
|
+import com.iamberry.rst.faces.order.OrderBatchService;
|
|
|
import com.iamberry.rst.faces.order.OrderSyncLogService;
|
|
|
import com.iamberry.rst.service.order.mapper.OrderSyncLogMapper;
|
|
|
+import com.iamberry.rst.service.order.mapper.OrderSyncPlatformMapper;
|
|
|
+import com.iamberry.rst.service.product.mapper.ProductColorMapper;
|
|
|
+import com.iamberry.rst.util.GenerateKeyUtil;
|
|
|
+import org.apache.http.HttpResponse;
|
|
|
+import org.apache.http.HttpStatus;
|
|
|
+import org.apache.http.client.HttpClient;
|
|
|
+import org.apache.http.client.methods.HttpPost;
|
|
|
+import org.apache.http.entity.StringEntity;
|
|
|
+import org.apache.http.impl.client.HttpClients;
|
|
|
+import org.apache.http.util.EntityUtils;
|
|
|
+import org.json.JSONArray;
|
|
|
+import org.json.JSONObject;
|
|
|
+import org.slf4j.Logger;
|
|
|
+import org.slf4j.LoggerFactory;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.stereotype.Service;
|
|
|
|
|
|
-import java.util.List;
|
|
|
+import java.text.SimpleDateFormat;
|
|
|
+import java.util.*;
|
|
|
|
|
|
|
|
|
* 同步记录
|
|
@@ -15,8 +35,31 @@ import java.util.List;
|
|
|
*/
|
|
|
@Service
|
|
|
public class OrderSyncLogServiceImpl implements OrderSyncLogService {
|
|
|
+ private static Logger logger = LoggerFactory.getLogger(OrderSyncLogServiceImpl.class);
|
|
|
@Autowired
|
|
|
private OrderSyncLogMapper orderSyncLogMapper;
|
|
|
+ @Autowired
|
|
|
+ private OrderBatchService orderBatchService;
|
|
|
+ @Autowired
|
|
|
+ private ProductColorMapper productColorMapper;
|
|
|
+ @Autowired
|
|
|
+ private SalesOrderService salesOrderService;
|
|
|
+ @Autowired
|
|
|
+ private OrderSyncPlatformMapper orderSyncPlatformMapper;
|
|
|
+ @Autowired
|
|
|
+ private GenerateKeyUtil generateKeyUtil ;
|
|
|
+
|
|
|
+ private static final SimpleDateFormat sdf = new SimpleDateFormat("YYYY-MM-DD HH:MM:SS");
|
|
|
+ private static final int XYT_ID = 1;
|
|
|
+ private static OrderSyncPlatform XYT_PLATFORM = null;
|
|
|
+
|
|
|
+ private OrderSyncPlatform getXYTPlatform(){
|
|
|
+ if(XYT_PLATFORM == null){
|
|
|
+ XYT_PLATFORM = orderSyncPlatformMapper.getSyncPlatformById(XYT_ID);
|
|
|
+ }
|
|
|
+ return XYT_PLATFORM;
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
* 获取集合
|
|
|
* @param orderSyncLog
|
|
@@ -26,6 +69,7 @@ public class OrderSyncLogServiceImpl implements OrderSyncLogService {
|
|
|
public List<OrderSyncLog> getSyncLogList(OrderSyncLog orderSyncLog){
|
|
|
return orderSyncLogMapper.getSyncLogList(orderSyncLog);
|
|
|
}
|
|
|
+
|
|
|
|
|
|
* 查询单条数据
|
|
|
* @param id
|
|
@@ -35,6 +79,7 @@ public class OrderSyncLogServiceImpl implements OrderSyncLogService {
|
|
|
public OrderSyncLog getSyncLogById(Integer id){
|
|
|
return orderSyncLogMapper.getSyncLogById(id);
|
|
|
}
|
|
|
+
|
|
|
|
|
|
* 增加数据
|
|
|
* @param orderSyncLog
|
|
@@ -44,4 +89,588 @@ public class OrderSyncLogServiceImpl implements OrderSyncLogService {
|
|
|
public Integer save(OrderSyncLog orderSyncLog){
|
|
|
return orderSyncLogMapper.save(orderSyncLog);
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
+ * 增加所有的订单
|
|
|
+ * 1:定时任务 2:手动同步
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public Integer syncXYTOrder(Integer type,Date creatTime) {
|
|
|
+ OrderSyncPlatform orderSyncPlatform = getXYTPlatform();
|
|
|
+ Map<String,Object> map = new HashMap<>();
|
|
|
+ if(creatTime == null){
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ map.put("beginCreateTime", sdf.format(orderSyncPlatform.getSyncOrderLastTime()));
|
|
|
+ }else{
|
|
|
+ map.put("beginCreateTime", sdf.format(creatTime));
|
|
|
+ }
|
|
|
+ map.put("endCreateTime",sdf.format(new Date()));
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ String json = this.syncXYT("IOrderServce.query",map);
|
|
|
+
|
|
|
+
|
|
|
+ this.saveOrder(1,json);
|
|
|
+
|
|
|
+ return 1;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ * 单个订单拉取
|
|
|
+ * @param type
|
|
|
+ * @param orderId 小亚通订单账号
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public Integer syncXYTOrderOne(Integer type, String orderId) {
|
|
|
+ String json = syncOrderOnce(orderId);
|
|
|
+ this.saveOrder(2,json);
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ * 检测发货
|
|
|
+ * @param orderId
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public boolean syncXYTOrderShipInspec(String orderId) {
|
|
|
+ String json = syncOrderOnce(orderId);
|
|
|
+ JSONObject jsonObj = new JSONObject(json);
|
|
|
+ String resultMsg = jsonObj.getString("result_msg");
|
|
|
+ if(resultMsg.equals("success")){
|
|
|
+
|
|
|
+ return true;
|
|
|
+ }else{
|
|
|
+ logger.info("小亚通调用检测发货接口失败-拉取订单详情-失败原因:"+json);
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ * 发货接口-小亚通
|
|
|
+ * @param orderId
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public boolean syncXYTOrderShip(String orderId) {
|
|
|
+
|
|
|
+
|
|
|
+ Map<String,Object> map = new HashMap<>();
|
|
|
+ map.put("orderId",orderId);
|
|
|
+ map.put("itemIds","");
|
|
|
+ map.put("companyCode","");
|
|
|
+ map.put("deliveryNo","");
|
|
|
+ map.put("deliveryTime","");
|
|
|
+ String shipResultJson = this.syncXYT("IOrderServce.query",map);
|
|
|
+ JSONObject jsonObj = new JSONObject(shipResultJson);
|
|
|
+ String resultMsg = jsonObj.getString("result_msg");
|
|
|
+ if(resultMsg.equals("success")){
|
|
|
+
|
|
|
+ return true;
|
|
|
+ }else{
|
|
|
+ logger.info("小亚通调用发货接口失败-失败原因:"+shipResultJson);
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ * 1:定时任务 2:手动同步
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ private boolean saveOrder(Integer type,String json){
|
|
|
+ OrderSyncPlatform orderSyncPlatform = getXYTPlatform();
|
|
|
+ String batchId = "";
|
|
|
+
|
|
|
+ JSONObject jsonObj = new JSONObject(Alljson);
|
|
|
+ String resultMsg = jsonObj.getString("result_msg");
|
|
|
+ if(resultMsg.equals("success")){
|
|
|
+
|
|
|
+
|
|
|
+ if("".equals(batchId)){
|
|
|
+ batchId = generateKeyUtil.getSalesBatchIdSX();
|
|
|
+ OrderBatch ob = new OrderBatch();
|
|
|
+ ob.setBatchId(batchId);
|
|
|
+ ob.setBatchStatus(1);
|
|
|
+ if(orderBatchService.save(ob) < 1){
|
|
|
+ throw new RuntimeException("XYT拉取订单-创建订单批次失败");
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ JSONObject dataObj = jsonObj.getJSONObject("data");
|
|
|
+ JSONArray beanListArray = dataObj.getJSONArray("beanList");
|
|
|
+ for(int i=0;i<beanListArray.length();i++){
|
|
|
+ JSONObject job = beanListArray.getJSONObject(i);
|
|
|
+ try{
|
|
|
+ JSONObject consigneeObj = job.getJSONObject("consignee");
|
|
|
+ JSONObject infoObj = job.getJSONObject("info");
|
|
|
+ JSONArray itemsArray = job.getJSONArray("items");
|
|
|
+ JSONObject memoObj = job.getJSONObject("memo");
|
|
|
+
|
|
|
+
|
|
|
+ Integer itemStatus = infoObj.getInt("itemStatus");
|
|
|
+ if(itemStatus != 20){
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+
|
|
|
+ SalesOrder salesOrder = new SalesOrder();
|
|
|
+ salesOrder.setSalesOrderId(infoObj.getString("orderId"));
|
|
|
+ salesOrder.setSalesDealCode(infoObj.getString("orderId"));
|
|
|
+
|
|
|
+
|
|
|
+ salesOrder.setSalesAddressPostcode(consigneeObj.getString("receiverZip"));
|
|
|
+ salesOrder.setSalesAddressName(consigneeObj.getString("receiverName"));
|
|
|
+ salesOrder.setSalesAddressTel(consigneeObj.getString("receiverMobile"));
|
|
|
+
|
|
|
+ String receiverState = consigneeObj.getString("receiverState");
|
|
|
+ String receiverCity = consigneeObj.getString("receiverCity");
|
|
|
+ String receiverDistrict = consigneeObj.getString("receiverDistrict");
|
|
|
+ String receiverAddress = consigneeObj.getString("receiverAddress");
|
|
|
+ salesOrder.setSalesAddressInfo(receiverState+" "+receiverCity+" "+receiverDistrict+" "+receiverAddress);
|
|
|
+
|
|
|
+
|
|
|
+ String platformId = infoObj.getString("platformId");
|
|
|
+ switch (platformId){
|
|
|
+ case "SELF":{
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ case "TMALL":{
|
|
|
+ salesOrder.setSalesStoreId(86);
|
|
|
+ salesOrder.setSalesCompanyId(1);
|
|
|
+ salesOrder.setSalesPayType(5);
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ case "KDT":{
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ case "LJSW":{
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ default:
|
|
|
+ break;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ Double totalFee = infoObj.getDouble("totalFee");
|
|
|
+ totalFee = totalFee*100;
|
|
|
+ Integer amount = totalFee.intValue();
|
|
|
+ salesOrder.setSalesLastMoney(amount);
|
|
|
+ salesOrder.setSalesPayMoney(amount);
|
|
|
+ salesOrder.setSalesAmount(amount);
|
|
|
+
|
|
|
+
|
|
|
+ Double discountFee = infoObj.getDouble("discountFee");
|
|
|
+ discountFee = discountFee*100;
|
|
|
+ Integer discountFeeInt = discountFee.intValue();
|
|
|
+ salesOrder.setSalesDiscountMoney(discountFeeInt);
|
|
|
+
|
|
|
+
|
|
|
+ String createTime = infoObj.getString("createTime");
|
|
|
+ salesOrder.setSalesSalesTime(sdf.parse(createTime));
|
|
|
+ salesOrder.setSalesPayTime(sdf.parse(createTime));
|
|
|
+
|
|
|
+
|
|
|
+ String orderMemo = memoObj.getString("orderMemo");
|
|
|
+ String buyerMemo = memoObj.getString("buyerMemo");
|
|
|
+ String sellerMemo = memoObj.getString("sellerMemo");
|
|
|
+ salesOrder.setSalesUserRemark(orderMemo+"-"+buyerMemo);
|
|
|
+ salesOrder.setSalesAdminRemark(sellerMemo);
|
|
|
+
|
|
|
+
|
|
|
+ Double postFee = memoObj.getDouble("postFee");
|
|
|
+ postFee = postFee*100;
|
|
|
+ Integer postFeeInt = postFee.intValue();
|
|
|
+ salesOrder.setSalesPostageCost(postFeeInt);
|
|
|
+ salesOrder.setSalesShippingFee(postFeeInt);
|
|
|
+
|
|
|
+
|
|
|
+ salesOrder.setSalesBatchId(batchId);
|
|
|
+
|
|
|
+
|
|
|
+ salesOrder.setSalesWaitMoney(0);
|
|
|
+ salesOrder.setSalesType(1);
|
|
|
+ salesOrder.setSalesOrderStatus(1);
|
|
|
+ salesOrder.setSalesPayStatus(2);
|
|
|
+ salesOrder.setIsSalesCustomerId(1);
|
|
|
+ salesOrder.setSalesAddType(4);
|
|
|
+ salesOrder.setSalesPledgeMoney(0);
|
|
|
+ salesOrder.setSalesRemainDeposit(0);
|
|
|
+ salesOrder.setSalesWaitMoney(0);
|
|
|
+
|
|
|
+
|
|
|
+ salesOrder.setSalesIsSend(0);
|
|
|
+ salesOrder.setSalesIsLocked(0);
|
|
|
+ salesOrder.setSalesIsSeparate(0);
|
|
|
+ salesOrder.setSalesStatus(0);
|
|
|
+ salesOrder.setSalesShippingStatus(0);
|
|
|
+ salesOrder.setSalesDeliver(1);
|
|
|
+ salesOrder.setSalesAdminId(1);
|
|
|
+
|
|
|
+ List<SalesOrderItem> salesOrderItemList = new ArrayList<SalesOrderItem>();
|
|
|
+ for(int j=0;j<itemsArray.length();j++){
|
|
|
+ JSONObject item = itemsArray.getJSONObject(j);
|
|
|
+
|
|
|
+ SalesOrderItem salesOrderItem = new SalesOrderItem();
|
|
|
+
|
|
|
+ String extSkuId = memoObj.getString("extSkuId");
|
|
|
+
|
|
|
+ ProductColor productColor = productColorMapper.getProductColorByBar(extSkuId);
|
|
|
+
|
|
|
+ Integer num = memoObj.getInt("num");
|
|
|
+ Double itemDiscountFee = memoObj.getDouble("discountFee");
|
|
|
+ itemDiscountFee = itemDiscountFee*100;
|
|
|
+ Integer itemDiscountFeeInt = itemDiscountFee.intValue();
|
|
|
+ Integer itemTotal = itemDiscountFeeInt*num;
|
|
|
+
|
|
|
+ salesOrderItem.setItemProductPrice(itemDiscountFeeInt);
|
|
|
+ salesOrderItem.setItemProductDiscount(itemDiscountFeeInt);
|
|
|
+ salesOrderItem.setItemTotal(itemTotal);
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ salesOrderItem.setItemNum(num);
|
|
|
+ salesOrderItem.setItemColorBar(productColor.getColorBar());
|
|
|
+ salesOrderItem.setItemProductId(productColor.getColorProductId());
|
|
|
+ salesOrderItem.setItemColorId(productColor.getColorId());
|
|
|
+ salesOrderItem.setItemProductType(productColor.getProductType());
|
|
|
+ salesOrderItem.setItemProductName(productColor.getProductName());
|
|
|
+ salesOrderItem.setItemProductColor(productColor.getColorName());
|
|
|
+ salesOrderItem.setProductAbbreviation(productColor.getProductAbbreviation());
|
|
|
+ salesOrderItem.setColorAbbreviation(productColor.getColorAbbreviation());
|
|
|
+ salesOrderItem.setColorIsWeight(productColor.getColorIsWeight());
|
|
|
+ salesOrderItem.setColorIsMachine(productColor.getColorIsMachine());
|
|
|
+ salesOrderItem.setItemIsSource(1);
|
|
|
+ salesOrderItemList.add(salesOrderItem);
|
|
|
+ }
|
|
|
+ salesOrder.setSalesOrderItemList(salesOrderItemList);
|
|
|
+ String[] detectIds = {};
|
|
|
+ salesOrderService.addRstOrderinfo(salesOrder,new ArrayList<SalesOrder>(),detectIds);
|
|
|
+
|
|
|
+
|
|
|
+ OrderTracking orderTracking = new OrderTracking();
|
|
|
+ orderTracking.setAdminId(1);
|
|
|
+ orderTracking.setSalesDealCode(salesOrder.getSalesDealCode());
|
|
|
+ orderTracking.setTrackingDesc("创建订单(小亚通拉取订单)");
|
|
|
+ salesOrderService.addTracking(orderTracking);
|
|
|
+ }catch (Exception e){
|
|
|
+ e.printStackTrace();
|
|
|
+ logger.info("XYT拉取订单-添加订单错误-错误信息:"+e.getMessage());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }else{
|
|
|
+ OrderSyncLog osl = new OrderSyncLog();
|
|
|
+ osl.setSyncPlatId(orderSyncPlatform.getSyncPlatId());
|
|
|
+ osl.setSyncLogType(1);
|
|
|
+ osl.setSyncLogMode(type);
|
|
|
+ osl.setSyncLogRecentNum(0);
|
|
|
+ osl.setSyncLogErrorNum(0);
|
|
|
+ osl.setSyncLogErrorMsg(resultMsg);
|
|
|
+ osl.setSyncLogMsg("小亚通拉取订单失败");
|
|
|
+ orderSyncLogMapper.save(osl);
|
|
|
+ logger.info("XYT拉取订单-调用小亚通业务错误-错误信息:"+json);
|
|
|
+ }
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ * 拉取单个订单,但是调用请走验证发货验证或者保存接口,此方法不公开
|
|
|
+ * @param orderId
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ private String syncOrderOnce(String orderId) {
|
|
|
+ Map<String,Object> map = new HashMap<>();
|
|
|
+ map.put("orderId",orderId);
|
|
|
+ String json = this.syncXYT("IOrderServce.query",map);
|
|
|
+ return json;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ * 分开组装小亚通api接口
|
|
|
+ * @param type
|
|
|
+ * @param map
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ private String syncXYT(String type, Map<String,Object> map) {
|
|
|
+ Map<String,Object> paramsMap = new HashMap<>();
|
|
|
+ String methodName = "";
|
|
|
+ switch (type){
|
|
|
+ case "allOrder":{
|
|
|
+ List<Map<String,Object>> conditionTypeList = new ArrayList<>();
|
|
|
+ for(String key:map.keySet()){
|
|
|
+ Map<String,Object> conditionTypeMap = new HashMap<>();
|
|
|
+ conditionTypeMap.put(key,map.get(key).toString());
|
|
|
+ conditionTypeList.add(conditionTypeMap);
|
|
|
+ }
|
|
|
+
|
|
|
+ Map<String,Object> condMap = new HashMap<>();
|
|
|
+ condMap.put("pageNumber",1);
|
|
|
+ condMap.put("pageSize",20);
|
|
|
+ condMap.put("conditionType",conditionTypeList);
|
|
|
+
|
|
|
+ paramsMap.put("cond","");
|
|
|
+ paramsMap.put("fullMode",false);
|
|
|
+ paramsMap.put("includeArchive",false);
|
|
|
+ methodName = "IOrderServce.query";
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ case "oneOrder":{
|
|
|
+ List<Map<String,Object>> conditionTypeList = new ArrayList<>();
|
|
|
+ for(String key:map.keySet()){
|
|
|
+ Map<String,Object> conditionTypeMap = new HashMap<>();
|
|
|
+ conditionTypeMap.put(key,map.get(key).toString());
|
|
|
+ conditionTypeList.add(conditionTypeMap);
|
|
|
+ }
|
|
|
+
|
|
|
+ Map<String,Object> condMap = new HashMap<>();
|
|
|
+ condMap.put("pageNumber",1);
|
|
|
+ condMap.put("pageSize",20);
|
|
|
+ condMap.put("conditionType",conditionTypeList);
|
|
|
+
|
|
|
+
|
|
|
+ paramsMap.put("cond","");
|
|
|
+ paramsMap.put("fullMode",false);
|
|
|
+ paramsMap.put("includeArchive",false);
|
|
|
+ methodName = "IOrderServce.query";
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ case "delivery":{
|
|
|
+
|
|
|
+ methodName = "delivery";
|
|
|
+ break;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ default:{
|
|
|
+ return "";
|
|
|
+ }
|
|
|
+ }
|
|
|
+ OrderSyncPlatform orderSyncPlatform = getXYTPlatform();
|
|
|
+ JSONObject jsonObject = this.syncXYTFormat(methodName,paramsMap,orderSyncPlatform);
|
|
|
+ String rspJson = doPost(jsonObject,orderSyncPlatform.getSyncPlatApi());
|
|
|
+ return rspJson;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ * 组装api接口
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ private JSONObject syncXYTFormat(String apiCode, Map<String,Object> paramsMap, OrderSyncPlatform orderSyncPlatform){
|
|
|
+ JSONObject jsonObj = new JSONObject(paramsMap);
|
|
|
+
|
|
|
+ String otherField = orderSyncPlatform.getSyncPlatOtherField();
|
|
|
+ JSONObject jsonObject = new JSONObject(otherField);
|
|
|
+ String opId = (String) jsonObject.get("opId");
|
|
|
+
|
|
|
+ String timeStamp = sdf.format(new Date());
|
|
|
+ String sign = String.format("%sapiCode%sappId%sopId%sparams%stimeStamp%s%s",
|
|
|
+ orderSyncPlatform.getSyncPlatAppSecret(),
|
|
|
+ apiCode,
|
|
|
+ orderSyncPlatform.getSyncPlatAppKey(),
|
|
|
+ opId,
|
|
|
+ jsonObj.toString(),
|
|
|
+ timeStamp,
|
|
|
+ orderSyncPlatform.getSyncPlatAppSecret()
|
|
|
+ );
|
|
|
+ sign = MD5.md5(sign);
|
|
|
+
|
|
|
+ JSONObject postData = new JSONObject();
|
|
|
+ postData.put("opId",opId);
|
|
|
+ postData.put("appId",orderSyncPlatform.getSyncPlatAppKey());
|
|
|
+ postData.put("sign",sign);
|
|
|
+ postData.put("apiCode",apiCode);
|
|
|
+ postData.put("timeStamp",timeStamp);
|
|
|
+ postData.put("params",paramsMap);
|
|
|
+ return postData;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ * post请求
|
|
|
+ *
|
|
|
+ * @param date
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ private static String doPost(JSONObject date,String url) {
|
|
|
+
|
|
|
+ HttpClient client = HttpClients.createDefault();
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ HttpPost post = new HttpPost(url);
|
|
|
+ JSONObject response = null;
|
|
|
+ String rsp= "";
|
|
|
+ try {
|
|
|
+ post.setEntity(new StringEntity(date.toString(),"UTF-8"));
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ post.addHeader("Content-Type", "application/json;charset=UTF-8");
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ HttpResponse res = client.execute(post);
|
|
|
+ if (res.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
|
|
|
+ rsp = EntityUtils.toString(res.getEntity());
|
|
|
+ }
|
|
|
+ } catch (Exception e) {
|
|
|
+ throw new RuntimeException(e);
|
|
|
+ }
|
|
|
+ return rsp;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ static String Alljson = "{\n" +
|
|
|
+ " \"result_msg\": \"success\",\n" +
|
|
|
+ " \"data\": {\n" +
|
|
|
+ " \"amount\": 302,\n" +
|
|
|
+ " \"beanList\": [\n" +
|
|
|
+ " {\n" +
|
|
|
+ " \"consignee\": {\n" +
|
|
|
+ " \"consigneeId\": 100004219907,\n" +
|
|
|
+ " \"createOp\": 100000000001,\n" +
|
|
|
+ " \"createTime\": \"2017-10-31 10:10:31\",\n" +
|
|
|
+ " \"doneTime\": \"2017-10-31 10:11:04\",\n" +
|
|
|
+ " \"orderId\": 100004540881,\n" +
|
|
|
+ " \"receiverAddress\": \"A\",\n" +
|
|
|
+ " \"receiverCity\": \"市辖区\",\n" +
|
|
|
+ " \"receiverDistrict\": \"和平区\",\n" +
|
|
|
+ " \"receiverMobile\": \"15757160000\",\n" +
|
|
|
+ " \"receiverName\": \"CG\",\n" +
|
|
|
+ " \"receiverPhone\": \"15757160000\",\n" +
|
|
|
+ " \"receiverState\": \"天津市\",\n" +
|
|
|
+ " \"receiverTown\": \"和平区\",\n" +
|
|
|
+ " \"receiverZip\": \"\",\n" +
|
|
|
+ " \"tenantId\": 100000000001\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"coupons\": [\n" +
|
|
|
+ " \n" +
|
|
|
+ " ],\n" +
|
|
|
+ " \"info\": {\n" +
|
|
|
+ " \"adjustFee\": 0,\n" +
|
|
|
+ " \"buyerId\": \"74\",\n" +
|
|
|
+ " \"buyerNick\": \"CG\",\n" +
|
|
|
+ " \"createOp\": 100000000001,\n" +
|
|
|
+ " \"createTime\": \"2017-10-31 10:10:31\",\n" +
|
|
|
+ " \"discountFee\": 0,\n" +
|
|
|
+ " \"doneTime\": \"2017-10-31 10:11:04\",\n" +
|
|
|
+ " \"doneVersion\": 1,\n" +
|
|
|
+ " \"extOrderId\": \"150941583170874\",\n" +
|
|
|
+ " \"orderId\": 100004540881,\n" +
|
|
|
+ " \"orderKind\": 0,\n" +
|
|
|
+ " \"orderStatus\": 20,\n" +
|
|
|
+ " \"orderStatusReason\": 0,\n" +
|
|
|
+ " \"paidFee\": 1,\n" +
|
|
|
+ " \"paidPoints\": 0,\n" +
|
|
|
+ " \"payTime\": \"2017-10-31 10:10:41\",\n" +
|
|
|
+ " \"payType\": \"N/A\",\n" +
|
|
|
+ " \"platformId\": \"IMEIHAO\",\n" +
|
|
|
+ " \"postFee\": 0,\n" +
|
|
|
+ " \"revokeStatus\": 0,\n" +
|
|
|
+ " \"shippingType\": \"express\",\n" +
|
|
|
+ " \"shopId\": 100000041343,\n" +
|
|
|
+ " \"skuBrief\": \"博冠丨 Just Fit V2 云智能健康秤\",\n" +
|
|
|
+ " \"skuNum\": 1,\n" +
|
|
|
+ " \"supplierTenantId\": 100000000001,\n" +
|
|
|
+ " \"syncTime\": \"2017-10-31 10:00:29\",\n" +
|
|
|
+ " \"tenantId\": 100000000001,\n" +
|
|
|
+ " \"totalFee\": 16900,\n" +
|
|
|
+ " \"updateTime\": \"2017-10-31 10:10:41\",\n" +
|
|
|
+ " \"warrantyStatus\": 0\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"items\": [\n" +
|
|
|
+ " {\n" +
|
|
|
+ " \"adjustFee\": 0,\n" +
|
|
|
+ " \"catalogNature\": 0,\n" +
|
|
|
+ " \"createTime\": \"2017-10-31 10:10:31\",\n" +
|
|
|
+ " \"discountFee\": 0,\n" +
|
|
|
+ " \"doneTime\": \"2017-10-31 10:11:04\",\n" +
|
|
|
+ " \"doneVersion\": 1,\n" +
|
|
|
+ " \"extItemId\": \"15094158317087400\",\n" +
|
|
|
+ " \"extNumIid\": \"107617669\",\n" +
|
|
|
+ " \"extOrderId\": \"150941583170874\",\n" +
|
|
|
+ " \"extSkuId\": \"MDMJ20170515ZNJKC\",\n" +
|
|
|
+ " \"extSkuTitle\": \"博冠丨 Just Fit V2 云智能健康秤\",\n" +
|
|
|
+ " \"imageUrl\": \"https://cdn.imeihao.shop/mall-imeihao/product/main-1507617610718spQCphtyyi_750_750.jpg\",\n" +
|
|
|
+ " \"isSplit\": 0,\n" +
|
|
|
+ " \"itemStatus\": 20,\n" +
|
|
|
+ " \"num\": 1,\n" +
|
|
|
+ " \"orderId\": 100004540881,\n" +
|
|
|
+ " \"orderItemId\": 100005685925,\n" +
|
|
|
+ " \"outerId\": \"A4939978A1DBB8D2CB1DC3495DA820E3\",\n" +
|
|
|
+ " \"paidFee\": 1,\n" +
|
|
|
+ " \"paidPoints\": 0,\n" +
|
|
|
+ " \"platformId\": \"IMEIHAO\",\n" +
|
|
|
+ " \"postFee\": 0,\n" +
|
|
|
+ " \"price\": 1,\n" +
|
|
|
+ " \"refundFee\": 0,\n" +
|
|
|
+ " \"skuId\": 100001278198,\n" +
|
|
|
+ " \"skuPoints\": 0,\n" +
|
|
|
+ " \"skuSpecChars\": \"智能健康秤\",\n" +
|
|
|
+ " \"skuTitle\": \"博冠丨 Just Fit V2 云智能健康秤\",\n" +
|
|
|
+ " \"tenantId\": 100000000001,\n" +
|
|
|
+ " \"totalFee\": 16900,\n" +
|
|
|
+ " \"warrantyStatus\": 0\n" +
|
|
|
+ " }\n" +
|
|
|
+ " ],\n" +
|
|
|
+ " \"logistics\": [\n" +
|
|
|
+ " {\n" +
|
|
|
+ " \"companyCode\": \"\",\n" +
|
|
|
+ " \"companyName\": \"\",\n" +
|
|
|
+ " \"createOp\": 100000000001,\n" +
|
|
|
+ " \"createTime\": \"2017-10-31 10:10:31\",\n" +
|
|
|
+ " \"deliveryNo\": \"\",\n" +
|
|
|
+ " \"deliveryStatus\": 0,\n" +
|
|
|
+ " \"deliveryTime\": \"2017-10-31 10:10:31\",\n" +
|
|
|
+ " \"doneTime\": \"2017-10-31 10:11:04\",\n" +
|
|
|
+ " \"logisticsId\": 100002780406,\n" +
|
|
|
+ " \"orderId\": 100004540881,\n" +
|
|
|
+ " \"tenantId\": 100000000001\n" +
|
|
|
+ " }\n" +
|
|
|
+ " ],\n" +
|
|
|
+ " \"logisticsTrackings\": [\n" +
|
|
|
+ " \n" +
|
|
|
+ " ],\n" +
|
|
|
+ " \"logs\": [\n" +
|
|
|
+ " \n" +
|
|
|
+ " ],\n" +
|
|
|
+ " \"memo\": {\n" +
|
|
|
+ " \"buyerMessage\": \"\",\n" +
|
|
|
+ " \"createOp\": 100000000001,\n" +
|
|
|
+ " \"createTime\": \"2017-10-31 10:10:31\",\n" +
|
|
|
+ " \"doneTime\": \"2017-10-31 10:11:04\",\n" +
|
|
|
+ " \"memoId\": 100004220937,\n" +
|
|
|
+ " \"orderId\": 100004540881,\n" +
|
|
|
+ " \"tenantId\": 100000000001\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"prints\": [\n" +
|
|
|
+ " \n" +
|
|
|
+ " ],\n" +
|
|
|
+ " \"promotions\": [\n" +
|
|
|
+ " \n" +
|
|
|
+ " ],\n" +
|
|
|
+ " \"specChar\": [\n" +
|
|
|
+ " {\n" +
|
|
|
+ " \"attributeValue\": \"智能健康秤\",\n" +
|
|
|
+ " \"orderCharId\": 100006152526,\n" +
|
|
|
+ " \"orderId\": 100004540881,\n" +
|
|
|
+ " \"specId\": 0,\n" +
|
|
|
+ " \"specName\": \"款式\",\n" +
|
|
|
+ " \"tenantId\": 100000000001\n" +
|
|
|
+ " }\n" +
|
|
|
+ " ]\n" +
|
|
|
+ " }\n" +
|
|
|
+ " ]\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"result_code\": \"0\"\n" +
|
|
|
+ "}";
|
|
|
}
|