Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
O
order-group
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
order-group-application
order-group
Commits
975c457a
Commit
975c457a
authored
Feb 22, 2021
by
hanghang.wang
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/feature/20210129_【订单服务】订单详情信息接口对接配送返回骑手信息_wanghanghang'
parents
4e872244
9c6962d5
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
200 additions
and
16 deletions
+200
-16
assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/response/order/QueryOrdersResponse.java
+50
-1
order-application-service/src/main/java/cn/freemud/entities/dto/delivery/DeliveryStatusAndRiderPositionDto.java
+42
-0
order-application-service/src/main/java/cn/freemud/entities/dto/delivery/QueryDeliveryBaseRequest.java
+11
-0
order-application-service/src/main/java/cn/freemud/entities/vo/OrderRiderResponseVo.java
+12
-2
order-application-service/src/main/java/cn/freemud/enums/ResponseResult.java
+1
-1
order-application-service/src/main/java/cn/freemud/service/impl/OrderServiceImpl.java
+84
-12
No files found.
assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/response/order/QueryOrdersResponse.java
View file @
975c457a
...
...
@@ -437,11 +437,60 @@ public class QueryOrdersResponse {
*/
private
Integer
deliverStatus
;
private
String
extInfo
;
/**
* 下方字段需求来源:C端小程序配送显示骑手、商家坐标地图、配送距离以及骑手姓名电话,支持直接拨打
* wanghanghang
* 20210129
*/
/**
* 骑手姓名
*/
private
String
RiderName
;
/**
* 骑手电话
*/
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
...
...
order-application-service/src/main/java/cn/freemud/entities/dto/delivery/DeliveryStatusAndRiderPositionDto.java
View file @
975c457a
...
...
@@ -20,6 +20,12 @@ public class DeliveryStatusAndRiderPositionDto {
* 门店经纬度
*/
private
String
storePoint
;
/**
* 目的地经纬度
*/
private
String
destPoint
;
/**
* 配送状态
*/
...
...
@@ -33,4 +39,40 @@ public class DeliveryStatusAndRiderPositionDto {
*/
private
String
storePhone
;
/**
* 骑手姓名
*/
private
String
riderName
;
/**
* 骑手电话
*/
private
String
riderPhone
;
/**
* 签收时间 送达时间 收货时间
*/
private
String
receiveTime
;
/**
* 骑手分配时间
*/
private
String
depatchTime
;
/**
* 到店时间
*/
private
String
arriveShopTime
;
/**
* 送出时间
*/
private
String
sendTime
;
/**
* 完成时间
*/
private
String
completeTime
;
}
order-application-service/src/main/java/cn/freemud/entities/dto/delivery/QueryDeliveryBaseRequest.java
View file @
975c457a
...
...
@@ -2,8 +2,19 @@ package cn.freemud.entities.dto.delivery;
import
lombok.Data
;
/**
* @author wanghanghang
*/
@Data
public
class
QueryDeliveryBaseRequest
{
/**
* 配送单id
*/
private
String
deliveryId
;
/**
* 是否开启线路规划查询
*/
private
Integer
openDistance
;
}
order-application-service/src/main/java/cn/freemud/entities/vo/OrderRiderResponseVo.java
View file @
975c457a
...
...
@@ -31,11 +31,11 @@ public class OrderRiderResponseVo {
/**
* 用户经度
*/
private
String
user
Longitude
;
private
String
dest
Longitude
;
/**
* 用户纬度
*/
private
String
user
Latitude
;
private
String
dest
Latitude
;
/**
* 门店经度
*/
...
...
@@ -56,6 +56,16 @@ public class OrderRiderResponseVo {
* 操作日志
*/
private
List
<
Operation
>
operationList
;
/**
* 骑手姓名
*/
private
String
RiderName
;
/**
* 骑手电话
*/
private
String
RiderPhone
;
@Data
public
static
class
Operation
{
private
String
createTime
;
...
...
order-application-service/src/main/java/cn/freemud/enums/ResponseResult.java
View file @
975c457a
...
...
@@ -218,7 +218,7 @@ public enum ResponseResult {
DELIVERY_QUERY_RIDER_STATUS_ERROR
(
"53014"
,
"订单状态不是配送中,不能查询骑手位置"
),
DELIVERY_REMINDER_ERROR
(
"53015"
,
"催单失败"
),
DELIVERY_QUERY_RIDER_ERROR
(
"53016"
,
"查询骑手位置失败"
),
DELIVERY_NOT_EXIST
(
"53017"
,
"当前订单
不是
没有配送单"
),
DELIVERY_NOT_EXIST
(
"53017"
,
"当前订单没有配送单"
),
/**
* 配送信息
...
...
order-application-service/src/main/java/cn/freemud/service/impl/OrderServiceImpl.java
View file @
975c457a
...
...
@@ -1314,7 +1314,7 @@ public class OrderServiceImpl implements Orderservice {
return
ResponseUtil
.
error
(
ResponseResult
.
ORDER_QUERYORDER_ERROR
);
}
QueryOrdersResponse
.
DataBean
.
OrderBean
orderBean
=
response
.
getData
();
if
(
!
StringUtils
.
isNot
Empty
(
orderBean
.
getAddInfo
().
getDeliveryId
())
||
"0"
.
equals
(
orderBean
.
getAddInfo
().
getDeliveryId
()))
{
if
(
orderBean
==
null
||
orderBean
.
getAddInfo
()
==
null
||
StringUtils
.
is
Empty
(
orderBean
.
getAddInfo
().
getDeliveryId
())
||
"0"
.
equals
(
orderBean
.
getAddInfo
().
getDeliveryId
()))
{
return
ResponseUtil
.
error
(
ResponseResult
.
DELIVERY_NOT_EXIST
);
}
QueryDeliveryBaseRequest
queryDeliveryBaseRequest
=
new
QueryDeliveryBaseRequest
();
...
...
@@ -1337,18 +1337,24 @@ public class OrderServiceImpl implements Orderservice {
responseVo
.
setOperationList
(
operationList
);
responseVo
.
setOrderId
(
orderBean
.
getOid
());
responseVo
.
setStorePhone
(
deliveryBaseResponse
.
getData
().
getStorePhone
());
responseVo
.
setRiderName
(
deliveryBaseResponse
.
getData
().
getRiderName
());
responseVo
.
setRiderPhone
(
deliveryBaseResponse
.
getData
().
getRiderPhone
());
if
(
deliveryBaseResponse
.
getData
().
getCurrentPoint
()
!=
null
)
{
String
currentPoint
[]
=
deliveryBaseResponse
.
getData
().
getCurrentPoint
().
split
(
","
);
String
[]
currentPoint
=
deliveryBaseResponse
.
getData
().
getCurrentPoint
().
split
(
","
);
responseVo
.
setRiderLongitude
(
currentPoint
[
0
]);
responseVo
.
setRiderLatitude
(
currentPoint
[
1
]);
}
if
(
deliveryBaseResponse
.
getData
().
getStorePoint
()
!=
null
)
{
String
storePoint
[]
=
deliveryBaseResponse
.
getData
().
getStorePoint
().
split
(
","
);
String
[]
storePoint
=
deliveryBaseResponse
.
getData
().
getStorePoint
().
split
(
","
);
responseVo
.
setShopLongitude
(
storePoint
[
0
]);
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
.
setDeliveryId
(
deliveryBaseResponse
.
getData
().
getDeliveryId
());
responseVo
.
setDevlieryStatus
(
deliveryBaseResponse
.
getData
().
getDevlieryStatus
());
...
...
@@ -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
)
{
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
());
// String trackingNo = LogTreadLocal.getTrackingNo();
QueryDeliveryBaseRequest
queryDeliveryBaseRequest
=
new
QueryDeliveryBaseRequest
();
queryDeliveryBaseRequest
.
setDeliveryId
(
deliveryId
);
queryDeliveryBaseRequest
.
setOpenDistance
(
1
);
//变更查询配送信息换新接口 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
.
setRiderPhone
(
result
.
getRiderPhone
());
orderBean
.
setReceiveTime
(
result
.
getReceiveTime
());
...
...
@@ -1751,10 +1789,44 @@ public class OrderServiceImpl implements Orderservice {
orderBean
.
setArriveShopTime
(
result
.
getArriveShopTime
());
orderBean
.
setSendTime
(
result
.
getSendTime
());
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
());
}
}
/**
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment