DeliveryOrderTest.java 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127
  1. import com.cwms.qm.model.outorder.*;
  2. import com.cwms.qm.util.QimenSignUtils;
  3. import com.cwms.qm.util.WebUtils;
  4. import com.taobao.api.Constants;
  5. import com.taobao.api.internal.util.StringUtils;
  6. import javax.crypto.Mac;
  7. import javax.crypto.SecretKey;
  8. import javax.crypto.spec.SecretKeySpec;
  9. import javax.xml.bind.JAXBContext;
  10. import javax.xml.bind.JAXBException;
  11. import javax.xml.bind.Marshaller;
  12. import java.io.IOException;
  13. import java.io.StringWriter;
  14. import java.security.GeneralSecurityException;
  15. import java.text.SimpleDateFormat;
  16. import java.util.Arrays;
  17. import java.util.Date;
  18. import java.util.Map;
  19. public class DeliveryOrderTest
  20. {
  21. private static final SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  22. public static void main(String[] args)
  23. throws JAXBException, IOException
  24. {
  25. // System.out.println(new Date());
  26. // for (int i=0;i<=100;i++)
  27. {
  28. create();
  29. }
  30. }
  31. public static void create()
  32. throws JAXBException, IOException
  33. {
  34. DeliveryOrderDto deliveryOrderDto = new DeliveryOrderDto();
  35. DeliveryOrder deliveryOrder = new DeliveryOrder();
  36. deliveryOrder.setPlaceOrderTime(sdf.format(new Date()));
  37. deliveryOrder.setCreateTime(sdf.format(new Date()));
  38. deliveryOrder.setOperateTime(sdf.format(new Date()));
  39. deliveryOrder.setDeliveryOrderCode("49525752058-SDO188827561136");
  40. deliveryOrder.setLogisticsCode("YTOJD");
  41. deliveryOrder.setLogisticsAreaCode("");
  42. deliveryOrder.setOrderType("JYCK");
  43. deliveryOrder.setWarehouseCode("PKZXC");
  44. deliveryOrder.setShopNick("抖音汤臣倍健享康专卖店");
  45. deliveryOrder.setSourcePlatformCode("DYXD");
  46. deliveryOrder.setExpressCode("");
  47. ReceiverInfo receiverInfo = new ReceiverInfo();
  48. receiverInfo.setCountryCode("中国");
  49. receiverInfo.setProvince("西藏自治区");
  50. receiverInfo.setCity("林芝市");
  51. receiverInfo.setArea("巴宜区");
  52. receiverInfo.setTown("");
  53. receiverInfo.setDetailAddress("西藏自治区 林芝市 巴宜区 八一镇 幸福小区蜜雪冰城");
  54. receiverInfo.setMobile("15739076970");
  55. receiverInfo.setZipCode("000000");
  56. receiverInfo.setName("银琪琦");
  57. receiverInfo.setOaid("");
  58. deliveryOrder.setReceiverInfo(receiverInfo);
  59. deliveryOrderDto.setDeliveryOrder(deliveryOrder);
  60. SenderInfo senderInfo = new SenderInfo();
  61. senderInfo.setName("孙志坤");
  62. senderInfo.setProvince("江苏省");
  63. senderInfo.setCity("南京市");
  64. senderInfo.setArea("江宁区");
  65. senderInfo.setTown("");
  66. senderInfo.setDetailAddress("启航大道1号A3-25号门(空港跨境电子商务产业园)");
  67. senderInfo.setMobile("15205152575");
  68. senderInfo.setTel("");
  69. senderInfo.setCompany(" ");
  70. senderInfo.setCountryCode(" ");
  71. deliveryOrder.setSenderInfo(senderInfo);
  72. OrderLines orderLines = new OrderLines();
  73. OrderLine item1 = new OrderLine();
  74. // item1.setItemCode("6971539461140");//AHLCJK
  75. item1.setItemCode("E03447E201044");//PK
  76. // item1.setItemId("ST2106070000002");
  77. // item1.setItemName("309.00;309.00;309.00");
  78. item1.setInventoryType("ZP");
  79. item1.setOrderLineNo("1");
  80. item1.setOwnerCode("PK");
  81. item1.setActualPrice(409d);
  82. item1.setPlanQty("1");
  83. item1.setSourceOrderCode("4821550945298734897");
  84. item1.setSubSourceOrderCode("4821550945298734897");
  85. orderLines.getOrderLine().add(item1);
  86. // OrderLine item2 = new OrderLine();
  87. // item2.setItemCode("CVEWY06040");
  88. // item2.setInventoryType("ZP");
  89. // item2.setItemName("COCOVEL五月玫瑰空气感香氛护发乳500ml");
  90. // item2.setOrderLineNo("2");
  91. // item2.setOwnerCode("C-56");
  92. // item2.setPlanQty("1");
  93. // item2.setActualPrice(1d);
  94. // orderLines.getOrderLine().add(item2);
  95. deliveryOrderDto.setOrderLines(orderLines);
  96. ExtendProps extendProps = new ExtendProps();
  97. extendProps.setExt1("222222");
  98. // extendProps.setVipMeta("[{ \"fieldCode\": \"thirdCustName\", \"fieldValue\": \"顺丰速运\"}, { \"fieldCode\": \"transportDay\", \"fieldValue\": \"送货时间不限\"}, { \"fieldCode\": \"labelTransportNo\", \"fieldValue\": \"运单\"}, { \"fieldCode\": \"transportNo\", \"fieldValue\": \"SF1882623965105\"}, { \"fieldCode\": \"packageSeq\", \"fieldValue\": \"1\"}, { \"fieldCode\": \"packageNum\", \"fieldValue\": \"1\"}, { \"fieldCode\": \"labelOrderSn\", \"fieldValue\": \"单号\"}, { \"fieldCode\": \"orderSn\", \"fieldValue\": \"20051339824189\"}, { \"fieldCode\": \"pickCode\", \"fieldValue\": \"516T-T77-030\"}, { \"fieldCode\": \"proCode\", \"fieldValue\": \"T77\"}, { \"fieldCode\": \"proCodeImg\", \"fieldValue\": \"data:image/png;base64,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\"}, { \"fieldCode\": \"qrCodeImg\", \"fieldValue\": \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEsAAABLCAIAAAC3LO29AAACAklEQVR42u2a227DMAxD8/8/nQF7HGqFh/TaTbKfijZtfAJWF8rXJa/7e61erz5dvaNcqf9OsedrCuFdLp2qfod+V3+yxZ6HEerKrK9Zsa046ZNF+zmEwi/qUaomUe5yCHcQJvFAJ6d3PIQ8WyRKrknoc/ytfPj/CPOq7f2v312X/l3CO1i0XlNqbuUubJP9CesYUO9A2SvtjJL88fw/7ElIKykgCasD1p+UUvFNIqRVr+dNKDvOe+ifGb8/Yd7j5LqlakRuyABCzxekudjjpOp93T31J9R1olfDnqo9j/hx/wMIk6xN+10vhumeZRVpOhNSxyHJ1HnNbVR2Awj1GE0jQaJ5Xc+se+pPSCtdmse9iR1V5jxC6sNTjdHKIfFQ1AlpN8LES0/ycp51xLsPI6Tefk61RYc4H3YjzJ32XXVZWGE/9IedCXWVforQmwhMIky+v9fnz/NW1R92JsxPJCQu064putpb9CSkfUqel734Yc9qBhB6J6sSfz4/p4fOkA0j9FyMXRNsmnXEawYQ7iLxYk8+aWXn2noSJie96Kk/T4fU73h2oroRervUI3tenSfV4iRCqkzqIFIFUl9Drbz7E+7VXn6agc7SX+7qEAYK9DK+Xv0xv/QQ+lFEUS/N+GwyM4vQm0gnvlMyDxc5xxAmczXdKaZK9ryPqj/sSXh3X1/fGiul2j2ZAgAAAABJRU5ErkJggg==\"}, { \"fieldCode\": \"qrCode\", \"fieldValue\": \"MMM={'k1':'516WA','k2':'516T-T77','k3':'030','k4':'T77','k5':'SF1882623965105','k6':'','k7':'13cf2b14'}\"}, { \"fieldCode\": \"jitxLabel\", \"fieldValue\": \"JITX\"}, { \"fieldCode\": \"prePackageLabel\", \"fieldValue\": \"\"}, { \"fieldCode\": \"changeLabel\", \"fieldValue\": \"\"}, { \"fieldCode\": \"buyerLabel\", \"fieldValue\": \"收\"}, { \"fieldCode\": \"buyer\", \"fieldValue\": \"周*\"}, { \"fieldCode\": \"buyerMobile\", \"fieldValue\": \"133*****859\"}, { \"fieldCode\": \"buyerAddressNorm\", \"fieldValue\": \"江苏省.徐州市.泉山区\"}, { \"fieldCode\": \"buyerAddressDetail\", \"fieldValue\": \"段庄街道江苏省徐州市二环西路71-102(诚昌商店)\"}, { \"fieldCode\": \"childTransportNo\", \"fieldValue\": \"运单 SF1882623965105\"}, { \"fieldCode\": \"parentTransportNo\", \"fieldValue\": \"\"}, { \"fieldCode\": \"goodsInfo\", \"fieldValue\": \"WMX9008110042\"}, { \"fieldCode\": \"labelPrintDay\", \"fieldValue\": \"打印时间\"}, { \"fieldCode\": \"labelPrintDate\", \"fieldValue\": \"2020-05-14\"}, { \"fieldCode\": \"labelPrintTime\", \"fieldValue\": \"13:49:28\"}, { \"fieldCode\": \"lableChecked\", \"fieldValue\": \"已安检\"}, { \"fieldCode\": \"lableInspected\", \"fieldValue\": \"已验视\"}, { \"fieldCode\": \"labelSign\", \"fieldValue\": \"签收\"}, { \"fieldCode\": \"labelSuborderSn\", \"fieldValue\": \"单号\"}, { \"fieldCode\": \"suborderSn\", \"fieldValue\": \"20051339824189\"}, { \"fieldCode\": \"transportType\", \"fieldValue\": \"(V)\"}, { \"fieldCode\": \"codemapping\", \"fieldValue\": \"\"}]");
  99. deliveryOrder.setExtendProps(extendProps);
  100. JAXBContext jc = JAXBContext.newInstance(DeliveryOrderDto.class);
  101. Marshaller ms = jc.createMarshaller();
  102. StringWriter writer = new StringWriter();
  103. ms.marshal(deliveryOrderDto, writer);
  104. String xml = writer.toString();
  105. String appKey = "21226717";
  106. String qmCustomerId = "PK";
  107. String secretKey = "5cac8b2203e0e65cffb6e1c465d55a4f";
  108. Map<String, String> requestParamter =
  109. WebUtils.getRequestParameter("deliveryorder.create", appKey, qmCustomerId);
  110. String sign = QimenSignUtils.sign(requestParamter, xml, secretKey);
  111. requestParamter.put("sign", sign);
  112. String url = "http://172.172.172.48:8080/BH_CLIS/qimen" + "?" + QimenSignUtils.joinRequestParams(requestParamter);
  113. String result = WebUtils.doQmPost(url, xml);
  114. System.out.println(result);
  115. }
  116. }