Commit 0e26f79a by vega

fix:orderSdk:queryRelatedOrderByCode方法改为手动反序列号

parent cdab2f73
package com.freemud.application.sdk.api.ordercenter.service;
import com.alibaba.fastjson.JSON;
import com.freemud.application.sdk.api.base.BaseRequest;
import com.freemud.application.sdk.api.ordercenter.config.OrderCenterProperties;
import com.freemud.application.sdk.api.ordercenter.constant.InterfaceAddressConstant;
import com.freemud.application.sdk.api.ordercenter.constant.ResponseConstant;
import com.freemud.application.sdk.api.ordercenter.enums.ResponseResultEnum;
import com.freemud.application.sdk.api.ordercenter.request.*;
import com.freemud.application.sdk.api.ordercenter.request.carpark.ParkingOrderAffirmReq;
......@@ -20,12 +22,14 @@ import com.freemud.application.sdk.api.ordercenter.util.ResponseUtil;
import com.freemud.application.sdk.api.util.RequestThirdPartyUtils;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.core.ParameterizedTypeReference;
import org.springframework.stereotype.Service;
import org.springframework.web.client.RestTemplate;
import java.util.Collections;
import java.util.List;
import java.util.Objects;
......@@ -604,9 +608,24 @@ public class OrderSdkService {
return ResponseUtil.error(ResponseResultEnum.ORDER_TRANS_ID_IS_NULL);
}
String urlString = InterfaceAddressConstant.QUERY_RELATED_ORDER_BY_CODE + "?orderCode=" + request.getOrderCode();
OrderBaseResp<List<OrderInfoReqs>> responseDTO = RequestThirdPartyUtils.httpGetReqComplex(restTemplate, urlString,
createBaseRequest(null, trackingNo), new ParameterizedTypeReference<OrderBaseResp<List<OrderInfoReqs>>>() {});
return responseHandle(responseDTO);
OrderBaseResp responseDTO = RequestThirdPartyUtils.httpGetReqComplex(restTemplate, urlString,
createBaseRequest(null, trackingNo), new ParameterizedTypeReference<OrderBaseResp>() {});
// 1.9.37 fix 原本使用自带序列化成list时如果基础服务查询失败返回object会抛异常,所以改成手动操作
OrderBaseResp<List<OrderInfoReqs>> resp;
if (Objects.isNull(responseDTO)) {
resp = null;
} else {
List<OrderInfoReqs> result;
if (Objects.equals(ResponseConstant.SUCCESS_RESPONSE_CODE, responseDTO.getCode())) {
result = JSON.parseArray(Objects.toString(responseDTO.getResult(), "[]"), OrderInfoReqs.class);
} else {
result = Collections.emptyList();
}
resp = new OrderBaseResp<>();
BeanUtils.copyProperties(responseDTO, resp, "result");
resp.setResult(result);
}
return responseHandle(resp);
}
private <T> BaseRequest<T> createBaseRequest(T req, String trackingNo) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment