|
@@ -4,12 +4,12 @@ import com.alibaba.fastjson.JSONArray;
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
import com.iamberry.rst.faces.kdn.KuaiDiNiaoService;
|
|
|
import com.iamberry.wechat.tools.HttpClient431Util;
|
|
|
-import com.sun.org.apache.xml.internal.security.utils.Base64;
|
|
|
+//import com.sun.org.apache.xml.internal.security.utils.Base64;
|
|
|
import org.slf4j.Logger;
|
|
|
import org.slf4j.LoggerFactory;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
-import java.io.*;
|
|
|
+import java.io.UnsupportedEncodingException;
|
|
|
import java.net.URLEncoder;
|
|
|
import java.security.MessageDigest;
|
|
|
import java.util.HashMap;
|
|
@@ -18,8 +18,6 @@ import java.util.Map;
|
|
|
@Service
|
|
|
public class KuaiDiNiaoServiceImpl implements KuaiDiNiaoService {
|
|
|
private static Logger LOGGER = LoggerFactory.getLogger(KuaiDiNiaoServiceImpl.class);
|
|
|
- private static String ERRORPATH = "D:\\testJavaPath\\error.txt";
|
|
|
- private static String SUCCESSPATH = "D:\\testJavaPath\\success.txt";
|
|
|
|
|
|
//电商ID
|
|
|
private static final String EBusinessID="1343593";
|
|
@@ -35,89 +33,60 @@ public class KuaiDiNiaoServiceImpl implements KuaiDiNiaoService {
|
|
|
|
|
|
@Override
|
|
|
public String selectCourierCompany(String code) {
|
|
|
- String courierCompang="";
|
|
|
- Map<String,Object> requestMap = new HashMap();
|
|
|
- requestMap.put("LogisticCode",code);
|
|
|
- try {
|
|
|
- // 第三方接口对时效性有要求,并发数不超过多少,此处Sleep 1200ms
|
|
|
- Thread.sleep(1200);
|
|
|
-
|
|
|
- // 生成电子面单的请求数据
|
|
|
- String requestData = JSONObject.toJSONString(requestMap);
|
|
|
- // 生成系统级请求数据
|
|
|
- Map<String, String> params = new HashMap<String, String>();
|
|
|
- params.put("RequestData", urlEncoder(requestData, "UTF-8"));
|
|
|
- params.put("EBusinessID", EBusinessID);
|
|
|
- params.put("RequestType", "2002");
|
|
|
- String dataSign=encrypt(requestData, AppKey, "UTF-8");
|
|
|
- params.put("DataSign", urlEncoder(dataSign, "UTF-8"));
|
|
|
- params.put("DataType", "2");
|
|
|
- // 发送请求
|
|
|
- String json = HttpClient431Util.doPost(params, URL);
|
|
|
-
|
|
|
- Map responseMap = JSONObject.parseObject(json);
|
|
|
-
|
|
|
- JSONArray shippersAyyar = (JSONArray) responseMap.get("Shippers");
|
|
|
- if(shippersAyyar.size() < 1){
|
|
|
- LOGGER.info("=========快递单号:"+code+";查询不到快递公司");
|
|
|
- String errorMsg = "快递单号:" + code+";查询不到快递公司+"+"\n";
|
|
|
- writeTxt(ERRORPATH,errorMsg);
|
|
|
- }
|
|
|
- if(shippersAyyar.size()>0 && shippersAyyar.size() < 2){
|
|
|
- JSONObject job = shippersAyyar.getJSONObject(0); // 遍历 jsonarray 数组,把每一个对象转成 json 对象
|
|
|
- String shipperName = (String) job.get("ShipperName");
|
|
|
- String shipperCode = (String) job.get("ShipperCode");
|
|
|
- courierCompang = shipperCode;
|
|
|
- if(courierCompang == null || "".equals(courierCompang) ){
|
|
|
- LOGGER.info("=========快递单号:"+code+";查询不到快递公司,其中有一个快递公司");
|
|
|
- String errorMsg = "快递单号:" + code+";查询不到快递公司+"+"\n";
|
|
|
- writeTxt(ERRORPATH,errorMsg);
|
|
|
- }else{
|
|
|
- LOGGER.info("=========快递单号:"+code+";查询成功,快递公司:"+shipperName+":"+shipperCode);
|
|
|
- String errorMsg = "快递单号:" + code+"快递公司:"+shipperName+":"+shipperCode +"\n";
|
|
|
- writeTxt(SUCCESSPATH,errorMsg);
|
|
|
- }
|
|
|
- }else{
|
|
|
- StringBuffer company = new StringBuffer();
|
|
|
- for(int i=0;i<shippersAyyar.size();i++){
|
|
|
- JSONObject job = shippersAyyar.getJSONObject(i);
|
|
|
- company.append(job.get("ShipperName")+":");
|
|
|
- company.append(job.get("ShipperCode")+";");
|
|
|
- }
|
|
|
- LOGGER.info("=========快递单号:"+code+";查询到多个快递公司:"+company.toString());
|
|
|
- String errorMsg = "快递单号:"+code+";查询到多个快递公司:"+company.toString()+"\n";
|
|
|
- writeTxt(ERRORPATH,errorMsg);
|
|
|
- }
|
|
|
- } catch (Exception e) {
|
|
|
- e.printStackTrace();
|
|
|
- }
|
|
|
- return courierCompang;
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 写入文件
|
|
|
- * @param path
|
|
|
- * @param s
|
|
|
- */
|
|
|
- public static void writeTxt(String path,String s){
|
|
|
- File file = new File(path);
|
|
|
- try{
|
|
|
- FileWriter fw = new FileWriter(file, true);
|
|
|
- if(!file.exists()){
|
|
|
- file.createNewFile();
|
|
|
- }
|
|
|
- BufferedWriter bw = new BufferedWriter(fw);
|
|
|
- PrintWriter pw = new PrintWriter(bw);
|
|
|
-
|
|
|
- pw.println(s);
|
|
|
-
|
|
|
- pw.flush();
|
|
|
- fw.flush();
|
|
|
- pw.close();
|
|
|
- fw.close();
|
|
|
- }catch (Exception e){
|
|
|
- e.printStackTrace();
|
|
|
- }
|
|
|
+// String courierCompang="";
|
|
|
+// Map<String,Object> requestMap = new HashMap();
|
|
|
+// requestMap.put("LogisticCode",code);
|
|
|
+// try {
|
|
|
+// // 第三方接口对时效性有要求,并发数不超过多少,此处Sleep 1200ms
|
|
|
+// Thread.sleep(1200);
|
|
|
+//
|
|
|
+// // 生成电子面单的请求数据
|
|
|
+// String requestData = JSONObject.toJSONString(requestMap);
|
|
|
+// // 生成系统级请求数据
|
|
|
+// Map<String, String> params = new HashMap<String, String>();
|
|
|
+// params.put("RequestData", urlEncoder(requestData, "UTF-8"));
|
|
|
+// params.put("EBusinessID", EBusinessID);
|
|
|
+// params.put("RequestType", "2002");
|
|
|
+// String dataSign=encrypt(requestData, AppKey, "UTF-8");
|
|
|
+// params.put("DataSign", urlEncoder(dataSign, "UTF-8"));
|
|
|
+// params.put("DataType", "2");
|
|
|
+// // 发送请求
|
|
|
+// String json = HttpClient431Util.doPost(params, URL);
|
|
|
+//
|
|
|
+// Map responseMap = JSONObject.parseObject(json);
|
|
|
+//
|
|
|
+// JSONArray shippersAyyar = (JSONArray) responseMap.get("Shippers");
|
|
|
+// if(shippersAyyar.size() < 1){
|
|
|
+// LOGGER.info("=========快递单号:"+code+";查询不到快递公司");
|
|
|
+// String errorMsg = "快递单号:" + code+";查询不到快递公司+"+"\n";
|
|
|
+// }
|
|
|
+// if(shippersAyyar.size()>0 && shippersAyyar.size() < 2){
|
|
|
+// JSONObject job = shippersAyyar.getJSONObject(0); // 遍历 jsonarray 数组,把每一个对象转成 json 对象
|
|
|
+// String shipperName = (String) job.get("ShipperName");
|
|
|
+// String shipperCode = (String) job.get("ShipperCode");
|
|
|
+// courierCompang = shipperCode;
|
|
|
+// if(courierCompang == null || "".equals(courierCompang) ){
|
|
|
+// LOGGER.info("=========快递单号:"+code+";查询不到快递公司,其中有一个快递公司");
|
|
|
+// String errorMsg = "快递单号:" + code+";查询不到快递公司+"+"\n";
|
|
|
+// }else{
|
|
|
+// LOGGER.info("=========快递单号:"+code+";查询成功,快递公司:"+shipperName+":"+shipperCode);
|
|
|
+// String errorMsg = "快递单号:" + code+"快递公司:"+shipperName+":"+shipperCode +"\n";
|
|
|
+// }
|
|
|
+// }else{
|
|
|
+// StringBuffer company = new StringBuffer();
|
|
|
+// for(int i=0;i<shippersAyyar.size();i++){
|
|
|
+// JSONObject job = shippersAyyar.getJSONObject(i);
|
|
|
+// company.append(job.get("ShipperName")+":");
|
|
|
+// company.append(job.get("ShipperCode")+";");
|
|
|
+// }
|
|
|
+// LOGGER.info("=========快递单号:"+code+";查询到多个快递公司:"+company.toString());
|
|
|
+// String errorMsg = "快递单号:"+code+";查询到多个快递公司:"+company.toString()+"\n";
|
|
|
+// }
|
|
|
+// } catch (Exception e) {
|
|
|
+// e.printStackTrace();
|
|
|
+// }
|
|
|
+// return courierCompang;
|
|
|
+ return null;
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -126,9 +95,9 @@ public class KuaiDiNiaoServiceImpl implements KuaiDiNiaoService {
|
|
|
* @param charset 编码方式
|
|
|
* @throws UnsupportedEncodingException
|
|
|
*/
|
|
|
- private static String base64(String str, String charset) throws UnsupportedEncodingException {
|
|
|
- return Base64.encode(str.getBytes(charset));
|
|
|
- }
|
|
|
+// private static String base64(String str, String charset) throws UnsupportedEncodingException {
|
|
|
+// return Base64.encode(str.getBytes(charset));
|
|
|
+// }
|
|
|
|
|
|
@SuppressWarnings("unused")
|
|
|
private static String urlEncoder(String str, String charset) throws UnsupportedEncodingException {
|
|
@@ -142,14 +111,14 @@ public class KuaiDiNiaoServiceImpl implements KuaiDiNiaoService {
|
|
|
* @throws UnsupportedEncodingException ,Exception
|
|
|
* @return DataSign签名
|
|
|
*/
|
|
|
- @SuppressWarnings("unused")
|
|
|
- private static String encrypt (String content, String keyValue, String charset) throws UnsupportedEncodingException, Exception {
|
|
|
- if (keyValue != null)
|
|
|
- {
|
|
|
- return base64(MD5(content + keyValue, charset), charset);
|
|
|
- }
|
|
|
- return base64(MD5(content, charset), charset);
|
|
|
- }
|
|
|
+// @SuppressWarnings("unused")
|
|
|
+// private static String encrypt (String content, String keyValue, String charset) throws UnsupportedEncodingException, Exception {
|
|
|
+// if (keyValue != null)
|
|
|
+// {
|
|
|
+// return base64(MD5(content + keyValue, charset), charset);
|
|
|
+// }
|
|
|
+// return base64(MD5(content, charset), charset);
|
|
|
+// }
|
|
|
|
|
|
/**
|
|
|
* MD5加密
|