@ -10,9 +10,11 @@ import com.logpm.factory.snm.dto.OrderInfoDTO;
import com.logpm.factory.snm.dto.OrderStatusDTO ;
import com.logpm.factory.snm.entity.PanFactoryOrder ;
import com.logpm.factory.snm.entity.PanOrderStatusLog ;
import com.logpm.factory.snm.entity.PanPackageInfo ;
import com.logpm.factory.snm.service.IPanFactoryDataService ;
import com.logpm.factory.snm.service.IPanFactoryOrderService ;
import com.logpm.factory.snm.service.IPanOrderStatusLogService ;
import com.logpm.factory.snm.service.IPanPackageInfoService ;
import lombok.AllArgsConstructor ;
import org.slf4j.Logger ;
import org.slf4j.LoggerFactory ;
@ -38,6 +40,7 @@ public class PanFactoryDataServiceImpl implements IPanFactoryDataService {
private final PanFactoryProperties panFactoryProperties ;
private final IPanOrderStatusLogService panOrderStatusLogService ;
private final IPanPackageInfoService panPackageInfoService ;
// @Override
// public FactoryTokenVO getToken(String corpId, String appKey, String appSecret) throws NoSuchAlgorithmException {
@ -110,36 +113,36 @@ public class PanFactoryDataServiceImpl implements IPanFactoryDataService {
String s = gson . toJson ( map ) ;
//先获取token
String panToken = getPanToken ( ) ;
// String panToken = getPanToken();
//
//请求参数
logger . info ( "##############handleData: 推送包件状态请求参数 {}" , s ) ;
//处理逻辑
//TODO 这里还差那边给到请求接口
String result = HttpRequest . post ( panFactoryProperties . getUrl ( ) + "" )
. header ( "Authorization" , "Bearer " + panToken )
. header ( "Content-Type" , "application/json" )
. body ( s ) . timeout ( 5 * 1000 )
. execute ( ) . body ( ) ;
logger . info ( "##############handleData: 推送包件状态返回参数 {}" , result ) ;
//把结果字符串转为json对象
JSONObject jsonObject = JSONObject . parseObject ( result ) ;
JSONObject payload = jsonObject . getJSONObject ( "payload" ) ;
if ( ! Objects . isNull ( payload ) ) {
Integer code = payload . getInteger ( "code" ) ;
String message = payload . getString ( "data" ) ;
if ( code . equals ( 1 ) ) {
logger . info ( "##########handleData: 物流状态传递成功" ) ;
panOrderStatusLog . setStatus ( 0 ) ;
panOrderStatusLogService . saveOrUpdate ( panOrderStatusLog ) ;
} else {
throw new CustomerException ( 400 , message ) ;
}
} else {
throw new CustomerException ( 400 , "返回格式有误:" + result ) ;
}
// //处理逻辑
// //TODO 这里还差那边给到请求接口
// String result = HttpRequest.post(panFactoryProperties.getUrl()+"/hitf/v1/rest/invoke?namespace=HZERO&serverCode=HUITONG_MID_RECEIVE")
// .header("Authorization","Bearer "+panToken)
// .header("Content-Type","application/json")
// .body(s).timeout(5 * 1000)
// .execute().body();
//
// logger.info( "##############handleData: 推送包件状态返回参数 {}",result);
//
// //把结果字符串转为json对象
// JSONObject jsonObject = JSONObject.parseObject(result);
// JSONObject payload = jsonObject.getJSONObject("payload");
// if(!Objects.isNull(payload)){
// Integer code = payload.getInteger("code");
// String message = payload.getString("data");
// if(code.equals(1)){
// logger.info( "##########handleData: 物流状态传递成功");
// panOrderStatusLog.setStatus(0);
// panOrderStatusLogService.saveOrUpdate(panOrderStatusLog);
// }else{
// throw new CustomerException(400,message);
// }
// }else{
// throw new CustomerException(400,"返回格式有误:"+result);
// }
}
@ -154,6 +157,22 @@ public class PanFactoryDataServiceImpl implements IPanFactoryDataService {
panOrderStatusLog . setType ( 2 ) ;
panOrderStatusLogService . save ( panOrderStatusLog ) ;
//通过包件码查询是否是要推送的订单
String unitNo = orderStatusDTO . getUnitNo ( ) ; //包件码
QueryWrapper < PanPackageInfo > packageInfoQueryWrapper = new QueryWrapper < > ( ) ;
packageInfoQueryWrapper . eq ( "unit_no" , unitNo ) ;
PanPackageInfo one = panPackageInfoService . getOne ( packageInfoQueryWrapper ) ;
if ( Objects . isNull ( one ) ) {
logger . info ( "#############handleStatusData: 当前包条码未找到对应数据unitNo={}" , unitNo ) ;
throw new CustomerException ( 400 , "未找到包件数据" ) ;
}
//判断数据是都已存在
if ( ! orderStatusDTO . verifyData ( ) ) {
logger . info ( "#############handleStatusData: 数据不齐全 orderStatusDTO={}" , orderStatusDTO ) ;
throw new CustomerException ( 400 , "数据不齐全" ) ;
}
//拼接参数
Map < String , Object > map = new HashMap < > ( ) ;
map . put ( "payload" , JSONObject . toJSONString ( orderStatusDTO ) ) ;
@ -161,36 +180,36 @@ public class PanFactoryDataServiceImpl implements IPanFactoryDataService {
Gson gson = new GsonBuilder ( ) . setPrettyPrinting ( ) . create ( ) ;
String s = gson . toJson ( map ) ;
//先获取token
String panToken = getPanToken ( ) ;
// //先获取token
// String panToken = getPanToken();
//
//请求参数
logger . info ( "##############handleStatusData: 推送包件状态请求参数 {}" , s ) ;
//处理逻辑
String result = HttpRequest . post ( panFactoryProperties . getUrl ( ) + "/hitf/v1/rest/invoke?namespace=HZERO&serverCode=OPEN&interfaceCode=HUITONG_RECEIVE" )
. header ( "Authorization" , "Bearer " + panToken )
. header ( "Content-Type" , "application/json" )
. body ( s ) . timeout ( 5 * 1000 )
. execute ( ) . body ( ) ;
logger . info ( "##############handleStatusData: 推送包件状态返回参数 {}" , result ) ;
//把结果字符串转为json对象
JSONObject jsonObject = JSONObject . parseObject ( result ) ;
JSONObject payload = jsonObject . getJSONObject ( "payload" ) ;
if ( ! Objects . isNull ( payload ) ) {
Integer code = payload . getInteger ( "code" ) ;
String message = payload . getString ( "data" ) ;
if ( code . equals ( 1 ) ) {
logger . info ( "##########handleStatusData: 物流状态传递成功" ) ;
panOrderStatusLog . setStatus ( 0 ) ;
panOrderStatusLogService . saveOrUpdate ( panOrderStatusLog ) ;
} else {
throw new CustomerException ( 400 , message ) ;
}
} else {
throw new CustomerException ( 400 , "返回格式有误:" + result ) ;
}
// //处理逻辑
// String result = HttpRequest.post(panFactoryProperties.getUrl()+ "/hitf/v1/rest/invoke?namespace=HZERO&serverCode=OPEN&interfaceCode=HUITONG_RECEIVE")
// .header("Authorization","Bearer "+panToken)
// .header("Content-Type","application/json")
// .body(s).timeout(5 * 1000)
// .execute().body();
//
// logger.info( "##############handleStatusData: 推送包件状态返回参数 {}",result);
//
// //把结果字符串转为json对象
// JSONObject jsonObject = JSONObject.parseObject(result);
// JSONObject payload = jsonObject.getJSONObject("payload");
// if(!Objects.isNull(payload)){
// Integer code = payload.getInteger("code");
// String message = payload.getString("data");
// if(code.equals(1)){
// logger.info( "##########handleStatusData: 物流状态传递成功");
// panOrderStatusLog.setStatus(0);
// panOrderStatusLogService.saveOrUpdate(panOrderStatusLog);
// }else{
// throw new CustomerException(400,message);
// }
// }else{
// throw new CustomerException(400,"返回格式有误:"+result);
// }
}