|
|
|
@ -253,14 +253,14 @@ public class OrderServiceImpl implements IOrderService {
|
|
|
|
|
* @param tc_wla001 派车单号 |
|
|
|
|
* @return |
|
|
|
|
*/ |
|
|
|
|
private ResponseStaorderPackagesVo orderPackageInfo (String statinLineNum, String packageNum, String tc_wla001) |
|
|
|
|
{ |
|
|
|
|
RequestVo<RequestOrderPackageInfoVo> requestVo = new RequestVo(); |
|
|
|
|
requestVo.setMethod("snimay.crm.externalinterface.package.order.get"); |
|
|
|
|
|
|
|
|
|
RequestOrderPackageInfoVo requestOrderPackageInfoVo = new RequestOrderPackageInfoVo(); |
|
|
|
|
requestOrderPackageInfoVo.setLogistics_line_number(statinLineNum); |
|
|
|
|
requestOrderPackageInfoVo.setPackage_num(packageNum); |
|
|
|
|
private ResponseStaorderPackagesVo orderPackageInfo (String statinLineNum, String packageNum, String tc_wla001) |
|
|
|
|
{ |
|
|
|
|
RequestVo<RequestOrderPackageInfoVo> requestVo = new RequestVo(); |
|
|
|
|
requestVo.setMethod("snimay.crm.externalinterface.package.order.get"); |
|
|
|
|
|
|
|
|
|
RequestOrderPackageInfoVo requestOrderPackageInfoVo = new RequestOrderPackageInfoVo(); |
|
|
|
|
requestOrderPackageInfoVo.setLogistics_line_number(statinLineNum); |
|
|
|
|
requestOrderPackageInfoVo.setPackage_num(packageNum); |
|
|
|
|
// requestOrderPackageInfoVo.setMerge_number(mergeNumber);
|
|
|
|
|
requestOrderPackageInfoVo.setSend_car_number(tc_wla001); |
|
|
|
|
Date date = new Date(); |
|
|
|
@ -284,63 +284,63 @@ public class OrderServiceImpl implements IOrderService {
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 检查订单中存在的需要请求包条码详情的内容 |
|
|
|
|
* |
|
|
|
|
* @param responseStationOrderVo |
|
|
|
|
*/ |
|
|
|
|
private void staorderPackageInfo (ResponseStationOrderVo responseStationOrderVo){ |
|
|
|
|
responseStationOrderVo.getData().forEach(responseStationOrderInfoVo -> { |
|
|
|
|
ResponseStaorderPackagesVo responseStaorderPackagesVo = orderPackageInfo(responseStationOrderInfoVo.getTC_WLB005(), null, responseStationOrderInfoVo.getTC_WLA001()); |
|
|
|
|
if (responseStaorderPackagesVo.getCode() == 0) { |
|
|
|
|
responseStationOrderInfoVo.setPACKAGE_LIST(responseStaorderPackagesVo.getData()); |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
} |
|
|
|
|
/** |
|
|
|
|
* 检查订单中存在的需要请求包条码详情的内容 |
|
|
|
|
* |
|
|
|
|
* @param responseStationOrderVo |
|
|
|
|
*/ |
|
|
|
|
private void staorderPackageInfo (ResponseStationOrderVo responseStationOrderVo){ |
|
|
|
|
responseStationOrderVo.getData().forEach(responseStationOrderInfoVo -> { |
|
|
|
|
ResponseStaorderPackagesVo responseStaorderPackagesVo = orderPackageInfo(responseStationOrderInfoVo.getTC_WLB005(), null, responseStationOrderInfoVo.getTC_WLA001()); |
|
|
|
|
if (responseStaorderPackagesVo.getCode() == 0) { |
|
|
|
|
responseStationOrderInfoVo.setPACKAGE_LIST(responseStaorderPackagesVo.getData()); |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 加密顺序:privateKey + data + publicKey + timestamp + publicKey + privateKey 加密方式:MD5 |
|
|
|
|
* |
|
|
|
|
* @return |
|
|
|
|
*/ |
|
|
|
|
private String makeSystemSign (RequestSecBaseVo requestlLneNumberVo, Date date) throws |
|
|
|
|
/** |
|
|
|
|
* 加密顺序:privateKey + data + publicKey + timestamp + publicKey + privateKey 加密方式:MD5 |
|
|
|
|
* |
|
|
|
|
* @return |
|
|
|
|
*/ |
|
|
|
|
private String makeSystemSign (RequestSecBaseVo requestlLneNumberVo, Date date) throws |
|
|
|
|
NoSuchFieldException, IllegalAccessException { |
|
|
|
|
|
|
|
|
|
StringBuffer md5Source = new StringBuffer(); |
|
|
|
|
StringBuffer md5Source = new StringBuffer(); |
|
|
|
|
|
|
|
|
|
JSONObject json = new JSONObject(); |
|
|
|
|
JSONObject json = new JSONObject(); |
|
|
|
|
|
|
|
|
|
Class classTemp = null; |
|
|
|
|
if (requestlLneNumberVo instanceof RequestLineNumberVo) { |
|
|
|
|
classTemp = RequestLineNumberVo.class; |
|
|
|
|
} else if (requestlLneNumberVo instanceof RequestOrderPackageInfoVo) { |
|
|
|
|
classTemp = RequestOrderPackageInfoVo.class; |
|
|
|
|
} |
|
|
|
|
Class classTemp = null; |
|
|
|
|
if (requestlLneNumberVo instanceof RequestLineNumberVo) { |
|
|
|
|
classTemp = RequestLineNumberVo.class; |
|
|
|
|
} else if (requestlLneNumberVo instanceof RequestOrderPackageInfoVo) { |
|
|
|
|
classTemp = RequestOrderPackageInfoVo.class; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
Field[] declaredFields = classTemp.getDeclaredFields(); |
|
|
|
|
Field[] declaredFields = classTemp.getDeclaredFields(); |
|
|
|
|
|
|
|
|
|
for (Field f : declaredFields) { |
|
|
|
|
String fieldName = f.getName(); // 取出实体类中的属性名称
|
|
|
|
|
Field declared = classTemp.getDeclaredField(fieldName); // 取出实体类中属性信息
|
|
|
|
|
declared.setAccessible(true); //抑制java语言访问检查,反射访问private访问权限的属性值
|
|
|
|
|
Object value = declared.get(requestlLneNumberVo); // 获取实体类中属性的值
|
|
|
|
|
if (!ObjectUtils.isEmpty(value)) { |
|
|
|
|
json.put(fieldName, value); |
|
|
|
|
} |
|
|
|
|
for (Field f : declaredFields) { |
|
|
|
|
String fieldName = f.getName(); // 取出实体类中的属性名称
|
|
|
|
|
Field declared = classTemp.getDeclaredField(fieldName); // 取出实体类中属性信息
|
|
|
|
|
declared.setAccessible(true); //抑制java语言访问检查,反射访问private访问权限的属性值
|
|
|
|
|
Object value = declared.get(requestlLneNumberVo); // 获取实体类中属性的值
|
|
|
|
|
if (!ObjectUtils.isEmpty(value)) { |
|
|
|
|
json.put(fieldName, value); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
md5Source.append(factorySnmdataProperties.getPrivateKey()).append(json.toJSONString()).append(date.getTime()).append(factorySnmdataProperties.getPublicKey()).append(factorySnmdataProperties.getPrivateKey()); |
|
|
|
|
String md5 = null; |
|
|
|
|
try { |
|
|
|
|
md5 = DigestUtils.md5DigestAsHex(md5Source.toString().getBytes("utf-8")); |
|
|
|
|
} catch (UnsupportedEncodingException e) { |
|
|
|
|
|
|
|
|
|
e.printStackTrace(); |
|
|
|
|
} |
|
|
|
|
return md5; |
|
|
|
|
md5Source.append(factorySnmdataProperties.getPrivateKey()).append(json.toJSONString()).append(date.getTime()).append(factorySnmdataProperties.getPublicKey()).append(factorySnmdataProperties.getPrivateKey()); |
|
|
|
|
String md5 = null; |
|
|
|
|
try { |
|
|
|
|
md5 = DigestUtils.md5DigestAsHex(md5Source.toString().getBytes("utf-8")); |
|
|
|
|
} catch (UnsupportedEncodingException e) { |
|
|
|
|
|
|
|
|
|
e.printStackTrace(); |
|
|
|
|
} |
|
|
|
|
return md5; |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|