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
8c7a2977
Commit
8c7a2977
authored
Mar 30, 2021
by
ping.wu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
打印日志修改
parent
41e8d6cb
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
84 additions
and
81 deletions
+84
-81
order-application-service/src/main/java/cn/freemud/service/delivery/ThirdDeliveryServiceImpl.java
+64
-62
order-application-service/src/main/java/cn/freemud/service/impl/EncircleOrderServiceImpl.java
+1
-1
order-application-service/src/main/java/cn/freemud/service/impl/OrderServiceImpl.java
+18
-18
order-application-service/src/test/java/cn.freemud/client/StoreItemClientTest.java
+1
-0
No files found.
order-application-service/src/main/java/cn/freemud/service/delivery/ThirdDeliveryServiceImpl.java
View file @
8c7a2977
...
...
@@ -131,9 +131,8 @@ public class ThirdDeliveryServiceImpl implements ThirdDeliveryService {
requestDto
.
setRemark
(
request
.
getRemark
());
requestDto
.
setExceptionDesc
(
request
.
getExceptionDesc
());
requestDto
.
setExceptionId
(
request
.
getExceptionId
());
if
(
StringUtils
.
isNotBlank
(
request
.
getRemark
()))
{
requestDto
.
setRemark
(
"配送:"
+
request
.
getRemark
());
if
(
StringUtils
.
isNotBlank
(
request
.
getRemark
()))
{
requestDto
.
setRemark
(
"配送:"
+
request
.
getRemark
());
}
OrderBaseResponse
orderBaseResponseDto
=
orderCenterSdkService
.
updateDeliveryInfoById
(
requestDto
);
//订单服务修改配送单信息失败
...
...
@@ -151,25 +150,25 @@ public class ThirdDeliveryServiceImpl implements ThirdDeliveryService {
posBaseRequestDto
.
setRider_phone
(
request
.
getRiderPhone
());
posBaseRequestDto
.
setDelivery_status
(
DeliveryStatus
.
ALLOTRIDER
.
getCode
());
posBaseRequestDto
.
setPartner_id
(
partnerId
);
sendPosService
(
deliveryStatus
,
posBaseRequestDto
);
sendPosService
(
deliveryStatus
,
posBaseRequestDto
);
}
else
if
(
deliveryStatus
==
DeliveryStatus
.
RIDERGETMEAL
.
getCode
()
||
deliveryStatus
==
DeliveryStatus
.
RIDERSTARTDELIVERY
.
getCode
())
{
// 订单配送
posBaseRequestDto
.
setHorseman
(
true
);
sendPosService
(
deliveryStatus
,
posBaseRequestDto
);
sendPosService
(
deliveryStatus
,
posBaseRequestDto
);
}
else
if
(
deliveryStatus
==
DeliveryStatus
.
DELIVERYARRIVED
.
getCode
())
{
// 订单已完成
posBaseRequestDto
.
setHorseman
(
true
);
sendPosService
(
deliveryStatus
,
posBaseRequestDto
);
sendPosService
(
deliveryStatus
,
posBaseRequestDto
);
}
else
if
(
deliveryStatus
==
DeliveryStatus
.
DELIVERYERROR
.
getCode
()
||
deliveryStatus
==
DeliveryStatus
.
DELIVERYCANCEL
.
getCode
())
{
Integer
sendPosDeliveryStatus
;
if
(
deliveryStatus
==
DeliveryStatus
.
DELIVERYERROR
.
getCode
()){
if
(
deliveryStatus
==
DeliveryStatus
.
DELIVERYERROR
.
getCode
())
{
sendPosDeliveryStatus
=
71
;
}
else
{
sendPosDeliveryStatus
=
81
;
}
sendPosMessage
(
partnerId
,
storeCode
,
request
.
getOrderId
(),
sendPosDeliveryStatus
,
request
.
getRemark
());
//推送异常到生态
sendException
(
request
.
getOrderId
(),
request
.
getExceptionDesc
(),
request
.
getUpdateTime
(),
DeliveryStatus
.
getDeliveryStatusByCode
(
deliveryStatus
).
getDesc
());
sendException
(
request
.
getOrderId
(),
request
.
getExceptionDesc
(),
request
.
getUpdateTime
(),
DeliveryStatus
.
getDeliveryStatusByCode
(
deliveryStatus
).
getDesc
());
// 取消外卖中台配送单 订单异常
// 如果 "配送单异常并且顾客更改配送地址" 不取消配送单
// if (!isDeliveryAbnormalAndCustomerChangedAddress(request)) {
...
...
@@ -178,7 +177,7 @@ public class ThirdDeliveryServiceImpl implements ThirdDeliveryService {
// 运单异常,取消订单
posBaseRequestDto
.
setReason
(
"没有骑手接单"
);
posBaseRequestDto
.
setDeliveryId
(
request
.
getDeliveryId
());
sendPosService
(
deliveryStatus
,
posBaseRequestDto
);
sendPosService
(
deliveryStatus
,
posBaseRequestDto
);
}
// 订单配送状态变化时发送到MQ
...
...
@@ -187,7 +186,7 @@ public class ThirdDeliveryServiceImpl implements ThirdDeliveryService {
produceMQService
.
sendRocketMqOfDeliveryInfo
(
request
);
}
//配送订阅消息
sendMicroMessage
(
partnerId
,
request
.
getOrderId
(),
deliveryStatus
);
sendMicroMessage
(
partnerId
,
request
.
getOrderId
(),
deliveryStatus
);
// else {
// return ResponseUtil.error(ResponseResult.SYSTEM_ERROR.getCode(), "订单回调状态有误");
...
...
@@ -202,11 +201,11 @@ public class ThirdDeliveryServiceImpl implements ThirdDeliveryService {
*/
@Override
public
BaseResponse
macCafeCallbackUrl
(
MacCafeCallbackUrlRequestDto
request
)
{
OrderManagerRequest
orderManagerRequest
=
new
OrderManagerRequest
();
OrderManagerRequest
orderManagerRequest
=
new
OrderManagerRequest
();
orderManagerRequest
.
setPartnerId
(
request
.
getPartnerId
());
orderManagerRequest
.
setOrderId
(
request
.
getOrderId
());
if
(
"1"
.
equals
(
request
.
getCancelApplicant
()))
{
orderManagerRequest
.
setReason
(
StringUtils
.
isNotBlank
(
request
.
getCancelReason
())
?
request
.
getCancelReason
():
"餐道主动取消"
);
if
(
"1"
.
equals
(
request
.
getCancelApplicant
()))
{
orderManagerRequest
.
setReason
(
StringUtils
.
isNotBlank
(
request
.
getCancelReason
())
?
request
.
getCancelReason
()
:
"餐道主动取消"
);
}
else
{
orderManagerRequest
.
setReason
(
null
);
}
...
...
@@ -215,49 +214,49 @@ public class ThirdDeliveryServiceImpl implements ThirdDeliveryService {
Integer
reviewStatus
=
request
.
getReviewStatus
();
int
deliveryStatus
=
request
.
getDeliveryStatus
();
if
(
reviewStatus
!=
null
&&
reviewStatus
.
equals
(
DeliveryReviewStatus
.
AGREE
.
getCode
()))
{
if
(
reviewStatus
!=
null
&&
reviewStatus
.
equals
(
DeliveryReviewStatus
.
AGREE
.
getCode
()))
{
orderManagerRequest
.
setOperateType
(
OperateType
.
ORDER_AGREE_REFUND
.
getOpType
());
orderManagerRequest
.
setReason
(
"配送回调-同意退款"
);
return
orderManagerAdapter
.
orderPayRefund
(
orderManagerRequest
);
}
if
(
reviewStatus
!=
null
&&
reviewStatus
.
equals
(
DeliveryReviewStatus
.
REJECT
.
getCode
()))
{
if
(
reviewStatus
!=
null
&&
reviewStatus
.
equals
(
DeliveryReviewStatus
.
REJECT
.
getCode
()))
{
orderManagerRequest
.
setOperateType
(
OperateType
.
ORDER_REJECT_REFUND
.
getOpType
());
orderManagerRequest
.
setReason
(
"配送回调-拒绝退款"
);
return
orderManagerAdapter
.
mcCafeOrderRejectRefund
(
orderManagerRequest
);
}
if
(
deliveryStatus
==
DeliveryStatus
.
RIDERGETMEAL
.
getCode
()
||
deliveryStatus
==
DeliveryStatus
.
RIDERSTARTDELIVERY
.
getCode
()){
if
(
deliveryStatus
==
DeliveryStatus
.
RIDERGETMEAL
.
getCode
()
||
deliveryStatus
==
DeliveryStatus
.
RIDERSTARTDELIVERY
.
getCode
())
{
orderManagerRequest
.
setOperateType
(
OperateType
.
ORDER_SEND
.
getOpType
());
BaseResponse
<
OrderManagerResponse
>
baseResponse
=
orderManagerAdapter
.
orderDelivery
(
orderManagerRequest
);
if
(
ResponseConstant
.
SUCCESS_RESPONSE_CODE_STR
.
equals
(
baseResponse
.
getCode
()))
{
if
(
ResponseConstant
.
SUCCESS_RESPONSE_CODE_STR
.
equals
(
baseResponse
.
getCode
()))
{
updateDeliveryStatus
(
request
);
}
sendMcCafeMicroMessage
(
request
.
getPartnerId
(),
request
.
getOrderId
(),
request
.
getDeliveryStatus
());
return
baseResponse
;
}
else
if
(
deliveryStatus
==
DeliveryStatus
.
DELIVERYARRIVED
.
getCode
()
)
{
}
else
if
(
deliveryStatus
==
DeliveryStatus
.
DELIVERYARRIVED
.
getCode
()
)
{
orderManagerRequest
.
setOperateType
(
OperateType
.
ORDER_AFFIRM
.
getOpType
());
BaseResponse
<
OrderManagerResponse
>
baseResponse
=
orderManagerAdapter
.
orderAffirm
(
orderManagerRequest
,
null
);
if
(
ResponseConstant
.
SUCCESS_RESPONSE_CODE_STR
.
equals
(
baseResponse
.
getCode
()))
{
if
(
ResponseConstant
.
SUCCESS_RESPONSE_CODE_STR
.
equals
(
baseResponse
.
getCode
()))
{
updateDeliveryStatus
(
request
);
}
sendMcCafeMicroMessage
(
request
.
getPartnerId
(),
request
.
getOrderId
(),
request
.
getDeliveryStatus
());
return
baseResponse
;
}
else
if
(
deliveryStatus
==
DeliveryStatus
.
WATINGORDER
.
getCode
()
||
deliveryStatus
==
DeliveryStatus
.
SYSTEMGETORDER
.
getCode
()
||
deliveryStatus
==
DeliveryStatus
.
ALLOTRIDER
.
getCode
()||
deliveryStatus
==
DeliveryStatus
.
RIDERARRIVESTORE
.
getCode
())
{
}
else
if
(
deliveryStatus
==
DeliveryStatus
.
WATINGORDER
.
getCode
()
||
deliveryStatus
==
DeliveryStatus
.
SYSTEMGETORDER
.
getCode
()
||
deliveryStatus
==
DeliveryStatus
.
ALLOTRIDER
.
getCode
()
||
deliveryStatus
==
DeliveryStatus
.
RIDERARRIVESTORE
.
getCode
())
{
updateDeliveryStatus
(
request
);
return
ResponseUtil
.
success
();
}
else
if
(
deliveryStatus
==
DeliveryStatus
.
COLLECTING
.
getCode
())
{
}
else
if
(
deliveryStatus
==
DeliveryStatus
.
COLLECTING
.
getCode
())
{
//推送订单到拉单队列
OrderCollectReq
orderCollectReq
=
new
OrderCollectReq
();
orderCollectReq
.
setOrderCode
(
request
.
getOrderId
());
orderCollectReq
.
setPartnerId
(
request
.
getPartnerId
());
com
.
freemud
.
application
.
sdk
.
api
.
ordercenter
.
response
.
BaseResponse
baseResponse
=
orderSdkService
.
collectOrder
(
orderCollectReq
,
LogTreadLocal
.
getTrackingNo
());
if
(
ResponseConstant
.
SUCCESS_RESPONSE_CODE_STR
.
equals
(
baseResponse
.
getCode
()))
{
if
(
ResponseConstant
.
SUCCESS_RESPONSE_CODE_STR
.
equals
(
baseResponse
.
getCode
()))
{
ResponseUtil
.
error
(
ResponseResult
.
ORDER_COLLECT_FAILED
);
}
//回调成功,记录汇集状态
updateDeliveryStatus
(
request
);
return
ResponseUtil
.
success
();
}
else
if
(
deliveryStatus
==
DeliveryStatus
.
DELIVERYERROR
.
getCode
())
{
}
else
if
(
deliveryStatus
==
DeliveryStatus
.
DELIVERYERROR
.
getCode
())
{
AssortmentUpdateDeliveryAbnormalRequest
assortmentUpdateDeliveryAbnormalRequest
=
AssortmentUpdateDeliveryAbnormalRequest
.
builder
()
.
abnormalDesc
(
request
.
getRemark
())
.
deliveryId
(
request
.
getDeliveryId
())
...
...
@@ -276,10 +275,10 @@ public class ThirdDeliveryServiceImpl implements ThirdDeliveryService {
updateDeliveryInfoByIdRequest
.
setOrderId
(
request
.
getOrderId
());
updateDeliveryInfoByIdRequest
.
setOrderSubState
(
request
.
getDeliveryStatus
());
updateDeliveryInfoByIdRequest
.
setOperator
(
"sys"
);
if
(
StringUtils
.
isNotBlank
(
request
.
getRiderPhone
()))
{
if
(
StringUtils
.
isNotBlank
(
request
.
getRiderPhone
()))
{
updateDeliveryInfoByIdRequest
.
setCourierPhone
(
request
.
getRiderPhone
());
}
if
(
StringUtils
.
isNotBlank
(
request
.
getRiderName
()))
{
if
(
StringUtils
.
isNotBlank
(
request
.
getRiderName
()))
{
updateDeliveryInfoByIdRequest
.
setCourierName
(
request
.
getRiderName
());
}
return
orderCenterSdkService
.
updateDeliveryInfoById
(
updateDeliveryInfoByIdRequest
);
...
...
@@ -316,7 +315,7 @@ public class ThirdDeliveryServiceImpl implements ThirdDeliveryService {
requestDto
.
setPartnerId
(
request
.
getPartnerId
());
requestDto
.
setProvince
(
request
.
getProvinceName
());
QueryDeliveryAmountResponseDto
responseDto
=
deliveryFeiginClient
.
queryDeliveryAmount
(
requestDto
);
if
(
responseDto
==
null
||
SUCCESS_RESPONSE_CODE
!=
responseDto
.
getCode
()
||
CollectionUtils
.
isEmpty
(
responseDto
.
getData
()))
{
if
(
responseDto
==
null
||
SUCCESS_RESPONSE_CODE
!=
responseDto
.
getCode
()
||
CollectionUtils
.
isEmpty
(
responseDto
.
getData
()))
{
return
ResponseUtil
.
error
(
ResponseResult
.
DELIVERY_INFO_NOT_DELIVERY
);
}
...
...
@@ -338,7 +337,7 @@ public class ThirdDeliveryServiceImpl implements ThirdDeliveryService {
deliveryOrderRequestDto
.
setOrderCancelCode
(
4
);
deliveryOrderRequestDto
.
setOrderCancelDescription
(
"运单异常,商户取消订单"
);
String
trackingNo
=
""
;
DeliveryResponseDto
responseDto
=
deliveryService
.
deliveryOrderCancel
(
deliveryOrderRequestDto
,
trackingNo
);
DeliveryResponseDto
responseDto
=
deliveryService
.
deliveryOrderCancel
(
deliveryOrderRequestDto
,
trackingNo
);
if
(
SUCCESS_RESPONSE_CODE
!=
responseDto
.
getCode
())
{
throw
new
ServiceException
(
ResponseResult
.
DELIVERY_CANCEL_ORDER_ERROR
);
}
...
...
@@ -348,7 +347,7 @@ public class ThirdDeliveryServiceImpl implements ThirdDeliveryService {
/**
* 配送订单回调同步POS服务
*/
public
BaseResponse
sendPosService
(
Integer
deliveryStatus
,
PosBaseRequestDto
posBaseRequestDto
)
{
public
BaseResponse
sendPosService
(
Integer
deliveryStatus
,
PosBaseRequestDto
posBaseRequestDto
)
{
BaseResponse
response
=
null
;
if
(
deliveryStatus
==
DeliveryStatus
.
ALLOTRIDER
.
getCode
())
{
response
=
posClient
.
deliveryRiderStatus
(
posBaseRequestDto
);
...
...
@@ -360,13 +359,14 @@ public class ThirdDeliveryServiceImpl implements ThirdDeliveryService {
response
=
posClient
.
posAffirm
(
posBaseRequestDto
);
}
else
if
(
deliveryStatus
==
DeliveryStatus
.
DELIVERYERROR
.
getCode
()
||
deliveryStatus
==
DeliveryStatus
.
DELIVERYCANCEL
.
getCode
())
{
// 更新订单状态为异常单
updateDeliveryAbnormal
(
posBaseRequestDto
.
getPartner_id
(),
posBaseRequestDto
.
getOrder_id
(),
posBaseRequestDto
.
getDeliveryId
());
updateDeliveryAbnormal
(
posBaseRequestDto
.
getPartner_id
(),
posBaseRequestDto
.
getOrder_id
(),
posBaseRequestDto
.
getDeliveryId
());
}
return
response
;
}
/**
* 更新订单为异常单
*
* @param partnerCode
* @param orderCode
* @param deliveryId
...
...
@@ -407,8 +407,8 @@ public class ThirdDeliveryServiceImpl implements ThirdDeliveryService {
/**
* 麦咖啡配送消息推送
*/
public
void
sendMcCafeMicroMessage
(
String
partnerId
,
String
orderId
,
int
deliveryStatus
)
{
if
((
deliveryStatus
!=
DeliveryStatus
.
RIDERSTARTDELIVERY
.
getCode
()
&&
deliveryStatus
!=
DeliveryStatus
.
DELIVERYARRIVED
.
getCode
())
public
void
sendMcCafeMicroMessage
(
String
partnerId
,
String
orderId
,
int
deliveryStatus
)
{
if
((
deliveryStatus
!=
DeliveryStatus
.
RIDERSTARTDELIVERY
.
getCode
()
&&
deliveryStatus
!=
DeliveryStatus
.
DELIVERYARRIVED
.
getCode
())
||
!
mcCafePartnerId
.
equals
(
partnerId
))
{
ApiLog
.
info
(
"不发消息"
,
orderId
);
return
;
...
...
@@ -421,32 +421,33 @@ public class ThirdDeliveryServiceImpl implements ThirdDeliveryService {
baseQueryOrderRequest
.
setOrderId
(
orderId
);
baseQueryOrderRequest
.
setTrackingNo
(
LogTreadLocal
.
getTrackingNo
());
QueryOrderByIdResponse
response
=
orderCenterSdkService
.
queryOrderById
(
baseQueryOrderRequest
);
if
(!
ResponseConstant
.
SUCCESS_RESPONSE_CODE
.
equals
(
response
.
getErrcode
()))
{
log
.
error
(
"麦咖啡订阅消息推送失败,查询订单信息失败:"
+
JSON
.
toJSONString
(
response
));
if
(!
ResponseConstant
.
SUCCESS_RESPONSE_CODE
.
equals
(
response
.
getErrcode
()))
{
ApiLog
.
info
(
"麦咖啡订阅消息推送失败,查询订单信息失败:"
+
JSON
.
toJSONString
(
response
));
}
QueryOrdersResponse
.
DataBean
.
OrderBean
orderBean
=
response
.
getData
();
if
(
OrderClientType
.
SAAS
.
getIndex
().
toString
().
equals
(
orderBean
.
getOrderClient
()))
{
if
(
OrderClientType
.
SAAS
.
getIndex
().
toString
().
equals
(
orderBean
.
getOrderClient
()))
{
request
.
setChannel
(
1
);
}
else
{
return
;
}
OrderExtInfoDto
extInfoDto
=
JSONObject
.
parseObject
(
orderBean
.
getExtInfo
(),
new
TypeReference
<
OrderExtInfoDto
>()
{});
OrderExtInfoDto
extInfoDto
=
JSONObject
.
parseObject
(
orderBean
.
getExtInfo
(),
new
TypeReference
<
OrderExtInfoDto
>()
{
});
request
.
setMiniAppId
(
extInfoDto
.
getAppid
());
List
<
String
>
userList
=
new
ArrayList
<>();
userList
.
add
(
extInfoDto
.
getOpenid
());
request
.
setOpenIdList
(
userList
);
if
(
deliveryStatus
==
DeliveryStatus
.
RIDERSTARTDELIVERY
.
getCode
())
{
if
(
deliveryStatus
==
DeliveryStatus
.
RIDERSTARTDELIVERY
.
getCode
())
{
request
.
setMessageEventType
(
MessageEventTypeEnum
.
MCCAFE_DELIVERY_ORDER
.
getType
());
request
.
setScene
(
MessageSceneEnum
.
MCCAFE_DELIVERY_ORDER
.
getDesc
());
request
.
setMccafeDeliveryOrder
(
MccafeDeliveryOrder
.
builder
()
.
orderId
(
orderBean
.
getOid
())
.
displayOrderId
(
orderBean
.
getDownstreamThirdOrderCode
())
.
address
(
orderBean
.
getAddress
().
length
()
>
20
?
orderBean
.
getAddress
().
substring
(
0
,
17
)+
"..."
:
orderBean
.
getAddress
())
.
address
(
orderBean
.
getAddress
().
length
()
>
20
?
orderBean
.
getAddress
().
substring
(
0
,
17
)
+
"..."
:
orderBean
.
getAddress
())
.
build
());
}
else
if
(
deliveryStatus
==
DeliveryStatus
.
DELIVERYARRIVED
.
getCode
())
{
}
else
if
(
deliveryStatus
==
DeliveryStatus
.
DELIVERYARRIVED
.
getCode
())
{
request
.
setMessageEventType
(
MessageEventTypeEnum
.
MCCAFE_COMPLETE_ORDER
.
getType
());
request
.
setScene
(
MessageSceneEnum
.
MCCAFE_COMPLETE_ORDER
.
getDesc
());
request
.
setMccafeCompleteOrder
(
MccafeCompleteOrder
...
...
@@ -460,19 +461,17 @@ public class ThirdDeliveryServiceImpl implements ThirdDeliveryService {
return
;
}
ecologyAdminApplicationClient
.
subscribeMessage
(
request
);
}
catch
(
Exception
e
){
log
.
error
(
"麦咖啡订阅消息推送失败:"
+
orderId
,
e
);
}
catch
(
Exception
e
)
{
LogUtil
.
error
(
"麦咖啡订阅消息推送失败:"
,
orderId
,
""
,
e
);
}
}
/**
* 配送消息推送
*/
public
void
sendMicroMessage
(
String
partnerId
,
String
orderId
,
int
deliveryStatus
)
{
public
void
sendMicroMessage
(
String
partnerId
,
String
orderId
,
int
deliveryStatus
)
{
//如果商户配置了配送订阅消息推送
if
(
deliveryMicroMessagePartner
.
contains
(
partnerId
))
{
if
(
deliveryMicroMessagePartner
.
contains
(
partnerId
))
{
try
{
BaseQueryOrderRequest
baseQueryOrderRequest
=
new
BaseQueryOrderRequest
();
baseQueryOrderRequest
.
setOrderId
(
orderId
);
...
...
@@ -480,7 +479,8 @@ public class ThirdDeliveryServiceImpl implements ThirdDeliveryService {
QueryOrderByIdResponse
response
=
orderCenterSdkService
.
queryOrderById
(
baseQueryOrderRequest
);
QueryOrdersResponse
.
DataBean
.
OrderBean
orderBean
=
response
.
getData
();
SubscribeMessageRequest
request
=
new
SubscribeMessageRequest
();
OrderExtInfoDto
extInfoDto
=
JSONObject
.
parseObject
(
orderBean
.
getExtInfo
(),
new
TypeReference
<
OrderExtInfoDto
>()
{});
OrderExtInfoDto
extInfoDto
=
JSONObject
.
parseObject
(
orderBean
.
getExtInfo
(),
new
TypeReference
<
OrderExtInfoDto
>()
{
});
request
.
setMiniAppId
(
extInfoDto
.
getAppid
());
List
<
String
>
userList
=
new
ArrayList
<>();
userList
.
add
(
extInfoDto
.
getOpenid
());
...
...
@@ -489,26 +489,26 @@ public class ThirdDeliveryServiceImpl implements ThirdDeliveryService {
//默认微信
request
.
setChannel
(
1
);
//支付宝
if
(
"3"
.
equals
(
orderBean
.
getOrderClient
()))
{
if
(
"3"
.
equals
(
orderBean
.
getOrderClient
()))
{
request
.
setChannel
(
2
);
}
//配送订阅模板消息
if
(
deliveryStatus
==
DeliveryStatus
.
ALLOTRIDER
.
getCode
())
{
if
(
deliveryStatus
==
DeliveryStatus
.
ALLOTRIDER
.
getCode
())
{
request
.
setMessageEventType
(
"ORDER_DELIVERY"
);
OrderDeliveryScene
orderDeliveryScene
=
new
OrderDeliveryScene
();
orderDeliveryScene
.
setAddress
(
orderBean
.
getAddress
());
Long
createTime
=
orderBean
.
getGmtCreate
();
// 获取门店信息
StoreInfoRequest
storeInfoRequest
=
new
StoreInfoRequest
(
partnerId
,
orderBean
.
getShopId
(),
null
);
StoreInfoRequest
storeInfoRequest
=
new
StoreInfoRequest
(
partnerId
,
orderBean
.
getShopId
(),
null
);
StoreResponse
storeResponse
=
storeCenterService
.
getStoreInfo
(
storeInfoRequest
,
LogThreadLocal
.
getTrackingNo
());
//立即单外卖
if
(
OrderType
.
GENERAL_EXPRESS
.
getIndex
()
==
orderBean
.
getNewOrderType
())
{
if
(
storeResponse
!=
null
&&
storeResponse
.
getBizVO
()
!=
null
&&
storeResponse
.
getBizVO
().
getServiceTime
()
!=
null
)
{
createTime
=
createTime
+
storeResponse
.
getBizVO
().
getServiceTime
()
*
1000
*
60
;
if
(
OrderType
.
GENERAL_EXPRESS
.
getIndex
()
==
orderBean
.
getNewOrderType
())
{
if
(
storeResponse
!=
null
&&
storeResponse
.
getBizVO
()
!=
null
&&
storeResponse
.
getBizVO
().
getServiceTime
()
!=
null
)
{
createTime
=
createTime
+
storeResponse
.
getBizVO
().
getServiceTime
()
*
1000
*
60
;
orderDeliveryScene
.
setEstimateArrivalTime
(
DateTimeUtil
.
timeStampToTime
(
createTime
));
}
}
//预约单外卖
if
(
OrderType
.
RESERVED_EXPRESS
.
getIndex
()==
orderBean
.
getNewOrderType
()&&
orderBean
.
getGmtExpect
()!=
null
)
{
if
(
OrderType
.
RESERVED_EXPRESS
.
getIndex
()
==
orderBean
.
getNewOrderType
()
&&
orderBean
.
getGmtExpect
()
!=
null
)
{
orderDeliveryScene
.
setEstimateArrivalTime
(
DateTimeUtil
.
timeStampToTime
(
orderBean
.
getGmtExpect
()));
}
orderDeliveryScene
.
setMerchantPhone
(
storeResponse
.
getBizVO
().
getPhone
());
...
...
@@ -517,7 +517,7 @@ public class ThirdDeliveryServiceImpl implements ThirdDeliveryService {
ecologyAdminApplicationClient
.
subscribeMessage
(
request
);
}
//配送异常模板消息
if
(
deliveryStatus
==
DeliveryStatus
.
DELIVERYCANCEL
.
getCode
()
||
deliveryStatus
==
DeliveryStatus
.
DELIVERYERROR
.
getCode
())
{
if
(
deliveryStatus
==
DeliveryStatus
.
DELIVERYCANCEL
.
getCode
()
||
deliveryStatus
==
DeliveryStatus
.
DELIVERYERROR
.
getCode
())
{
request
.
setMessageEventType
(
"DELIVERY_ERROR_REMINDER"
);
DeliveryErrorReminder
deliveryErrorReminder
=
new
DeliveryErrorReminder
();
deliveryErrorReminder
.
setCreateTime
(
DateTimeUtil
.
timeStampToTime
(
orderBean
.
getGmtCreate
()));
...
...
@@ -529,23 +529,25 @@ public class ThirdDeliveryServiceImpl implements ThirdDeliveryService {
ecologyAdminApplicationClient
.
subscribeMessage
(
request
);
}
}
catch
(
Exception
e
)
{
log
.
error
(
"配送订阅消息推送失败:{},失败原因:{}"
,
orderId
,
e
.
getMessage
()
);
}
catch
(
Exception
e
)
{
LogUtil
.
error
(
"配送订阅消息推送失败:{},失败原因:{}"
,
orderId
,
""
,
e
);
}
}
}
/**
* 通知生态发送调用消息
*/
public
void
sendException
(
String
orderId
,
String
unusualReason
,
String
unusualTime
,
String
desc
)
{
try
{
public
void
sendException
(
String
orderId
,
String
unusualReason
,
String
unusualTime
,
String
desc
)
{
try
{
BaseQueryOrderRequest
baseQueryOrderRequest
=
new
BaseQueryOrderRequest
();
baseQueryOrderRequest
.
setOrderId
(
orderId
);
baseQueryOrderRequest
.
setTrackingNo
(
LogTreadLocal
.
getTrackingNo
());
QueryOrderByIdResponse
response
=
orderCenterSdkService
.
queryOrderById
(
baseQueryOrderRequest
);
QueryOrdersResponse
.
DataBean
.
OrderBean
orderBean
=
response
.
getData
();
SubscribeMessageRequest
request
=
new
SubscribeMessageRequest
();
OrderExtInfoDto
extInfoDto
=
JSONObject
.
parseObject
(
orderBean
.
getExtInfo
(),
new
TypeReference
<
OrderExtInfoDto
>()
{});
OrderExtInfoDto
extInfoDto
=
JSONObject
.
parseObject
(
orderBean
.
getExtInfo
(),
new
TypeReference
<
OrderExtInfoDto
>()
{
});
request
.
setMiniAppId
(
extInfoDto
.
getAppid
());
SendMessageRequest
sendMessageRequest
=
new
SendMessageRequest
();
sendMessageRequest
.
setMessageType
(
"UNUSUAL_ORDER"
);
...
...
@@ -557,9 +559,9 @@ public class ThirdDeliveryServiceImpl implements ThirdDeliveryService {
sendMessageRequest
.
setOrderStatus
(
desc
);
sendMessageRequest
.
setUtcTime
(
unusualTime
);
SendMessageResponse
sendMessageResponse
=
ecologyAdminApplicationClient
.
sendTemplateMessage
(
sendMessageRequest
);
log
.
debug
(
"调用生态返回参数,订单编号:{},返回信息:{}"
,
orderId
,
JSONObject
.
toJSONString
(
sendMessageResponse
));
}
catch
(
Exception
e
)
{
log
.
error
(
"调用生态返回参数失败,订单编号:{},失败原因:{}"
,
orderId
,
e
.
getMessage
()
);
ApiLog
.
debug
(
"调用生态返回参数,订单编号:{},返回信息:{}"
,
orderId
,
JSONObject
.
toJSONString
(
sendMessageResponse
));
}
catch
(
Exception
e
)
{
LogUtil
.
error
(
"调用生态返回参数失败,订单编号:{},失败原因:{}"
,
orderId
,
""
,
e
);
}
}
}
order-application-service/src/main/java/cn/freemud/service/impl/EncircleOrderServiceImpl.java
View file @
8c7a2977
...
...
@@ -148,7 +148,7 @@ public class EncircleOrderServiceImpl implements EncircleOrderService {
if
(
ObjectUtils
.
notEqual
(
ResponseResult
.
SUCCESS
.
getCode
(),
storeTable
.
getCode
())
||
storeTable
.
getData
()
==
null
)
return
ResponseUtil
.
error
(
ResponseResult
.
STORE_NOT_TABLE_INFO
);
if
(
storeTable
.
getData
().
getActiveFlag
()
==
0
)
return
ResponseUtil
.
error
(
ResponseResult
.
QUERY_TABLESTATUS_ACTIVEFLAG_ERROR
);
if
(
storeTable
.
getData
().
getOrderState
()
==
1
)
{
l
og
.
debug
(
"门店返回1,已开台"
);
ApiL
og
.
debug
(
"门店返回1,已开台"
);
return
ResponseUtil
.
success
();
}
/**
...
...
order-application-service/src/main/java/cn/freemud/service/impl/OrderServiceImpl.java
View file @
8c7a2977
...
...
@@ -421,7 +421,7 @@ public class OrderServiceImpl implements Orderservice {
dto
.
setTrackingNo
(
LogThreadLocal
.
getTrackingNo
());
paymentQueueService
.
paymentCallback
(
dto
);
}
catch
(
Exception
e
)
{
LogUtil
.
error
(
"paymentQueueService.paymentCallback"
,
""
,
orderId
,
e
);
LogUtil
.
error
(
"paymentQueueService.paymentCallback"
,
""
,
orderId
,
e
);
}
}
...
...
@@ -444,7 +444,7 @@ public class OrderServiceImpl implements Orderservice {
dto
.
setTrackingNo
(
LogThreadLocal
.
getTrackingNo
());
paymentQueueService
.
paymentCallback
(
dto
);
}
catch
(
Exception
e
)
{
log
.
error
(
"paymentQueueService.paymentCallback"
+
dto
+
" error"
+
e
);
LogUtil
.
error
(
"paymentQueueService.paymentCallback"
,
""
,
orderId
,
e
);
}
}
...
...
@@ -590,9 +590,9 @@ public class OrderServiceImpl implements Orderservice {
//支付回掉成功标记
redisCache
.
save
(
RedisKeyConstant
.
KGD_PAYMENT_CALLBACK_FMID
+
message
.
getOut_trade_no
(),
message
.
getOut_trade_no
(),
10L
,
TimeUnit
.
MINUTES
);
if
(
message
.
getSource
().
equals
(
PaySuccessSource
.
OUTSIDE
.
getSource
()))
{
l
og
.
debug
(
"调用券码核销=="
+
message
.
getTrans_id
());
ApiL
og
.
debug
(
"调用券码核销=="
+
message
.
getTrans_id
());
verificationCoupon
(
message
.
getTrans_id
());
l
og
.
debug
(
"调用券码结束=="
+
message
.
getTrans_id
());
ApiL
og
.
debug
(
"调用券码结束=="
+
message
.
getTrans_id
());
}
//支付成功后
buriedPointService
.
paySuccessBuridPoint
(
partnerId
,
storeId
,
orderBean
);
...
...
@@ -685,7 +685,7 @@ public class OrderServiceImpl implements Orderservice {
private
String
verificationCoupon
(
String
transId
)
{
String
orderId
=
redisCache
.
getValue
(
RedisUtil
.
getPaymentTransIdOrderKey
(
transId
));
if
(
StringUtils
.
isNotBlank
(
orderId
))
{
l
og
.
debug
(
"从缓存中获取的订单数据,trackingNo:{},transId:{},orderId:{}"
,
LogTreadLocal
.
getTrackingNo
(),
transId
,
orderId
);
ApiL
og
.
debug
(
"从缓存中获取的订单数据,trackingNo:{},transId:{},orderId:{}"
,
LogTreadLocal
.
getTrackingNo
(),
transId
,
orderId
);
transId
=
orderId
;
}
QueryRelationOrderByIdResponseDto
queryOrderByIdResponseDto
=
getQueryRelationOrderByIdResponseDto
(
transId
);
...
...
@@ -982,7 +982,7 @@ public class OrderServiceImpl implements Orderservice {
}
}
}
catch
(
Exception
e
)
{
log
.
error
(
"get returnWords error :{},storeResponseDto:{}"
,
e
.
getMessage
(),
JSONObject
.
toJSON
(
storeResponseDto
)
);
LogUtil
.
error
(
"get returnWords"
,
""
,
JSONObject
.
toJSONString
(
storeResponseDto
),
e
);
}
orderBean
.
setProgress
(
String
.
valueOf
(
progress
));
orderBean
.
setReturnWords
(
returnWords
);
...
...
@@ -2884,13 +2884,13 @@ public class OrderServiceImpl implements Orderservice {
boolean
check
=
this
.
checkSvcComPay
(
orderBean
.
getCompanyId
(),
orderBean
.
getShopId
());
//混合支付
if
(
check
&&
StringUtils
.
isNotBlank
(
channel
))
{
l
og
.
debug
(
"混合支付:"
);
ApiL
og
.
debug
(
"混合支付:"
);
String
partnerPayOvertime
=
this
.
getPartnerPayOvertime
(
orderBean
.
getCompanyId
());
orderPayResponse
=
comPayOrder
(
cardCode
,
orderBean
,
paymentRequest
,
partnerPayOvertime
,
totalAmount
.
intValue
(),
channel
,
storeId
,
LogThreadLocal
.
getTrackingNo
());
}
//svc 支付
else
{
l
og
.
debug
(
"svc卡支付"
);
ApiL
og
.
debug
(
"svc卡支付"
);
orderPayResponse
=
svcPay
(
cardCode
,
orderBean
,
paymentRequest
,
transId
,
trackingNo
);
}
return
orderPayResponse
;
...
...
@@ -2968,7 +2968,7 @@ public class OrderServiceImpl implements Orderservice {
mqMessageRequest
.
setBackOrdersNotifyActivityQueue
(
backOrdersChangeOrderStatusConsumerQueue
);
createOrderRequest
.
setMqMessageRequest
(
mqMessageRequest
);
createOrderRequest
.
setTrackingNo
(
LogThreadLocal
.
getTrackingNo
());
l
og
.
debug
(
"createOrder sessionId:{},createOrderVo:{}"
,
createOrderVo
.
getSessionId
(),
JSON
.
toJSONString
(
createOrderRequest
));
ApiL
og
.
debug
(
"createOrder sessionId:{},createOrderVo:{}"
,
createOrderVo
.
getSessionId
(),
JSON
.
toJSONString
(
createOrderRequest
));
return
orderCenterSdkService
.
createOrderFlow
(
createOrderRequest
);
}
...
...
@@ -3032,7 +3032,7 @@ public class OrderServiceImpl implements Orderservice {
}
com
.
freemud
.
application
.
sdk
.
api
.
base
.
BaseResponse
<
UnifiedOrderResponse
>
responseBase
=
standardPaymentService
.
unifiedOrder
(
request
,
trackingNo
);
if
(!
ResponseCodeConstant
.
RESPONSE_SUCCESS_STR
.
equals
(
responseBase
.
getCode
()))
{
log
.
error
(
"支付SDK返回信息错误,trackingNo:{} request:{} response:{}"
,
trackingNo
,
JSONObject
.
toJSONString
(
request
),
JSONObject
.
toJSONString
(
responseBase
));
ApiLog
.
info
(
"支付SDK返回信息错误,trackingNo:{} request:{} response:{}"
,
trackingNo
,
JSONObject
.
toJSONString
(
request
),
JSONObject
.
toJSONString
(
responseBase
));
// 1.9.34 预支付失败需要把原因进行记录
orderPayResponse
=
new
OrderPayResponse
();
orderPayResponse
.
setMsg
(
responseBase
.
getMessage
());
...
...
@@ -3250,7 +3250,7 @@ public class OrderServiceImpl implements Orderservice {
orderEditRequest
.
setPayChannelType
(
PayChannelType
.
getByEbcode
(
orderPayResponse
.
getPayMode
()).
getIndex
());
}
//混合支付项
if
(
CollectionUtils
.
isNotEmpty
(
orderPayResponse
.
getPayItem
())
&&
orderPayResponse
.
getPayItem
().
size
()
==
2
)
{
if
(
CollectionUtils
.
isNotEmpty
(
orderPayResponse
.
getPayItem
())
&&
orderPayResponse
.
getPayItem
().
size
()
==
2
)
{
orderEditRequest
.
setOrderPayItem
(
orderPayResponse
.
getPayItem
());
orderEditRequest
.
setPayChannel
(
PayChannelType
.
COMB
.
getEbcode
());
orderEditRequest
.
setPayChannelName
(
PayChannelType
.
COMB
.
getName
());
...
...
@@ -3819,7 +3819,7 @@ public class OrderServiceImpl implements Orderservice {
}
while
(
i
<
4
);
if
(
combPayResponse
==
null
||
!
ResponseCodeConstant
.
PAYMENT_RESPONSE_SUCCESS
.
equals
(
combPayResponse
.
getCode
()))
{
l
og
.
debug
(
"混合支付返回信息错误,trackingNo:{} request:{} response:{}"
,
trackingNo
,
JSONObject
.
toJSONString
(
combPayRequest
),
JSONObject
.
toJSONString
(
combPayResponse
));
ApiL
og
.
debug
(
"混合支付返回信息错误,trackingNo:{} request:{} response:{}"
,
trackingNo
,
JSONObject
.
toJSONString
(
combPayRequest
),
JSONObject
.
toJSONString
(
combPayResponse
));
orderPayResponse
.
setMsg
(
combPayResponse
!=
null
?
"支付:"
+
combPayResponse
.
getMsg
()
:
"混合支付忙不过来啦,请稍后再试"
);
return
orderPayResponse
;
}
...
...
@@ -3945,7 +3945,7 @@ public class OrderServiceImpl implements Orderservice {
query
=
svcComPayClient
.
query
(
requestDto
);
if
(
query
!=
null
)
break
;
}
l
og
.
debug
(
"order checkSvcComPay:{}"
,
JSON
.
toJSONString
(
query
));
ApiL
og
.
debug
(
"order checkSvcComPay:{}"
,
JSON
.
toJSONString
(
query
));
if
(
query
==
null
||
!
ResponseResult
.
SUCCESS
.
getCode
().
equals
(
query
.
getCode
()))
{
return
false
;
}
...
...
@@ -3963,7 +3963,7 @@ public class OrderServiceImpl implements Orderservice {
map
.
put
(
pg
.
split
(
":"
)[
0
],
pg
.
split
(
":"
)[
1
]);
}
}
catch
(
Exception
e
)
{
log
.
error
(
"goodsTag解析失败:"
+
collageGoodsTagList
);
LogUtil
.
error
(
"goodsTag解析失败:"
,
""
,
""
,
e
);
}
return
map
;
}
...
...
@@ -3975,18 +3975,18 @@ public class OrderServiceImpl implements Orderservice {
*/
public
void
timeOutRefund
(
QueryOrdersResponseDto
.
DataBean
.
OrderBean
orderBean
)
{
//调用支付退款
l
og
.
debug
(
"payment timeout callback for refund orderDto={}"
,
JSON
.
toJSONString
(
orderBean
));
ApiL
og
.
debug
(
"payment timeout callback for refund orderDto={}"
,
JSON
.
toJSONString
(
orderBean
));
Integer
abState
=
4
;
String
noPay
=
"8200404"
;
if
(
abState
.
equals
(
orderBean
.
getAbnormalState
()))
{
l
og
.
debug
(
"payment timeout callback for refund is exist"
);
ApiL
og
.
debug
(
"payment timeout callback for refund is exist"
);
return
;
}
com
.
freemud
.
application
.
sdk
.
api
.
base
.
BaseResponse
<
OrderRefundResponse
>
response
=
null
;
Long
refundId
=
System
.
currentTimeMillis
();
OrderExtInfoDto
orderExtInfoDTO
=
gson
.
fromJson
(
orderBean
.
getExtInfo
(),
OrderExtInfoDto
.
class
);
if
(
orderExtInfoDTO
==
null
||
StringUtils
.
isBlank
(
orderExtInfoDTO
.
getFmId
()))
{
l
og
.
debug
(
"payment timeout callback for refund not create pre order"
);
ApiL
og
.
debug
(
"payment timeout callback for refund not create pre order"
);
return
;
}
Integer
state
=
PayRefundStatus
.
SUCCESS
.
getCode
();
...
...
@@ -3996,7 +3996,7 @@ public class OrderServiceImpl implements Orderservice {
com
.
freemud
.
sdk
.
api
.
assortment
.
payment
.
request
.
OrderRefundRequest
orderPayRefundRequest
=
orderAdapter
.
getOrderPayRefundRequest
(
orderBean
,
refundId
,
orderBean
.
getOid
());
response
=
standardPaymentService
.
orderRefund
(
orderPayRefundRequest
,
LogTreadLocal
.
getTrackingNo
());
l
og
.
debug
(
"payment timeout callback for refund orderId={},request={},resp={}"
,
orderBean
.
getOid
(),
JSON
.
toJSONString
(
orderPayRefundRequest
),
JSON
.
toJSONString
(
response
));
ApiL
og
.
debug
(
"payment timeout callback for refund orderId={},request={},resp={}"
,
orderBean
.
getOid
(),
JSON
.
toJSONString
(
orderPayRefundRequest
),
JSON
.
toJSONString
(
response
));
if
(
response
!=
null
&&
noPay
.
equals
(
response
.
getCode
()))
{
return
;
}
...
...
order-application-service/src/test/java/cn.freemud/client/StoreItemClientTest.java
View file @
8c7a2977
...
...
@@ -28,6 +28,7 @@ import java.util.List;
* @Copyright: 2018 www.freemud.cn Inc. All rights reserved.
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
*/
@Slf4j
@RunWith
(
SpringRunner
.
class
)
@SpringBootTest
@EnableDiscoveryClient
...
...
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