Commit f61e8f8e by 王世昌

订单状态埋点监控查询

parent c2c10cf5
......@@ -3624,7 +3624,7 @@ public class OrderSdkAdapter {
OrderStateInfoResp orderStateInfoResp = new OrderStateInfoResp();
orderStateInfoResp.setErrcode(Integer.parseInt(orderInfo.getCode()));
orderStateInfoResp.setErrmsg(orderInfo.getMessage());
if (Objects.isNull(orderInfo.getResult()) || StringUtils.isBlank(orderInfo.getResult().getOrderCode())) {
if (!Objects.equals(ResponseCodeConstant.RESPONSE_SUCCESS_STR, orderInfo.getCode()) || Objects.isNull(orderInfo.getResult()) || StringUtils.isBlank(orderInfo.getResult().getOrderCode())) {
return orderStateInfoResp;
}
OrderInfoReqs orderInfoReqs = orderInfo.getResult();
......@@ -3633,9 +3633,20 @@ public class OrderSdkAdapter {
info.setOrderState(orderInfoReqs.getOrderState());
info.setAfterSalesState(orderInfoReqs.getAfterSalesState());
info.setPayState(orderInfoReqs.getPayState());
info.setOrderOperationHistoryList(Lists.newArrayList());
orderStateInfoResp.setData();
info.setOrderOperationHistoryList(orderInfoReqs.getOrderOperationHistoryList());
// 获取当前状态最后一条匹配的操作时间
if (CollectionUtils.isNotEmpty(orderInfoReqs.getOrderOperationHistoryList())) {
List<OrderOperationHistoryResp> historyList = orderInfoReqs.getOrderOperationHistoryList();
for (int i = historyList.size() - 1; i <= 0; i--) {
OrderOperationHistoryResp historyResp = historyList.get(i);
if (Objects.equals(historyResp.getTargetOrderState(), orderInfoReqs.getOrderState())) {
info.setStateUpdateTimestamp(historyResp.getUpdateTimestamp());
info.setStateTimeout(historyResp.getStateTimeout());
break;
}
}
}
orderStateInfoResp.setData(info);
return orderStateInfoResp;
}
}
......@@ -38,6 +38,7 @@ public class OrderReportController {
/**
* 订单状态监控查询
* <p>用于提供给监控系统查询</p>
*
* @param queryResp 查询参数
* @return {@link BaseResponse< OrderStateMonitorInfoVo >}
......
......@@ -26,7 +26,7 @@ public class OrderStateMonitorInfoVo implements Serializable {
/**
* 订单状态
*/
private Byte orderState;
private Integer orderState;
/**
* 状态超时时间
......
......@@ -4486,17 +4486,24 @@ public class OrderServiceImpl implements Orderservice {
BaseQueryOrderRequest request = new BaseQueryOrderRequest();
request.setOrderId(orderCode);
request.setPartnerId(partnerId);
if (Objects.nonNull(orderClient) && !Objects.equals(orderClient,0) ){
if (Objects.nonNull(orderClient) && !Objects.equals(orderClient, 0)) {
request.setOrderClient(orderClient.toString());
}
// 实时查询,暂时不查询es
OrderStateInfoResp response = orderCenterSdkService.queryOrderStateInfo(orderCode,partnerId,orderClient,LogThreadLocal.getTrackingNo());
if (Objects.isNull(response) || !Objects.equals(RESPONSE_SUCCESS_CODE,response.getErrcode()) || response.getData() == null) {
OrderStateInfoResp response = orderCenterSdkService.queryOrderStateInfo(orderCode, partnerId, orderClient, LogThreadLocal.getTrackingNo());
if (Objects.isNull(response) || !Objects.equals(RESPONSE_SUCCESS_CODE, response.getErrcode()) || response.getData() == null) {
LogUtil.info("订单详情实时查询错误,queryOrderStateInfoResp,", response, "");
return ResponseUtil.error(ResponseResult.ORDER_QUERYORDER_ERROR);
}
return null;
OrderStateMonitorInfoVo infoVo = new OrderStateMonitorInfoVo();
infoVo.setOrderCode(response.getData().getOrderCode());
infoVo.setOrderState(response.getData().getOrderState());
infoVo.setStateTimeout(response.getData().getStateTimeout());
infoVo.setNeedMonitor(Objects.equals(response.getData().getStateTimeout(), 0L));
infoVo.setUpdateTimestamp(response.getData().getStateUpdateTimestamp());
return ResponseUtil.success(infoVo);
}
......
......@@ -28,7 +28,7 @@ public class OrderStateInfoResp implements Serializable {
private OrderStateInfo data;
@Data
public static class OrderStateInfo{
public static class OrderStateInfo {
/**
* 订单编号
*/
......@@ -56,6 +56,26 @@ public class OrderStateInfoResp implements Serializable {
private List<OrderOperationHistoryResp> orderOperationHistoryList;
/**
* 状态更新时间戳
*/
private Long stateUpdateTimestamp;
/**
* 状态超时时间 单位:秒
*/
private Long stateTimeout;
public Long getStateUpdateTimestamp() {
return Objects.isNull(stateUpdateTimestamp) ? 0 : stateUpdateTimestamp;
}
public Long getStateTimeout() {
return Objects.isNull(stateTimeout) ? 0 : stateTimeout;
}
private List<OrderOperationHistoryResp> getOrderOperationHistoryList() {
return Objects.isNull(this.orderOperationHistoryList) ? Collections.emptyList() : orderOperationHistoryList;
}
......@@ -68,5 +88,4 @@ public class OrderStateInfoResp implements Serializable {
}
}
......@@ -40,4 +40,19 @@ public class OrderOperationHistoryResp {
*/
private String operator;
/**
* 原状态
*/
private Integer originOrderState;
/**
* 目标状态
*/
private Integer targetOrderState;
/**
* 状态超时时间 单位:秒
*/
private Long stateTimeout;
}
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