| src/main/java/com/gs/xiaomi/config/DataAcquisitionConfiguration.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/gs/xiaomi/service/BCS101ApiService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/test/java/com/gs/xiaomi/XiaomiApplicationTests.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/gs/xiaomi/config/DataAcquisitionConfiguration.java
@@ -18,14 +18,20 @@ //public static final String XM104_URL = "https://mipoq.p.mi.com/XISOAPAdapter/MessageServlet?p=ic/9e8a118fb0b7379aa11c2a5c2860982a&senderParty=&senderService=ZJ_XIAOBU_QAS&receiverParty=&receiverService=&interface=SI_ZFM_WS_API_OUT&interfaceNamespace=http://xiaomi.com/srm/b2b"; //测试 //=====================条码获取 public static final String BCS_101_URL = "https://mipoq.p.mi.com/HttpAdapter/HttpMessageServlet?interfaceNamespace=http://xiaomi.com/bcs/dummy&interface=SI_MI_BCS_IF101_GET_SN_S_OUT&senderService=ZJ_XIAOBU_QAS&qos=BE"; //测试 //测试 //public static final String BCS_101_URL = "https://mipoq.p.mi.com/HttpAdapter/HttpMessageServlet?interfaceNamespace=http://xiaomi.com/bcs/dummy&interface=SI_MI_BCS_IF101_GET_SN_S_OUT&senderService=ZJ_XIAOBU_QAS&qos=BE"; //测试 public static final String BCS_USER_NAME = "RFCBCSXIAOBU"; //测试 public static final String BCS_PWD = "L5X8!pdL"; //测试 //正式 public static final String BCS_101_URL = "https://mipnp.p.mi.com/HttpAdapter/HttpMessageServlet?interfaceNamespace=http://xiaomi.com/bcs/dummy&interface=SI_MI_BCS_IF101_GET_SN_S_OUT&senderService=ZJ_XIAOBU_PRD&qos=BE"; public static final String BCS_USER_NAME = "RFCBCSXIAOBU"; // public static final String BCS_PWD = "L5X8!pdL"; //测试 public static final String BCS_PWD = "ab%85U!N"; //正式 //X5协议 public static final String BCS_APP_ID = "bcs_fty_177301"; //测试 public static final String BCS_APP_Key = "IJBVGMJXG4ZTAMLSMFXGI33NONQWY5DG"; //测试 public static final String BCS_APP_ID = "bcs_fty_177301"; // public static final String BCS_APP_Key = "IJBVGMJXG4ZTAMLSMFXGI33NONQWY5DG"; //测试 public static final String BCS_APP_Key = "7ea40b9ac4014c938050fc70ed4ff0fd"; //正式 public static String getIvPass(String ivCode) { src/main/java/com/gs/xiaomi/service/BCS101ApiService.java
@@ -51,15 +51,15 @@ // 1. 序列化Body为JSON字符串 String bodyStr = objectMapper.writeValueAsString(request); System.out.println("1. Body JSON: " + bodyStr); //System.out.println("1. Body JSON: " + bodyStr); // 2. MD5签名: sign = MD5(appid + bodyStr + appkey) String appId = DataAcquisitionConfiguration.BCS_APP_ID; String appKey = DataAcquisitionConfiguration.BCS_APP_Key; String signString = appId + bodyStr + appKey; String sign = DigestUtil.md5Hex(signString).toUpperCase(); System.out.println("2. 签名字符串: " + signString); System.out.println("3. MD5签名: " + sign); //System.out.println("2. 签名字符串: " + signString); //System.out.println("3. MD5签名: " + sign); // 3. 构建X5Header X5Header header = new X5Header(appId, sign); @@ -67,24 +67,24 @@ // 4. 构建X5Request X5Request x5Request = new X5Request(header, bodyStr); String x5RequestJson = objectMapper.writeValueAsString(x5Request); System.out.println("4. X5Request JSON: " + x5RequestJson); //System.out.println("4. X5Request JSON: " + x5RequestJson); // 5. Base64编码整个X5Request String base64Data = X5StringUtils.encodeBase64(x5RequestJson); System.out.println("5. Base64编码: " + base64Data); //System.out.println("5. Base64编码: " + base64Data); // 6. URL编码 String urlEncodedData = URLEncoder.encode(base64Data, "UTF-8"); System.out.println("6. URL编码: " + urlEncodedData); // System.out.println("6. URL编码: " + urlEncodedData); // 7. 构建form表单数据: data=url编码(base64编码)的数据 String formData = "data=" + urlEncodedData; System.out.println("7. Form数据: " + formData); //System.out.println("7. Form数据: " + formData); // 8. Basic Auth认证 String credentials = DataAcquisitionConfiguration.BCS_USER_NAME + ":" + DataAcquisitionConfiguration.BCS_PWD; String auth = X5StringUtils.encodeBase64(credentials); System.out.println("8. Basic Auth: Basic " + auth); // System.out.println("8. Basic Auth: Basic " + auth); // 9. 构建HTTP请求 - 严格按照C#代码的请求格式 RequestBody body = RequestBody.create(formData, MediaType.parse("application/x-www-form-urlencoded")); @@ -98,7 +98,7 @@ .addHeader("Pragma", "no-cache") .build(); System.out.println("9. 发送X5协议请求到: " + DataAcquisitionConfiguration.BCS_101_URL); //System.out.println("9. 发送X5协议请求到: " + DataAcquisitionConfiguration.BCS_101_URL); // 10. 执行请求 try (Response response = client.newCall(httpRequest).execute()) { src/test/java/com/gs/xiaomi/XiaomiApplicationTests.java
@@ -46,7 +46,7 @@ // 创建测试请求参数 BCS101Request request = new BCS101Request(); request.setSupplierId("177301"); request.setDocNo("9311036039"); request.setDocNo("9316716044"); request.setDocType("ASNGR"); request.setPageNo(1); request.setPageSize(1000);