Commit 975c457a by hanghang.wang

Merge remote-tracking branch 'origin/feature/20210129_【订单服务】订单详情信息接口对接配送返回骑手信息_wanghanghang'

parents 4e872244 9c6962d5
...@@ -437,11 +437,60 @@ public class QueryOrdersResponse { ...@@ -437,11 +437,60 @@ public class QueryOrdersResponse {
*/ */
private Integer deliverStatus; private Integer deliverStatus;
private String extInfo;
/**
* 下方字段需求来源:C端小程序配送显示骑手、商家坐标地图、配送距离以及骑手姓名电话,支持直接拨打
* wanghanghang
* 20210129
*/
/**
* 骑手姓名
*/
private String RiderName; private String RiderName;
/**
* 骑手电话
*/
private String RiderPhone; private String RiderPhone;
/**
* 订单号
*/
private String orderId;
/**
* 门店联系电话
*/
private String storePhone;
/**
* 骑手经度
*/
private String riderLongitude;
/**
* 骑手纬度
*/
private String riderLatitude;
/**
* 用户经度
*/
private String destLongitude;
/**
* 用户纬度
*/
private String destLatitude;
/**
* 门店经度
*/
private String shopLongitude;
/**
* 门店纬度
*/
private String shopLatitude;
private String extInfo; /**
* 距离
*/
private Integer distance;
} }
@NoArgsConstructor @NoArgsConstructor
......
...@@ -20,6 +20,12 @@ public class DeliveryStatusAndRiderPositionDto { ...@@ -20,6 +20,12 @@ public class DeliveryStatusAndRiderPositionDto {
* 门店经纬度 * 门店经纬度
*/ */
private String storePoint; private String storePoint;
/**
* 目的地经纬度
*/
private String destPoint;
/** /**
* 配送状态 * 配送状态
*/ */
...@@ -33,4 +39,40 @@ public class DeliveryStatusAndRiderPositionDto { ...@@ -33,4 +39,40 @@ public class DeliveryStatusAndRiderPositionDto {
*/ */
private String storePhone; private String storePhone;
/**
* 骑手姓名
*/
private String riderName;
/**
* 骑手电话
*/
private String riderPhone;
/**
* 签收时间 送达时间 收货时间
*/
private String receiveTime;
/**
* 骑手分配时间
*/
private String depatchTime;
/**
* 到店时间
*/
private String arriveShopTime;
/**
* 送出时间
*/
private String sendTime;
/**
* 完成时间
*/
private String completeTime;
} }
...@@ -2,8 +2,19 @@ package cn.freemud.entities.dto.delivery; ...@@ -2,8 +2,19 @@ package cn.freemud.entities.dto.delivery;
import lombok.Data; import lombok.Data;
/**
* @author wanghanghang
*/
@Data @Data
public class QueryDeliveryBaseRequest { public class QueryDeliveryBaseRequest {
/**
* 配送单id
*/
private String deliveryId; private String deliveryId;
/**
* 是否开启线路规划查询
*/
private Integer openDistance; private Integer openDistance;
} }
...@@ -31,11 +31,11 @@ public class OrderRiderResponseVo { ...@@ -31,11 +31,11 @@ public class OrderRiderResponseVo {
/** /**
* 用户经度 * 用户经度
*/ */
private String userLongitude; private String destLongitude;
/** /**
* 用户纬度 * 用户纬度
*/ */
private String userLatitude; private String destLatitude;
/** /**
* 门店经度 * 门店经度
*/ */
...@@ -56,6 +56,16 @@ public class OrderRiderResponseVo { ...@@ -56,6 +56,16 @@ public class OrderRiderResponseVo {
* 操作日志 * 操作日志
*/ */
private List<Operation> operationList; private List<Operation> operationList;
/**
* 骑手姓名
*/
private String RiderName;
/**
* 骑手电话
*/
private String RiderPhone;
@Data @Data
public static class Operation{ public static class Operation{
private String createTime; private String createTime;
......
...@@ -218,7 +218,7 @@ public enum ResponseResult { ...@@ -218,7 +218,7 @@ public enum ResponseResult {
DELIVERY_QUERY_RIDER_STATUS_ERROR("53014", "订单状态不是配送中,不能查询骑手位置"), DELIVERY_QUERY_RIDER_STATUS_ERROR("53014", "订单状态不是配送中,不能查询骑手位置"),
DELIVERY_REMINDER_ERROR("53015","催单失败"), DELIVERY_REMINDER_ERROR("53015","催单失败"),
DELIVERY_QUERY_RIDER_ERROR("53016","查询骑手位置失败"), DELIVERY_QUERY_RIDER_ERROR("53016","查询骑手位置失败"),
DELIVERY_NOT_EXIST("53017","当前订单不是没有配送单"), DELIVERY_NOT_EXIST("53017","当前订单没有配送单"),
/** /**
* 配送信息 * 配送信息
......
...@@ -1314,7 +1314,7 @@ public class OrderServiceImpl implements Orderservice { ...@@ -1314,7 +1314,7 @@ public class OrderServiceImpl implements Orderservice {
return ResponseUtil.error(ResponseResult.ORDER_QUERYORDER_ERROR); return ResponseUtil.error(ResponseResult.ORDER_QUERYORDER_ERROR);
} }
QueryOrdersResponse.DataBean.OrderBean orderBean = response.getData(); QueryOrdersResponse.DataBean.OrderBean orderBean = response.getData();
if (!StringUtils.isNotEmpty(orderBean.getAddInfo().getDeliveryId()) || "0".equals(orderBean.getAddInfo().getDeliveryId())) { if (orderBean == null || orderBean.getAddInfo() == null || StringUtils.isEmpty(orderBean.getAddInfo().getDeliveryId()) || "0".equals(orderBean.getAddInfo().getDeliveryId())) {
return ResponseUtil.error(ResponseResult.DELIVERY_NOT_EXIST); return ResponseUtil.error(ResponseResult.DELIVERY_NOT_EXIST);
} }
QueryDeliveryBaseRequest queryDeliveryBaseRequest = new QueryDeliveryBaseRequest(); QueryDeliveryBaseRequest queryDeliveryBaseRequest = new QueryDeliveryBaseRequest();
...@@ -1337,18 +1337,24 @@ public class OrderServiceImpl implements Orderservice { ...@@ -1337,18 +1337,24 @@ public class OrderServiceImpl implements Orderservice {
responseVo.setOperationList(operationList); responseVo.setOperationList(operationList);
responseVo.setOrderId(orderBean.getOid()); responseVo.setOrderId(orderBean.getOid());
responseVo.setStorePhone(deliveryBaseResponse.getData().getStorePhone()); responseVo.setStorePhone(deliveryBaseResponse.getData().getStorePhone());
responseVo.setRiderName(deliveryBaseResponse.getData().getRiderName());
responseVo.setRiderPhone(deliveryBaseResponse.getData().getRiderPhone());
if (deliveryBaseResponse.getData().getCurrentPoint() != null) { if (deliveryBaseResponse.getData().getCurrentPoint() != null) {
String currentPoint[] = deliveryBaseResponse.getData().getCurrentPoint().split(","); String[] currentPoint = deliveryBaseResponse.getData().getCurrentPoint().split(",");
responseVo.setRiderLongitude(currentPoint[0]); responseVo.setRiderLongitude(currentPoint[0]);
responseVo.setRiderLatitude(currentPoint[1]); responseVo.setRiderLatitude(currentPoint[1]);
} }
if (deliveryBaseResponse.getData().getStorePoint() != null) { if (deliveryBaseResponse.getData().getStorePoint() != null) {
String storePoint[] = deliveryBaseResponse.getData().getStorePoint().split(","); String[] storePoint = deliveryBaseResponse.getData().getStorePoint().split(",");
responseVo.setShopLongitude(storePoint[0]); responseVo.setShopLongitude(storePoint[0]);
responseVo.setShopLatitude(storePoint[1]); responseVo.setShopLatitude(storePoint[1]);
} }
responseVo.setUserLongitude(String.valueOf(orderBean.getLongitude())); //用户经纬度,改为从配送返回信息获取
responseVo.setUserLatitude(String.valueOf(orderBean.getLatitude())); if (deliveryBaseResponse.getData().getDestPoint() != null) {
String[] destPoint = deliveryBaseResponse.getData().getDestPoint().split(",");
responseVo.setDestLongitude(destPoint[0]);
responseVo.setDestLatitude(destPoint[1]);
}
responseVo.setDistance(deliveryBaseResponse.getData().getDistance()); responseVo.setDistance(deliveryBaseResponse.getData().getDistance());
responseVo.setDeliveryId(deliveryBaseResponse.getData().getDeliveryId()); responseVo.setDeliveryId(deliveryBaseResponse.getData().getDeliveryId());
responseVo.setDevlieryStatus(deliveryBaseResponse.getData().getDevlieryStatus()); responseVo.setDevlieryStatus(deliveryBaseResponse.getData().getDevlieryStatus());
...@@ -1734,16 +1740,48 @@ public class OrderServiceImpl implements Orderservice { ...@@ -1734,16 +1740,48 @@ public class OrderServiceImpl implements Orderservice {
/** /**
* 如果有第三方配送,返回值添加第三方配送信息 * 如果有第三方配送,返回值添加第三方配送信息
*/ */
// private void hasThirdDelivery(QueryOrdersResponse.DataBean.OrderBean orderBean) {
// String deliveryId = orderBean.getAddInfo().getDeliveryId();
// if ("0".equals(deliveryId)) {
// return;
// }
// String trackingNo = LogTreadLocal.getTrackingNo();
// DeliveryResponseDto<DeliveryInfoDto> delivery = deliveryService.deliveryOrderOne(deliveryId, trackingNo);
// if (RESPONSE_SUCCESS_CODE == delivery.getCode() && delivery.getData() != null) {
// DeliveryInfoDto result = delivery.getData();
// orderBean.setDeliverStatus(result.getDeliveryStatus());
// orderBean.setRiderName(result.getRiderName());
// orderBean.setRiderPhone(result.getRiderPhone());
// orderBean.setReceiveTime(result.getReceiveTime());
// orderBean.setDepatchTime(result.getDepatchTime());
// orderBean.setArriveShopTime(result.getArriveShopTime());
// orderBean.setSendTime(result.getSendTime());
// orderBean.setCompleteTime(result.getCompleteTime());
// }
// if (orderBean.getAddInfo() != null && StringUtils.isNotEmpty(orderBean.getAddInfo().getRiderPhone())) {
// orderBean.setRiderPhone(orderBean.getAddInfo().getRiderPhone());
// }
// }
/**
* 如果有第三方配送,返回值添加第三方配送信息
*/
private void hasThirdDelivery(QueryOrdersResponse.DataBean.OrderBean orderBean) { private void hasThirdDelivery(QueryOrdersResponse.DataBean.OrderBean orderBean) {
String deliveryId = orderBean.getAddInfo().getDeliveryId(); String deliveryId = orderBean.getAddInfo().getDeliveryId();
if ("0".equals(deliveryId)) { if ("0".equals(deliveryId)) {
return; return;
} }
String trackingNo = LogTreadLocal.getTrackingNo(); // String trackingNo = LogTreadLocal.getTrackingNo();
DeliveryResponseDto<DeliveryInfoDto> delivery = deliveryService.deliveryOrderOne(deliveryId, trackingNo); QueryDeliveryBaseRequest queryDeliveryBaseRequest = new QueryDeliveryBaseRequest();
if (RESPONSE_SUCCESS_CODE == delivery.getCode() && delivery.getData() != null) { queryDeliveryBaseRequest.setDeliveryId(deliveryId);
DeliveryInfoDto result = delivery.getData(); queryDeliveryBaseRequest.setOpenDistance(1);
orderBean.setDeliverStatus(result.getDeliveryStatus()); //变更查询配送信息换新接口 wanghanghang 20210129
//【ID1021981】C端小程序配送显示骑手、商家坐标地图、配送距离以及骑手姓名电话,支持直接拨打
DeliveryBaseResponse<DeliveryStatusAndRiderPositionDto> deliveryBaseResponse = deliveryFeiginClient.getDeliveryStatusAndRiderPosition(queryDeliveryBaseRequest);
// DeliveryResponseDto<DeliveryInfoDto> delivery = deliveryService.deliveryOrderOne(deliveryId, trackingNo);
if (RESPONSE_SUCCESS_CODE.equals(deliveryBaseResponse.getCode()) && deliveryBaseResponse.getData() != null) {
DeliveryStatusAndRiderPositionDto result = deliveryBaseResponse.getData();
orderBean.setDeliverStatus(result.getDevlieryStatus());
orderBean.setRiderName(result.getRiderName()); orderBean.setRiderName(result.getRiderName());
orderBean.setRiderPhone(result.getRiderPhone()); orderBean.setRiderPhone(result.getRiderPhone());
orderBean.setReceiveTime(result.getReceiveTime()); orderBean.setReceiveTime(result.getReceiveTime());
...@@ -1751,12 +1789,46 @@ public class OrderServiceImpl implements Orderservice { ...@@ -1751,12 +1789,46 @@ public class OrderServiceImpl implements Orderservice {
orderBean.setArriveShopTime(result.getArriveShopTime()); orderBean.setArriveShopTime(result.getArriveShopTime());
orderBean.setSendTime(result.getSendTime()); orderBean.setSendTime(result.getSendTime());
orderBean.setCompleteTime(result.getCompleteTime()); orderBean.setCompleteTime(result.getCompleteTime());
/** 只有配送状态是2 3 4 5时,返回三方坐标信息
* 此处如果是外卖单,则需要返回门店经纬度/用户经纬度/骑手经纬度
* 门店经纬度 = 配送返回信息为准,外卖单独新增门店经纬度字段,和配送信息接口统一 /queryOrderRider
* wanghanghang 20210129
*/
if(result.getDevlieryStatus().equals(DeliveryStatus.ALLOTRIDER.getCode()) ||
result.getDevlieryStatus().equals(DeliveryStatus.RIDERARRIVESTORE.getCode())||
result.getDevlieryStatus().equals(DeliveryStatus.RIDERGETMEAL.getCode())||
result.getDevlieryStatus().equals(DeliveryStatus.RIDERSTARTDELIVERY.getCode())
){
orderBean.getAddInfo().setDistance(deliveryBaseResponse.getData().getDistance());
orderBean.getAddInfo().setDeliverStatus(result.getDevlieryStatus());
orderBean.getAddInfo().setRiderName(result.getRiderName());
orderBean.getAddInfo().setRiderPhone(result.getRiderPhone());
orderBean.getAddInfo().setOrderId(orderBean.getOid());
orderBean.getAddInfo().setStorePhone(result.getStorePhone());
//门店经纬度
if (deliveryBaseResponse.getData().getStorePoint() != null) {
String[] storePoint = deliveryBaseResponse.getData().getStorePoint().split(",");
orderBean.getAddInfo().setShopLongitude(storePoint[0]);
orderBean.getAddInfo().setShopLatitude(storePoint[1]);
}
//骑手经纬度
if (deliveryBaseResponse.getData().getCurrentPoint() != null) {
String[] currentPoint = deliveryBaseResponse.getData().getCurrentPoint().split(",");
orderBean.getAddInfo().setRiderLongitude(currentPoint[0]);
orderBean.getAddInfo().setRiderLatitude(currentPoint[1]);
}
//用户经纬度
if (deliveryBaseResponse.getData().getDestPoint() != null) {
String[] destPoint = deliveryBaseResponse.getData().getDestPoint().split(",");
orderBean.getAddInfo().setDestLongitude(destPoint[0]);
orderBean.getAddInfo().setDestLatitude(destPoint[1]);
} }
if (orderBean.getAddInfo() != null && StringUtils.isNotEmpty(orderBean.getAddInfo().getRiderPhone())) {
orderBean.setRiderPhone(orderBean.getAddInfo().getRiderPhone());
} }
} }
}
/** /**
* 查询门店下有没有 裂变活动 * 查询门店下有没有 裂变活动
* *
......
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