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
5261c948
Commit
5261c948
authored
Sep 02, 2022
by
周晓航
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
维护有基础服务对接售后单状态的链路
parent
945cab85
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
57 additions
and
14 deletions
+57
-14
order-management/src/main/java/cn/freemud/management/service/handle/SaasOrderHandle.java
+56
-7
order-management/src/main/java/cn/freemud/management/service/impl/SaasOrderMangerServiceImpl.java
+1
-7
No files found.
order-management/src/main/java/cn/freemud/management/service/handle/SaasOrderHandle.java
View file @
5261c948
...
@@ -3,6 +3,7 @@ package cn.freemud.management.service.handle;
...
@@ -3,6 +3,7 @@ package cn.freemud.management.service.handle;
import
cn.freemud.base.entity.BaseResponse
;
import
cn.freemud.base.entity.BaseResponse
;
import
cn.freemud.management.entities.dto.request.order.OrderManagerRequest
;
import
cn.freemud.management.entities.dto.request.order.OrderManagerRequest
;
import
cn.freemud.management.entities.dto.response.pay.PayRefundResponse
;
import
cn.freemud.management.entities.dto.response.pay.PayRefundResponse
;
import
cn.freemud.management.enums.AfterSalesApplyClientEnum
;
import
cn.freemud.management.enums.ResponseResult
;
import
cn.freemud.management.enums.ResponseResult
;
import
cn.freemud.management.intercept.OrderServiceException
;
import
cn.freemud.management.intercept.OrderServiceException
;
import
cn.freemud.management.util.ResponseUtil
;
import
cn.freemud.management.util.ResponseUtil
;
...
@@ -11,12 +12,14 @@ import com.freemud.application.sdk.api.log.LogThreadLocal;
...
@@ -11,12 +12,14 @@ import com.freemud.application.sdk.api.log.LogThreadLocal;
import
com.freemud.application.sdk.api.ordercenter.entities.v1.OrderBeanV1
;
import
com.freemud.application.sdk.api.ordercenter.entities.v1.OrderBeanV1
;
import
com.freemud.application.sdk.api.ordercenter.entities.vo.OrderCallBackRequestVo
;
import
com.freemud.application.sdk.api.ordercenter.entities.vo.OrderCallBackRequestVo
;
import
com.freemud.application.sdk.api.ordercenter.enums.orderv1.RefundStatusV1
;
import
com.freemud.application.sdk.api.ordercenter.enums.orderv1.RefundStatusV1
;
import
com.freemud.application.sdk.api.ordercenter.request.AfterSalesRefundFailReq
;
import
com.freemud.application.sdk.api.ordercenter.request.OrderModifyRelatingCodeReq
;
import
com.freemud.application.sdk.api.ordercenter.request.OrderModifyRelatingCodeReq
;
import
com.freemud.application.sdk.api.ordercenter.response.orderInfo.OrderInfoReqs
;
import
com.freemud.application.sdk.api.ordercenter.response.orderInfo.OrderInfoReqs
;
import
com.freemud.application.sdk.api.ordercenter.response.orderInfo.QueryByCodeResponse
;
import
com.freemud.application.sdk.api.ordercenter.response.orderInfo.QueryByCodeResponse
;
import
com.freemud.application.sdk.api.ordercenter.service.OrderSdkService
;
import
com.freemud.application.sdk.api.ordercenter.service.OrderSdkService
;
import
com.freemud.sdk.api.assortment.order.adapter.OrderSdkAdapter
;
import
com.freemud.sdk.api.assortment.order.adapter.OrderSdkAdapter
;
import
com.freemud.sdk.api.assortment.order.entities.other.OtherParamDTO
;
import
com.freemud.sdk.api.assortment.order.entities.other.OtherParamDTO
;
import
com.freemud.sdk.api.assortment.order.enums.AfterSalesRefunStateEnum
;
import
com.freemud.sdk.api.assortment.order.enums.PayRefundStatus
;
import
com.freemud.sdk.api.assortment.order.enums.PayRefundStatus
;
import
com.freemud.sdk.api.assortment.order.request.order.BaseQueryOrderRequest
;
import
com.freemud.sdk.api.assortment.order.request.order.BaseQueryOrderRequest
;
import
com.freemud.sdk.api.assortment.order.request.order.CancelOrderRequest
;
import
com.freemud.sdk.api.assortment.order.request.order.CancelOrderRequest
;
...
@@ -75,7 +78,7 @@ public class SaasOrderHandle {
...
@@ -75,7 +78,7 @@ public class SaasOrderHandle {
dto
.
setDispatchTimeout
(
request
.
getDispatchTimeout
());
dto
.
setDispatchTimeout
(
request
.
getDispatchTimeout
());
BaseQueryOrderRequest
orderConfirmRequest
=
orderSdkAdapter
.
getOrderConfirmRequest
(
request
.
getOperator
(),
orderBean
,
dto
);
BaseQueryOrderRequest
orderConfirmRequest
=
orderSdkAdapter
.
getOrderConfirmRequest
(
request
.
getOperator
(),
orderBean
,
dto
);
orderSdkAdapter
.
convert2wmDeliveryTimeOut
(
orderConfirmRequest
,
this
.
wmDeliveryTimeOut
);
orderSdkAdapter
.
convert2wmDeliveryTimeOut
(
orderConfirmRequest
,
this
.
wmDeliveryTimeOut
);
if
(
Objects
.
nonNull
(
request
.
getTimeout
()))
{
if
(
Objects
.
nonNull
(
request
.
getTimeout
()))
{
orderConfirmRequest
.
setPreTimeout
(
request
.
getTimeout
());
orderConfirmRequest
.
setPreTimeout
(
request
.
getTimeout
());
}
}
...
@@ -97,13 +100,14 @@ public class SaasOrderHandle {
...
@@ -97,13 +100,14 @@ public class SaasOrderHandle {
/**
/**
* 更新取餐码
* 更新取餐码
*
* @param request
* @param request
* @param orderBean
* @param orderBean
* @return
* @return
*/
*/
public
BaseResponse
updatePickUpGoodNo
(
OrderManagerRequest
request
,
OrderBeanV1
orderBean
)
{
public
BaseResponse
updatePickUpGoodNo
(
OrderManagerRequest
request
,
OrderBeanV1
orderBean
)
{
// 更新取餐码
// 更新取餐码
OrderModifyRelatingCodeReq
relatingCodeReq
=
new
OrderModifyRelatingCodeReq
();
OrderModifyRelatingCodeReq
relatingCodeReq
=
new
OrderModifyRelatingCodeReq
();
relatingCodeReq
.
setOrderCode
(
orderBean
.
getOid
());
relatingCodeReq
.
setOrderCode
(
orderBean
.
getOid
());
relatingCodeReq
.
setOperator
(
request
.
getOperator
());
relatingCodeReq
.
setOperator
(
request
.
getOperator
());
relatingCodeReq
.
setPartnerId
(
request
.
getPartnerId
());
relatingCodeReq
.
setPartnerId
(
request
.
getPartnerId
());
...
@@ -145,7 +149,7 @@ public class SaasOrderHandle {
...
@@ -145,7 +149,7 @@ public class SaasOrderHandle {
*/
*/
public
BaseResponse
orderDelivery
(
OrderManagerRequest
request
,
OrderBeanV1
orderBean
)
{
public
BaseResponse
orderDelivery
(
OrderManagerRequest
request
,
OrderBeanV1
orderBean
)
{
BaseQueryOrderRequest
orderDeliveryRequest
=
orderSdkAdapter
.
getOrderConfirmRequest
(
request
.
getOperator
(),
orderBean
);
BaseQueryOrderRequest
orderDeliveryRequest
=
orderSdkAdapter
.
getOrderConfirmRequest
(
request
.
getOperator
(),
orderBean
);
orderDeliveryRequest
=
orderSdkAdapter
.
convert2wmDeliveryTimeOut
(
orderDeliveryRequest
,
this
.
wmDeliveryTimeOut
);
orderDeliveryRequest
=
orderSdkAdapter
.
convert2wmDeliveryTimeOut
(
orderDeliveryRequest
,
this
.
wmDeliveryTimeOut
);
BaseOrderResponse
baseOrderResponse
=
orderCenterSdkService
.
orderSend
(
orderDeliveryRequest
);
BaseOrderResponse
baseOrderResponse
=
orderCenterSdkService
.
orderSend
(
orderDeliveryRequest
);
if
(
baseOrderResponse
==
null
||
ObjectUtils
.
notEqual
(
ResponseResult
.
SUCCESS
.
getCode
(),
baseOrderResponse
.
getErrcode
().
toString
()))
{
if
(
baseOrderResponse
==
null
||
ObjectUtils
.
notEqual
(
ResponseResult
.
SUCCESS
.
getCode
(),
baseOrderResponse
.
getErrcode
().
toString
()))
{
return
ResponseUtil
.
error
(
ResponseResult
.
DELIVERY_FAIL
);
return
ResponseUtil
.
error
(
ResponseResult
.
DELIVERY_FAIL
);
...
@@ -220,11 +224,16 @@ public class SaasOrderHandle {
...
@@ -220,11 +224,16 @@ public class SaasOrderHandle {
refundAgreeRequest
.
setOperationClient
(
request
.
getOperationClient
());
refundAgreeRequest
.
setOperationClient
(
request
.
getOperationClient
());
BaseOrderResponse
baseOrderResponse
=
null
;
BaseOrderResponse
baseOrderResponse
=
null
;
if
(
PayRefundStatus
.
SUCCESS
.
equals
(
refundResponse
.
getPayRefundStatus
()))
{
if
(
PayRefundStatus
.
SUCCESS
.
equals
(
refundResponse
.
getPayRefundStatus
()))
{
// fisherman 判断是否在退款中, 如果是退款中 调用退货完成
if
(
orderBean
.
getAfterSalesOrderResp
().
getAfterSalesStatus
().
compareTo
(
AfterSalesRefunStateEnum
.
STATE_1
.
getIndex
())
!=
0
)
{
baseOrderResponse
=
orderCenterSdkService
.
orderRefundComplete
(
refundAgreeRequest
);
}
else
{
baseOrderResponse
=
orderCenterSdkService
.
refundComplete
(
refundAgreeRequest
);
baseOrderResponse
=
orderCenterSdkService
.
refundComplete
(
refundAgreeRequest
);
}
else
if
(
PayRefundStatus
.
RUNNING
.
equals
(
refundResponse
.
getPayRefundStatus
())
&&
orderBean
.
getAfterSalesOrderResp
().
getAfterSalesStatus
()
!=
4
){
}
}
else
if
(
PayRefundStatus
.
RUNNING
.
equals
(
refundResponse
.
getPayRefundStatus
())
&&
orderBean
.
getAfterSalesOrderResp
().
getAfterSalesStatus
()
!=
4
)
{
//退款中, 基础服务售后状态不能为4,等待商家再次发起同意退款
//退款中, 基础服务售后状态不能为4,等待商家再次发起同意退款
baseOrderResponse
=
orderCenterSdkService
.
refundReturn
(
refundAgreeRequest
);
baseOrderResponse
=
orderCenterSdkService
.
refundReturn
(
refundAgreeRequest
);
}
else
{
}
else
{
return
ResponseUtil
.
success
();
return
ResponseUtil
.
success
();
}
}
if
(
baseOrderResponse
==
null
||
ObjectUtils
.
notEqual
(
ResponseResult
.
SUCCESS
.
getCode
(),
baseOrderResponse
.
getErrcode
().
toString
()))
{
if
(
baseOrderResponse
==
null
||
ObjectUtils
.
notEqual
(
ResponseResult
.
SUCCESS
.
getCode
(),
baseOrderResponse
.
getErrcode
().
toString
()))
{
...
@@ -234,6 +243,42 @@ public class SaasOrderHandle {
...
@@ -234,6 +243,42 @@ public class SaasOrderHandle {
}
}
/**
/**
* 处理支付 退款回调 订单业务处理
*
* @param request
* @param refundResponse
* @param orderBean
*/
public
void
refundAgreeByCallback
(
OrderManagerRequest
request
,
PayRefundResponse
refundResponse
,
OrderBeanV1
orderBean
)
{
BaseQueryOrderRequest
refundAgreeRequest
=
orderSdkAdapter
.
getRefundAgreeRequest
(
refundResponse
.
getRefundId
(),
request
.
getReason
(),
request
.
getOperator
(),
orderBean
);
refundAgreeRequest
.
setRefundState
(
PayRefundStatus
.
SUCCESS
.
getCode
().
equals
(
refundResponse
.
getPayRefundStatus
().
getCode
())
?
4
:
2
);
refundAgreeRequest
.
setOperationClient
(
request
.
getOperationClient
());
PayRefundStatus
payRefundStatus
=
refundResponse
.
getPayRefundStatus
();
if
(
payRefundStatus
.
getCode
().
equals
(
PayRefundStatus
.
SUCCESS
.
getCode
()))
{
// 退款成功 调用 -> /afterSales/v2/adultRefundComplete
orderCenterSdkService
.
orderRefundComplete
(
refundAgreeRequest
);
}
else
{
// 退款失败 只记录失败日志
AfterSalesRefundFailReq
refundFailReq
=
this
.
getAfterSalesRefundFailReq
(
orderBean
,
"refundSuccessCallback"
,
AfterSalesApplyClientEnum
.
STATE_6
.
getIndex
(),
refundResponse
.
getMessage
());
orderSdkService
.
refundFail
(
refundFailReq
,
LogThreadLocal
.
getTrackingNo
());
}
}
private
AfterSalesRefundFailReq
getAfterSalesRefundFailReq
(
OrderBeanV1
orderBean
,
String
operator
,
Integer
operationClient
,
String
refundFailReason
)
{
AfterSalesRefundFailReq
refundFailReq
=
new
AfterSalesRefundFailReq
();
refundFailReq
.
setOrderCode
(
orderBean
.
getOid
());
refundFailReq
.
setPartnerId
(
orderBean
.
getCompanyId
());
refundFailReq
.
setRefundFailReason
(
refundFailReason
);
refundFailReq
.
setAfterSalesCode
(
orderBean
.
getAfterSalesOrderResp
().
getAfterSalesCode
());
refundFailReq
.
setOperationClient
(
operationClient
);
refundFailReq
.
setOperator
(
operator
);
return
refundFailReq
;
}
/**
* 麦咖啡同意退款
* 麦咖啡同意退款
*
*
* @param request
* @param request
...
@@ -287,6 +332,7 @@ public class SaasOrderHandle {
...
@@ -287,6 +332,7 @@ public class SaasOrderHandle {
/**
/**
* 拒绝退款
* 拒绝退款
*
* @param request
* @param request
* @param orderBean
* @param orderBean
* @return
* @return
...
@@ -303,6 +349,7 @@ public class SaasOrderHandle {
...
@@ -303,6 +349,7 @@ public class SaasOrderHandle {
/**
/**
* 麦咖啡拒绝退款
* 麦咖啡拒绝退款
*
* @param request
* @param request
* @param orderBean
* @param orderBean
* @return
* @return
...
@@ -310,7 +357,7 @@ public class SaasOrderHandle {
...
@@ -310,7 +357,7 @@ public class SaasOrderHandle {
public
BaseResponse
mcCafeRefundReject
(
OrderManagerRequest
request
,
OrderBeanV1
orderBean
)
{
public
BaseResponse
mcCafeRefundReject
(
OrderManagerRequest
request
,
OrderBeanV1
orderBean
)
{
CancelOrderRequest
rejectRefundRequest
=
orderSdkAdapter
.
getRejectRefundRequest
(
request
.
getOperator
(),
request
.
getReason
(),
orderBean
);
CancelOrderRequest
rejectRefundRequest
=
orderSdkAdapter
.
getRejectRefundRequest
(
request
.
getOperator
(),
request
.
getReason
(),
orderBean
);
BaseOrderResponse
baseOrderResponse
=
null
;
BaseOrderResponse
baseOrderResponse
=
null
;
for
(
int
i
=
0
;
i
<
orderBean
.
getRefundList
().
size
();
i
++)
{
for
(
int
i
=
0
;
i
<
orderBean
.
getRefundList
().
size
();
i
++)
{
if
(
RefundStatusV1
.
APPLY_REFUND
.
getCodeV1
().
equals
(
orderBean
.
getRefundList
().
get
(
i
).
getStatus
()))
{
if
(
RefundStatusV1
.
APPLY_REFUND
.
getCodeV1
().
equals
(
orderBean
.
getRefundList
().
get
(
i
).
getStatus
()))
{
rejectRefundRequest
.
setAfterSalesCode
(
orderBean
.
getRefundList
().
get
(
i
).
getRid
());
rejectRefundRequest
.
setAfterSalesCode
(
orderBean
.
getRefundList
().
get
(
i
).
getRid
());
...
@@ -333,7 +380,7 @@ public class SaasOrderHandle {
...
@@ -333,7 +380,7 @@ public class SaasOrderHandle {
* 取消订单
* 取消订单
*/
*/
@Deprecated
@Deprecated
public
BaseResponse
orderCancel
(
OrderManagerRequest
request
,
PayRefundResponse
refundResponse
,
OrderBeanV1
orderBean
)
{
public
BaseResponse
orderCancel
(
OrderManagerRequest
request
,
PayRefundResponse
refundResponse
,
OrderBeanV1
orderBean
)
{
//作废订单
//作废订单
CancelOrderRequest
cancelOrderRequest
=
orderSdkAdapter
.
getCancelOrderRequest
(
request
.
getOperator
(),
request
.
getReason
(),
refundResponse
.
getPayRefundStatus
(),
refundResponse
.
getRefundId
(),
orderBean
);
CancelOrderRequest
cancelOrderRequest
=
orderSdkAdapter
.
getCancelOrderRequest
(
request
.
getOperator
(),
request
.
getReason
(),
refundResponse
.
getPayRefundStatus
(),
refundResponse
.
getRefundId
(),
orderBean
);
BaseOrderResponse
baseOrderResponse
=
orderCenterSdkService
.
orderCancel
(
cancelOrderRequest
);
BaseOrderResponse
baseOrderResponse
=
orderCenterSdkService
.
orderCancel
(
cancelOrderRequest
);
...
@@ -345,6 +392,7 @@ public class SaasOrderHandle {
...
@@ -345,6 +392,7 @@ public class SaasOrderHandle {
/**
/**
* 转换成callback消息体
* 转换成callback消息体
*
* @param orderCode 订单编号
* @param orderCode 订单编号
* @param orderState cn.freemud.shared.order.enums.order.OrderStatus.API_DESC="订单状态 1:待支付 2:下单 3:已接单 4:制作完成(待发货) 5:配送中 6:已完 7:已关闭";
* @param orderState cn.freemud.shared.order.enums.order.OrderStatus.API_DESC="订单状态 1:待支付 2:下单 3:已接单 4:制作完成(待发货) 5:配送中 6:已完 7:已关闭";
* @param operateType 操作类型 0= 其他信息修改,1=订单正向操作,2=订单逆向操作,3=通知消息
* @param operateType 操作类型 0= 其他信息修改,1=订单正向操作,2=订单逆向操作,3=通知消息
...
@@ -377,4 +425,5 @@ public class SaasOrderHandle {
...
@@ -377,4 +425,5 @@ public class SaasOrderHandle {
return
notifyDto
;
return
notifyDto
;
}
}
}
}
order-management/src/main/java/cn/freemud/management/service/impl/SaasOrderMangerServiceImpl.java
View file @
5261c948
...
@@ -473,12 +473,6 @@ public class SaasOrderMangerServiceImpl implements OrderManagerService {
...
@@ -473,12 +473,6 @@ public class SaasOrderMangerServiceImpl implements OrderManagerService {
PayRefundStatus
payRefundStatus
=
PayRefundStatus
.
SUCCESS
;
PayRefundStatus
payRefundStatus
=
PayRefundStatus
.
SUCCESS
;
if
(!
Objects
.
equals
(
refundStatus
,
"100"
))
{
if
(!
Objects
.
equals
(
refundStatus
,
"100"
))
{
payRefundStatus
=
PayRefundStatus
.
FAIL
;
payRefundStatus
=
PayRefundStatus
.
FAIL
;
// 告知基础服务 退款失败
AfterSalesRefundFailReq
refundFailReq
=
this
.
getAfterSalesRefundFailReq
(
orderBean
,
"refundSuccessCallback"
,
AfterSalesApplyClientEnum
.
STATE_6
.
getIndex
(),
refundResponse
.
getMessage
());
orderSdkService
.
refundFail
(
refundFailReq
,
LogThreadLocal
.
getTrackingNo
());
}
}
refundResponse
.
setPayRefundStatus
(
payRefundStatus
);
refundResponse
.
setPayRefundStatus
(
payRefundStatus
);
refundResponse
.
setRefundId
(
request
.
getRefundId
());
refundResponse
.
setRefundId
(
request
.
getRefundId
());
...
@@ -486,7 +480,7 @@ public class SaasOrderMangerServiceImpl implements OrderManagerService {
...
@@ -486,7 +480,7 @@ public class SaasOrderMangerServiceImpl implements OrderManagerService {
OrderManagerRequest
omRequest
=
new
OrderManagerRequest
();
OrderManagerRequest
omRequest
=
new
OrderManagerRequest
();
omRequest
.
setReason
(
reason
);
omRequest
.
setReason
(
reason
);
omRequest
.
setOperator
(
"支付退款回调系统补偿"
);
omRequest
.
setOperator
(
"支付退款回调系统补偿"
);
saasOrderHandle
.
refundAgree
(
omRequest
,
refundResponse
,
orderBean
);
saasOrderHandle
.
refundAgree
ByCallback
(
omRequest
,
refundResponse
,
orderBean
);
// 退款失败 不应该走 冲正逻辑
// 退款失败 不应该走 冲正逻辑
if
(
payRefundStatus
.
getCode
().
compareTo
(
PayRefundStatus
.
SUCCESS
.
getCode
())
!=
0
)
{
if
(
payRefundStatus
.
getCode
().
compareTo
(
PayRefundStatus
.
SUCCESS
.
getCode
())
!=
0
)
{
...
...
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