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
ed597807
Commit
ed597807
authored
Jun 23, 2022
by
ping.wu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
支付退款代码整理
parent
622d5753
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
15 changed files
with
283 additions
and
196 deletions
+283
-196
order-application-service/src/main/java/cn/freemud/controller/delivery/DeliveryController.java
+2
-1
order-application-service/src/main/java/cn/freemud/service/ThirdDeliveryService.java
+1
-1
order-application-service/src/main/java/cn/freemud/service/delivery/ThirdDeliveryServiceImpl.java
+70
-70
order-application-service/src/main/java/cn/freemud/service/impl/MCCafeOrderServiceImpl.java
+1
-1
order-application-service/src/main/java/cn/freemud/service/impl/MallOrderServiceImpl.java
+14
-7
order-application-service/src/main/java/cn/freemud/service/impl/OrderServiceImpl.java
+8
-3
order-application-service/src/main/java/cn/freemud/service/impl/PayServiceImpl.java
+34
-17
order-application-service/src/main/java/cn/freemud/service/thirdparty/PaymentNewClient.java
+1
-0
order-management/src/main/java/cn/freemud/management/service/adapter/OrderBeanFactory.java
+3
-3
order-management/src/main/java/cn/freemud/management/service/adapter/OrderManagerAdapter.java
+33
-33
order-management/src/main/java/cn/freemud/management/service/handle/PaymentHandle.java
+0
-0
order-management/src/main/java/cn/freemud/management/service/impl/MallOrderMangerServiceImpl.java
+42
-19
order-management/src/main/java/cn/freemud/management/service/impl/McCafeMangerServiceImpl.java
+0
-0
order-management/src/main/java/cn/freemud/management/service/impl/NewMallOrderMangerServiceImpl.java
+59
-25
order-management/src/main/java/cn/freemud/management/service/impl/SaasOrderMangerServiceImpl.java
+15
-16
No files found.
order-application-service/src/main/java/cn/freemud/controller/delivery/DeliveryController.java
View file @
ed597807
...
...
@@ -55,7 +55,8 @@ public class DeliveryController {
@ApiOperation
(
value
=
"麦咖啡配送回调"
,
notes
=
"麦咖啡配送回调"
,
produces
=
"application/json"
)
@PostMapping
(
"/delivery/macCafeCallback"
)
public
BaseResponse
macCafeCallback
(
@Valid
@LogParams
@RequestBody
MacCafeCallbackUrlRequestDto
request
)
{
return
deliveryService
.
macCafeCallbackUrl
(
request
);
// return deliveryService.macCafeCallbackUrl(request);
return
new
BaseResponse
(
"1"
,
"101"
);
}
@ApiAnnotation
(
logMessage
=
"商城配送回调"
)
@ApiOperation
(
value
=
"商城配送回调"
,
notes
=
"商城配送回调"
,
produces
=
"application/json"
)
...
...
order-application-service/src/main/java/cn/freemud/service/ThirdDeliveryService.java
View file @
ed597807
...
...
@@ -20,7 +20,7 @@ public interface ThirdDeliveryService {
/**
* 配送回调
*/
BaseResponse
macCafeCallbackUrl
(
MacCafeCallbackUrlRequestDto
request
);
//
BaseResponse macCafeCallbackUrl(MacCafeCallbackUrlRequestDto request);
/**
...
...
order-application-service/src/main/java/cn/freemud/service/delivery/ThirdDeliveryServiceImpl.java
View file @
ed597807
...
...
@@ -212,76 +212,76 @@ public class ThirdDeliveryServiceImpl implements ThirdDeliveryService {
*
* @param request
*/
@Override
public
BaseResponse
macCafeCallbackUrl
(
MacCafeCallbackUrlRequestDto
request
)
{
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
()
:
"餐道主动取消"
);
}
else
{
orderManagerRequest
.
setReason
(
null
);
}
orderManagerRequest
.
setOperator
(
"配送回调"
);
Integer
reviewStatus
=
request
.
getReviewStatus
();
int
deliveryStatus
=
request
.
getDeliveryStatus
();
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
()))
{
orderManagerRequest
.
setOperateType
(
OperateType
.
ORDER_REJECT_REFUND
.
getOpType
());
orderManagerRequest
.
setReason
(
"配送回调-拒绝退款"
);
return
orderManagerAdapter
.
mcCafeOrderRejectRefund
(
orderManagerRequest
);
}
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
()))
{
updateDeliveryStatus
(
request
);
}
sendMcCafeMicroMessage
(
request
.
getPartnerId
(),
request
.
getOrderId
(),
request
.
getDeliveryStatus
());
return
baseResponse
;
}
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
()))
{
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
())
{
updateDeliveryStatus
(
request
);
return
ResponseUtil
.
success
();
}
else
if
(
deliveryStatus
==
DeliveryStatus
.
COLLECTING
.
getCode
())
{
//推送订单到拉单队列
OrderCollectReq
orderCollectReq
=
new
OrderCollectReq
();
orderCollectReq
.
setOrderCode
(
request
.
getOrderId
());
orderCollectReq
.
setPartnerId
(
request
.
getPartnerId
());
OrderBaseResp
baseResponse
=
orderSdkService
.
collectOrder
(
orderCollectReq
,
LogThreadLocal
.
getTrackingNo
());
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
())
{
AssortmentUpdateDeliveryAbnormalRequest
assortmentUpdateDeliveryAbnormalRequest
=
AssortmentUpdateDeliveryAbnormalRequest
.
builder
()
.
abnormalDesc
(
request
.
getRemark
())
.
deliveryId
(
request
.
getDeliveryId
())
.
orderCode
(
request
.
getOrderId
())
.
partnerId
(
request
.
getPartnerId
())
.
operator
(
"餐道"
)
.
build
();
orderCenterSdkService
.
updateDeliveryAbnormal
(
assortmentUpdateDeliveryAbnormalRequest
);
return
ResponseUtil
.
success
();
}
return
ResponseUtil
.
error
(
ResponseResult
.
ORDER_DELIVERY_CALL_BACK_FAILED
);
}
//
@Override
//
public BaseResponse macCafeCallbackUrl(MacCafeCallbackUrlRequestDto request) {
//
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() : "餐道主动取消");
//
} else {
//
orderManagerRequest.setReason(null);
//
}
//
orderManagerRequest.setOperator("配送回调");
//
//
//
Integer reviewStatus = request.getReviewStatus();
//
int deliveryStatus = request.getDeliveryStatus();
//
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())) {
//
orderManagerRequest.setOperateType(OperateType.ORDER_REJECT_REFUND.getOpType());
//
orderManagerRequest.setReason("配送回调-拒绝退款");
//
return orderManagerAdapter.mcCafeOrderRejectRefund(orderManagerRequest);
//
}
//
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())) {
//
updateDeliveryStatus(request);
//
}
//
sendMcCafeMicroMessage(request.getPartnerId(), request.getOrderId(), request.getDeliveryStatus());
//
return baseResponse;
//
} 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())) {
//
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()) {
//
updateDeliveryStatus(request);
//
return ResponseUtil.success();
//
} else if (deliveryStatus == DeliveryStatus.COLLECTING.getCode()) {
//
//推送订单到拉单队列
//
OrderCollectReq orderCollectReq = new OrderCollectReq();
//
orderCollectReq.setOrderCode(request.getOrderId());
//
orderCollectReq.setPartnerId(request.getPartnerId());
//
OrderBaseResp baseResponse = orderSdkService.collectOrder(orderCollectReq, LogThreadLocal.getTrackingNo());
//
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()) {
//
AssortmentUpdateDeliveryAbnormalRequest assortmentUpdateDeliveryAbnormalRequest = AssortmentUpdateDeliveryAbnormalRequest.builder()
//
.abnormalDesc(request.getRemark())
//
.deliveryId(request.getDeliveryId())
//
.orderCode(request.getOrderId())
//
.partnerId(request.getPartnerId())
//
.operator("餐道")
//
.build();
//
orderCenterSdkService.updateDeliveryAbnormal(assortmentUpdateDeliveryAbnormalRequest);
//
return ResponseUtil.success();
//
}
//
return ResponseUtil.error(ResponseResult.ORDER_DELIVERY_CALL_BACK_FAILED);
//
}
private
OrderBaseResponse
updateDeliveryStatus
(
MacCafeCallbackUrlRequestDto
request
)
{
UpdateDeliveryInfoByIdRequest
updateDeliveryInfoByIdRequest
=
new
UpdateDeliveryInfoByIdRequest
();
...
...
order-application-service/src/main/java/cn/freemud/service/impl/MCCafeOrderServiceImpl.java
View file @
ed597807
...
...
@@ -1329,7 +1329,7 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService {
extendParams
.
put
(
"mealType"
,
"pickup"
);
}
orderPayRefundRequest
.
setExtendParams
(
extendParams
);
response
=
payService
.
orderRefund
(
orderPayRefundRequest
);
//
response = payService.orderRefund(orderPayRefundRequest);
if
(
response
==
null
||
response
.
getData
()
==
null
||
!
com
.
freemud
.
sdk
.
api
.
assortment
.
order
.
domain
.
ResponseCodeConstant
.
RESPONSE_SUCCESS_STR
.
equals
(
response
.
getCode
()))
{
return
ResponseUtil
.
error
(
ResponseResult
.
ORDER__ERRORREFUND
.
getCode
(),
"orderRefund_failed"
);
}
...
...
order-application-service/src/main/java/cn/freemud/service/impl/MallOrderServiceImpl.java
View file @
ed597807
...
...
@@ -27,8 +27,10 @@ import cn.freemud.entities.vo.*;
import
cn.freemud.enums.*
;
import
cn.freemud.handler.MemberBlacklistHandler
;
import
cn.freemud.interceptor.ServiceException
;
import
cn.freemud.management.entities.dto.request.order.OrderManagerRequest
;
import
cn.freemud.management.entities.dto.request.pay.PayRefundRequestDto
;
import
cn.freemud.management.entities.dto.response.pay.OrderRefundResponse
;
import
cn.freemud.management.entities.dto.response.pay.PayRefundResponse
;
import
cn.freemud.manager.SpellGroupOrderDataManager
;
import
cn.freemud.redis.RedisCache
;
import
cn.freemud.service.BuriedPointService
;
...
...
@@ -683,19 +685,24 @@ public class MallOrderServiceImpl implements MallOrderService {
* @param orderBean
*/
private
BaseResponse
partnerNoTakeOrder
(
OrderRefundVo
orderRefundVo
,
OrderBeanV1
orderBean
,
String
fatherOrderId
)
{
com
.
freemud
.
application
.
sdk
.
api
.
base
.
BaseResponse
<
OrderRefundResponse
>
response
=
null
;
// PayRefundResponse
response = null;
Long
refundId
=
System
.
currentTimeMillis
();
String
partnerId
=
orderBean
.
getCompanyId
();
int
state
=
PayRefundStatus
.
SUCCESS
.
getCode
();
if
(
orderBean
.
getAmount
()
!=
0
)
{
//调用支付退款
PayRefundRequestDto
orderPayRefundRequest
=
orderAdapter
.
getOrderPayRefundRequest
(
orderBean
,
refundId
,
fatherOrderId
);
response
=
payServiceImpl
.
orderRefund
(
orderPayRefundRequest
);
if
(
response
==
null
||
response
.
getData
()
==
null
||
!
com
.
freemud
.
sdk
.
api
.
assortment
.
order
.
domain
.
ResponseCodeConstant
.
RESPONSE_SUCCESS_STR
.
equals
(
response
.
getCode
()))
{
return
ResponseUtil
.
error
(
ResponseResult
.
ORDER__ERRORREFUND
.
getCode
(),
"orderRefund_failed"
);
}
// PayRefundRequestDto orderPayRefundRequest = orderAdapter.getOrderPayRefundRequest(orderBean, refundId, fatherOrderId);
// response = payServiceImpl.orderRefund(orderPayRefundRequest);
// if (response == null || response.getData() == null || !com.freemud.sdk.api.assortment.order.domain.ResponseCodeConstant.RESPONSE_SUCCESS_STR.equals(response.getCode())) {
// return ResponseUtil.error(ResponseResult.ORDER__ERRORREFUND.getCode(), "orderRefund_failed");
// }
//获取支付返回退款状态
// state = response.getData().getRefundStatus() == null ? PayRefundStatus.SUCCESS.getCode() : response.getData().getRefundStatus();
OrderManagerRequest
request
=
new
OrderManagerRequest
();
request
.
setReason
(
orderRefundVo
.
getReason
());
PayRefundResponse
payRefundResponse
=
payServiceImpl
.
payRefundCommon
(
request
,
orderBean
);
//获取支付返回退款状态
state
=
response
.
getData
().
getRefundStatus
()
==
null
?
PayRefundStatus
.
SUCCESS
.
getCode
()
:
response
.
getData
().
getRefundStatus
();
state
=
payRefundResponse
.
getPayRefundStatus
()
==
null
?
PayRefundStatus
.
SUCCESS
.
getCode
()
:
payRefundResponse
.
getPayRefundStatus
().
getCode
();
}
CancelOrderRequest
cancelOrderRequest
=
orderAdapter
.
convent2CancelOrderRequest
(
orderBean
.
getOid
(),
partnerId
,
AfterSalesType
.
USER_CANCEL
,
orderRefundVo
.
getReason
(),
LogThreadLocal
.
getTrackingNo
(),
refundId
.
toString
());
...
...
order-application-service/src/main/java/cn/freemud/service/impl/OrderServiceImpl.java
View file @
ed597807
...
...
@@ -2081,7 +2081,7 @@ public class OrderServiceImpl implements Orderservice {
if
(
orderBean
.
getAmount
()
!=
0
)
{
OrderManagerRequest
orderManagerRequest
=
new
OrderManagerRequest
();
orderManagerRequest
.
setReason
(
orderRefundVo
.
getReason
());
PayRefundResponse
refundResponse
=
pay
mentHandle
.
getCommonPayRefundResponse
(
orderManagerRequest
,
orderBean
);
PayRefundResponse
refundResponse
=
pay
ServiceImpl
.
payRefundCommon
(
orderManagerRequest
,
orderBean
);
state
=
refundResponse
.
getPayRefundStatus
().
getCode
();
}
...
...
@@ -2824,7 +2824,11 @@ public class OrderServiceImpl implements Orderservice {
String
desc
=
"支付未及时回调"
;
PayRefundRequestDto
orderPayRefundRequest
=
orderAdapter
.
getOrderPayRefundRequest
(
orderBean
,
refundId
,
orderBean
.
getOid
());
// TODO: 22-6-23 待联调修改
response
=
payServiceImpl
.
orderRefund
(
orderPayRefundRequest
);
// OrderManagerRequest request = new OrderManagerRequest();
// request.setReason(desc);
// PayRefundResponse response = payServiceImpl.payRefundCommon(request, orderBean);
if
(
response
!=
null
&&
noPay
.
equals
(
response
.
getCode
()))
{
return
;
}
...
...
@@ -3517,6 +3521,7 @@ public class OrderServiceImpl implements Orderservice {
if
(
Integer
.
valueOf
(
1
).
equals
(
queryRefundFailuresListDto
.
getLastFailureType
())
||
Integer
.
valueOf
(
2
).
equals
(
queryRefundFailuresListDto
.
getLastFailureType
()))
{
Long
refundId
=
System
.
currentTimeMillis
();
// TODO: 22-6-23 退款逻辑待合并
if
(
orderBean
.
getAmount
()
!=
0
)
{
if
(
null
!=
orderBean
.
getOrderPayItem
()
&&
orderBean
.
getOrderPayItem
().
size
()
>
0
)
{
//调用支付退款
...
...
@@ -3778,8 +3783,9 @@ public class OrderServiceImpl implements Orderservice {
PayRefundResponse
refundResponse
;
try
{
if
(
null
!=
orderBean
.
getOrderPayItem
()
&&
orderBean
.
getOrderPayItem
().
size
()
>
0
)
{
refundResponse
=
pay
mentHandle
.
multiRefund
(
orderBean
);
refundResponse
=
pay
ServiceImpl
.
payRefundCommon
(
null
,
orderBean
);
}
else
{
// TODO: 22-6-23 待考虑合并到上面一起
refundResponse
=
paymentHandle
.
refund
(
"用户买券订单-申请退款"
,
orderBean
);
}
if
(
refundResponse
.
getPayRefundStatus
().
getCode
().
compareTo
(
PayRefundStatus
.
SUCCESS
.
getCode
())
!=
0
)
{
...
...
@@ -3936,5 +3942,4 @@ public class OrderServiceImpl implements Orderservice {
this
.
sendPaySuccessMessage
(
orderBean
);
}
}
order-application-service/src/main/java/cn/freemud/service/impl/PayServiceImpl.java
View file @
ed597807
...
...
@@ -28,13 +28,13 @@ import cn.freemud.enums.ResponseResult;
import
cn.freemud.enums.TradeState
;
import
cn.freemud.interceptor.ServiceException
;
import
cn.freemud.management.entities.dto.request.BatchOrderRefundV2Request
;
import
cn.freemud.management.entities.dto.request.order.OrderManagerRequest
;
import
cn.freemud.management.entities.dto.request.pay.PayRefundRequestDto
;
import
cn.freemud.management.entities.dto.request.pay.PaymentQueryOrderRequestDto
;
import
cn.freemud.management.entities.dto.response.pay.OrderRefundResponse
;
import
cn.freemud.management.entities.dto.response.pay.PayBatchRefundResponse
;
import
cn.freemud.management.entities.dto.response.pay.PayRefundData
;
import
cn.freemud.management.entities.dto.response.pay.*
;
import
cn.freemud.management.entities.dto.response.pay.PaymentQueryOrderResponseDto
;
import
cn.freemud.management.enums.PaymentRefundStatus
;
import
cn.freemud.management.service.handle.PaymentHandle
;
import
cn.freemud.management.thirdparty.MulitiPaymentClient
;
import
cn.freemud.management.thirdparty.OMSPaymentClient
;
import
cn.freemud.redis.RedisCache
;
...
...
@@ -100,6 +100,8 @@ public class PayServiceImpl {
private
PaymentNewClient
paymentNewClient
;
@Autowired
private
OMSPaymentClient
omsPaymentClient
;
@Autowired
private
PaymentHandle
paymentHandle
;
@Autowired
private
AssortmentOpenPlatformWxappManager
openPlatformWxappManager
;
...
...
@@ -861,20 +863,6 @@ public class PayServiceImpl {
/**
* 支付退款
*/
public
com
.
freemud
.
application
.
sdk
.
api
.
base
.
BaseResponse
<
OrderRefundResponse
>
orderRefund
(
PayRefundRequestDto
orderPayRefundRequest
)
{
return
orderPayRefund
(
orderPayRefundRequest
);
}
/**
* 混合支付退款接口
*/
public
MultiOrderRefundResponse
paymentApplicationRefund
(
MultiOrderRefundRequest
multiOrderRefundRequest
,
String
partnerId
)
{
return
mulitiPaymentClient
.
paymentApplicationRefund
(
multiOrderRefundRequest
,
partnerId
);
}
/**
* 批量支付退款
*/
public
PayBatchRefundResponse
batchRefund
(
BatchOrderRefundV2Request
batchOrderRefundV2Request
)
{
...
...
@@ -1644,4 +1632,33 @@ public class PayServiceImpl {
return
orderPayResponse
;
}
/**
* 支付退款
*/
public
com
.
freemud
.
application
.
sdk
.
api
.
base
.
BaseResponse
<
OrderRefundResponse
>
orderRefund
(
PayRefundRequestDto
orderPayRefundRequest
)
{
return
orderPayRefund
(
orderPayRefundRequest
);
}
/**
* 混合支付退款接口
*/
public
MultiOrderRefundResponse
paymentApplicationRefund
(
MultiOrderRefundRequest
multiOrderRefundRequest
,
String
partnerId
)
{
return
mulitiPaymentClient
.
paymentApplicationRefund
(
multiOrderRefundRequest
,
partnerId
);
}
/**
* 提取 退款公共代码
*
* @param request
* @param orderBean
* @return
*/
public
PayRefundResponse
payRefundCommon
(
OrderManagerRequest
request
,
OrderBeanV1
orderBean
)
{
PayRefundResponse
refundResponse
=
paymentHandle
.
getCommonPayRefundResponse
(
request
,
orderBean
);
return
refundResponse
;
}
}
order-application-service/src/main/java/cn/freemud/service/thirdparty/PaymentNewClient.java
View file @
ed597807
...
...
@@ -72,6 +72,7 @@ public interface PaymentNewClient {
/**
* 支付查询
* 关闭预支付使用
*/
@LogIgnoreFeign
(
logMessage
=
"payQuery"
)
@PostMapping
(
"paymentcenter/query"
)
...
...
order-management/src/main/java/cn/freemud/management/service/adapter/OrderBeanFactory.java
View file @
ed597807
...
...
@@ -34,9 +34,9 @@ public class OrderBeanFactory {
// String source = orderBean.getSource();
String
orderClient
=
orderBean
.
getOrderClient
();
String
companyId
=
orderBean
.
getCompanyId
();
if
(
macCafePartnerId
.
equals
(
companyId
)){
return
applicationContext
.
getBean
(
McCafeMangerServiceImpl
.
class
);
}
//
if (macCafePartnerId.equals(companyId)){
//
return applicationContext.getBean(McCafeMangerServiceImpl.class);
//
}
// if (OrderSource.BDWM.getSource().equals(source) || OrderSource.JDWM.getSource().equals(source)
// || OrderSource.MTWM.getSource().equals(source) || OrderSource.ELEME.getSource().equals(source)
// || OrderSource.FMWD.getSource().equals(source) || OrderSource.EBAI.getSource().equals(source)
...
...
order-management/src/main/java/cn/freemud/management/service/adapter/OrderManagerAdapter.java
View file @
ed597807
...
...
@@ -194,25 +194,25 @@ public class OrderManagerAdapter {
/**
* 同意退款或者取消订单
*/
public
BaseResponse
orderPayRefund
(
OrderManagerRequest
request
)
{
//查询订单
OrderBeanV1
orderBean
=
orderBaseService
.
getByOrderCode
(
request
.
getOrderId
());
if
(
null
==
orderBean
)
{
return
ResponseUtil
.
error
(
ResponseResult
.
ORDER_NOT_EXIST
);
}
if
(
CollectionUtils
.
isNotEmpty
(
orderBean
.
getRefundList
()))
{
//订单接单参数校验
BaseResponse
verifyResponse
=
orderVerifyHandle
.
orderAgreeRefundMCCafe
(
orderBean
,
request
);
if
(
ObjectUtils
.
notEqual
(
verifyResponse
.
getCode
(),
ResponseResult
.
SUCCESS
.
getCode
()))
{
return
handleResponse
(
request
,
orderBean
,
verifyResponse
);
}
BaseResponse
<
OrderManagerResponse
>
orderManagerResponse
=
orderBeanFactory
.
getOrderManagerService
(
orderBean
).
orderAgreeRefund
(
request
,
orderBean
);
return
handleResponse
(
request
,
orderBean
,
orderManagerResponse
);
}
else
{
BaseResponse
<
OrderManagerResponse
>
orderManagerResponse
=
orderBeanFactory
.
getOrderManagerService
(
orderBean
).
orderCancel
(
request
,
orderBean
);
return
handleResponse
(
request
,
orderBean
,
orderManagerResponse
);
}
}
//
public BaseResponse orderPayRefund(OrderManagerRequest request) {
//
//查询订单
//
OrderBeanV1 orderBean = orderBaseService.getByOrderCode(request.getOrderId());
//
if (null == orderBean) {
//
return ResponseUtil.error(ResponseResult.ORDER_NOT_EXIST);
//
}
//
if (CollectionUtils.isNotEmpty(orderBean.getRefundList())) {
//
//订单接单参数校验
//
BaseResponse verifyResponse = orderVerifyHandle.orderAgreeRefundMCCafe(orderBean, request);
//
if (ObjectUtils.notEqual(verifyResponse.getCode(), ResponseResult.SUCCESS.getCode())) {
//
return handleResponse(request, orderBean, verifyResponse);
//
}
//
BaseResponse<OrderManagerResponse> orderManagerResponse = orderBeanFactory.getOrderManagerService(orderBean).orderAgreeRefund(request, orderBean);
//
return handleResponse(request, orderBean, orderManagerResponse);
//
} else {
//
BaseResponse<OrderManagerResponse> orderManagerResponse = orderBeanFactory.getOrderManagerService(orderBean).orderCancel(request, orderBean);
//
return handleResponse(request, orderBean, orderManagerResponse);
//
}
//
}
/**
* 拒绝退款
...
...
@@ -264,20 +264,20 @@ public class OrderManagerAdapter {
* @param request
* @return
*/
public
BaseResponse
mcCafeOrderRejectRefund
(
OrderManagerRequest
request
)
{
//查询订单
OrderBeanV1
orderBean
=
orderBaseService
.
getByOrderCode
(
request
.
getOrderId
());
if
(
null
==
orderBean
)
{
return
ResponseUtil
.
error
(
ResponseResult
.
ORDER_NOT_EXIST
);
}
//订单接单参数校验
BaseResponse
verifyResponse
=
orderVerifyHandle
.
mcCafeOrderRejectRefund
(
orderBean
,
request
);
if
(
ObjectUtils
.
notEqual
(
verifyResponse
.
getCode
(),
ResponseResult
.
SUCCESS
.
getCode
()))
{
return
handleResponse
(
request
,
orderBean
,
verifyResponse
);
}
BaseResponse
<
OrderManagerResponse
>
orderManagerResponse
=
orderBeanFactory
.
getOrderManagerService
(
orderBean
).
orderRejectRefund
(
request
,
orderBean
);
return
handleResponse
(
request
,
orderBean
,
orderManagerResponse
);
}
//
public BaseResponse mcCafeOrderRejectRefund(OrderManagerRequest request) {
//
//查询订单
//
OrderBeanV1 orderBean = orderBaseService.getByOrderCode(request.getOrderId());
//
if (null == orderBean) {
//
return ResponseUtil.error(ResponseResult.ORDER_NOT_EXIST);
//
}
//
//订单接单参数校验
//
BaseResponse verifyResponse = orderVerifyHandle.mcCafeOrderRejectRefund(orderBean, request);
//
if (ObjectUtils.notEqual(verifyResponse.getCode(), ResponseResult.SUCCESS.getCode())) {
//
return handleResponse(request, orderBean, verifyResponse);
//
}
//
BaseResponse<OrderManagerResponse> orderManagerResponse = orderBeanFactory.getOrderManagerService(orderBean).orderRejectRefund(request, orderBean);
//
return handleResponse(request, orderBean, orderManagerResponse);
//
}
private
BaseResponse
<
OrderManagerResponse
>
handleResponse
(
OrderManagerRequest
request
,
OrderBeanV1
orderBean
,
BaseResponse
result
)
{
...
...
order-management/src/main/java/cn/freemud/management/service/handle/PaymentHandle.java
View file @
ed597807
This diff is collapsed.
Click to expand it.
order-management/src/main/java/cn/freemud/management/service/impl/MallOrderMangerServiceImpl.java
View file @
ed597807
...
...
@@ -14,12 +14,16 @@ import cn.freemud.management.service.handle.*;
import
cn.freemud.management.util.ResponseUtil
;
import
com.alibaba.fastjson.JSONObject
;
import
com.freemud.application.sdk.api.constant.ResponseConstant
;
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.enums.AfterSalesStatus
;
import
com.freemud.application.sdk.api.ordercenter.enums.BizTypeEnum
;
import
com.freemud.application.sdk.api.ordercenter.enums.MarketTypeEnum
;
import
com.freemud.application.sdk.api.ordercenter.enums.RefundModeEnum
;
import
com.freemud.application.sdk.api.ordercenter.request.AfterOrderExtInfoDto
;
import
com.freemud.application.sdk.api.ordercenter.request.AfterSalesRefundFailReq
;
import
com.freemud.application.sdk.api.ordercenter.service.OrderSdkService
;
import
com.freemud.sdk.api.assortment.order.enums.PayRefundStatus
;
import
org.apache.commons.lang.ObjectUtils
;
import
org.apache.commons.lang.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
...
@@ -52,6 +56,8 @@ public class MallOrderMangerServiceImpl implements OrderManagerService {
private
StockHandle
stockHandle
;
@Autowired
private
ActivityHandle
activityHandle
;
@Autowired
private
OrderSdkService
orderSdkService
;
/**
* 同意退款
...
...
@@ -89,11 +95,10 @@ public class MallOrderMangerServiceImpl implements OrderManagerService {
}
//支付退款
PayRefundResponse
refundResponse
=
new
PayRefundResponse
();
try
{
refundResponse
=
paymentHandle
.
refund
(
request
,
orderBean
);
}
catch
(
OrderServiceException
orderEx
)
{
return
ResponseUtil
.
error
(
orderEx
.
getResult
());
PayRefundResponse
refundResponse
=
this
.
payRefundCommon
(
request
,
orderBean
);
//fisherman --> 退款中的状态 阻止后续流程 等待支付回调 不是退款成功 都终止下面的退款流程
if
(
refundResponse
.
getPayRefundStatus
().
getCode
().
compareTo
(
PayRefundStatus
.
SUCCESS
.
getCode
())
!=
0
)
{
return
ResponseUtil
.
error
(
ResponseResult
.
REFUND_FAIL
);
}
//订单同意退款
mallOrderHandle
.
refundAgree
(
request
,
refundResponse
,
orderBean
);
...
...
@@ -117,11 +122,10 @@ public class MallOrderMangerServiceImpl implements OrderManagerService {
}
//支付退款
PayRefundResponse
refundResponse
=
new
PayRefundResponse
();
try
{
refundResponse
=
paymentHandle
.
refund
(
request
,
orderBean
);
}
catch
(
OrderServiceException
orderEx
)
{
return
ResponseUtil
.
error
(
orderEx
.
getResult
());
PayRefundResponse
refundResponse
=
this
.
payRefundCommon
(
request
,
orderBean
);
//fisherman --> 退款中的状态 阻止后续流程 等待支付回调 不是退款成功 都终止下面的退款流程
if
(
refundResponse
.
getPayRefundStatus
().
getCode
().
compareTo
(
PayRefundStatus
.
SUCCESS
.
getCode
())
!=
0
)
{
return
ResponseUtil
.
error
(
ResponseResult
.
REFUND_FAIL
);
}
//订单同意退款
mallOrderHandle
.
refundAgree
(
request
,
refundResponse
,
orderBean
);
...
...
@@ -161,15 +165,10 @@ public class MallOrderMangerServiceImpl implements OrderManagerService {
@Override
public
BaseResponse
<
OrderManagerResponse
>
orderReject
(
OrderManagerRequest
request
,
OrderBeanV1
orderBean
)
{
//支付退款
PayRefundResponse
refundResponse
=
new
PayRefundResponse
();
try
{
if
(
null
!=
orderBean
.
getOrderPayItem
()
&&
orderBean
.
getOrderPayItem
().
size
()>
0
){
refundResponse
=
paymentHandle
.
multiRefund
(
orderBean
);
}
else
{
refundResponse
=
paymentHandle
.
refund
(
request
,
orderBean
);
}
}
catch
(
OrderServiceException
orderEx
){
// 爱马哥兼容,不抛错
return
ResponseUtil
.
error
(
orderEx
.
getResult
());
PayRefundResponse
refundResponse
=
this
.
payRefundCommon
(
request
,
orderBean
);
//fisherman --> 退款中的状态 阻止后续流程 等待支付回调 不是退款成功 都终止下面的退款流程
if
(
refundResponse
.
getPayRefundStatus
().
getCode
().
compareTo
(
PayRefundStatus
.
SUCCESS
.
getCode
())
!=
0
)
{
return
ResponseUtil
.
error
(
ResponseResult
.
REFUND_FAIL
);
}
//订单拒单
mallOrderHandle
.
mallOrderReject
(
request
,
refundResponse
,
orderBean
);
...
...
@@ -181,4 +180,28 @@ public class MallOrderMangerServiceImpl implements OrderManagerService {
return
ResponseUtil
.
success
();
}
/**
* 提取 退款公共代码
*
* @param request
* @param orderBean
* @return
*/
private
PayRefundResponse
payRefundCommon
(
OrderManagerRequest
request
,
OrderBeanV1
orderBean
)
{
PayRefundResponse
refundResponse
=
paymentHandle
.
getCommonPayRefundResponse
(
request
,
orderBean
);
//同意退款失败记录到订单售后单
if
(
orderBean
.
getAfterSalesOrderResp
()
!=
null
&&
refundResponse
.
getPayRefundStatus
().
getCode
().
compareTo
(
PayRefundStatus
.
SUCCESS
.
getCode
())
!=
0
)
{
AfterSalesRefundFailReq
refundFailReq
=
new
AfterSalesRefundFailReq
();
refundFailReq
.
setOrderCode
(
orderBean
.
getOid
());
refundFailReq
.
setPartnerId
(
orderBean
.
getCompanyId
());
refundFailReq
.
setRefundFailReason
(
"退款失败或退款中,"
+
refundResponse
.
getMessage
());
refundFailReq
.
setAfterSalesCode
(
orderBean
.
getAfterSalesOrderResp
().
getAfterSalesCode
());
refundFailReq
.
setOperationClient
(
request
.
getAfterSalesApplyClient
());
refundFailReq
.
setOperator
(
request
.
getOperator
());
orderSdkService
.
refundFail
(
refundFailReq
,
LogThreadLocal
.
getTrackingNo
());
}
return
refundResponse
;
}
}
order-management/src/main/java/cn/freemud/management/service/impl/McCafeMangerServiceImpl.java
View file @
ed597807
This diff is collapsed.
Click to expand it.
order-management/src/main/java/cn/freemud/management/service/impl/NewMallOrderMangerServiceImpl.java
View file @
ed597807
...
...
@@ -4,6 +4,7 @@ import cn.freemud.base.entity.BaseResponse;
import
cn.freemud.management.entities.dto.request.order.OrderManagerRequest
;
import
cn.freemud.management.entities.dto.response.order.OrderManagerResponse
;
import
cn.freemud.management.entities.dto.response.pay.PayRefundResponse
;
import
cn.freemud.management.enums.ResponseResult
;
import
cn.freemud.management.service.OrderManagerService
;
import
cn.freemud.management.service.handle.ActivityHandle
;
import
cn.freemud.management.service.handle.MallOrderHandle
;
...
...
@@ -11,12 +12,16 @@ import cn.freemud.management.service.handle.PaymentHandle;
import
cn.freemud.management.service.handle.StockHandle
;
import
cn.freemud.management.util.ResponseUtil
;
import
com.alibaba.fastjson.JSONObject
;
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.enums.AfterSalesStatus
;
import
com.freemud.application.sdk.api.ordercenter.enums.PayChannelType
;
import
com.freemud.application.sdk.api.ordercenter.enums.RefundModeEnum
;
import
com.freemud.application.sdk.api.ordercenter.request.AfterOrderExtInfoDto
;
import
com.freemud.application.sdk.api.ordercenter.request.AfterSalesRefundFailReq
;
import
com.freemud.application.sdk.api.ordercenter.response.orderInfo.OrderPayItemResp
;
import
com.freemud.application.sdk.api.ordercenter.service.OrderSdkService
;
import
com.freemud.sdk.api.assortment.order.enums.PayRefundStatus
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.lang.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
...
@@ -45,6 +50,8 @@ public class NewMallOrderMangerServiceImpl implements OrderManagerService {
private
StockHandle
stockHandle
;
@Autowired
private
ActivityHandle
activityHandle
;
@Autowired
private
OrderSdkService
orderSdkService
;
/**
* 同意退款
...
...
@@ -67,34 +74,37 @@ public class NewMallOrderMangerServiceImpl implements OrderManagerService {
// 修改售后单状态为退货中
mallOrderHandle
.
mallOrderAgreeApply
(
request
,
orderBean
);
}
else
{
//支付退款
PayRefundResponse
refundResponse
;
boolean
cashPay
=
false
;
boolean
svcPay
=
false
;
if
(
CollectionUtils
.
isNotEmpty
(
orderBean
.
getOrderPayItem
())){
for
(
OrderPayItemResp
payItemResp
:
orderBean
.
getOrderPayItem
()){
if
(
Objects
.
equals
(
payItemResp
.
getPayChannelType
(),(
int
)
PayChannelType
.
SVC
.
getIndex
())){
svcPay
=
true
;
}
if
(
Objects
.
equals
(
payItemResp
.
getPayChannelType
(),(
int
)
PayChannelType
.
WECHAT
.
getIndex
())){
cashPay
=
true
;
}
if
(
Objects
.
equals
(
payItemResp
.
getPayChannelType
(),(
int
)
PayChannelType
.
ALIPAY
.
getIndex
())){
cashPay
=
true
;
}
}
PayRefundResponse
refundResponse
=
this
.
payRefundCommon
(
request
,
orderBean
);
// 退款异常
if
(
refundResponse
.
getPayRefundStatus
().
getCode
().
compareTo
(
PayRefundStatus
.
COMPATIBILITY_STATUS
.
getCode
())
==
0
)
{
return
ResponseUtil
.
error
(
refundResponse
.
getResult
());
}
if
(
cashPay
&&
svcPay
)
{
refundResponse
=
paymentHandle
.
multiRefund
(
orderBean
);
}
else
{
// OrderExtendedReq ext = orderBean.getOrderExtended();
// if (StringUtils.isNotBlank(ext.getAgentPayerId()) && !Objects.equals(ext.getAgentPayerId(), orderBean.getUserId())) {
// //代付人信息不为空 并且和订单创建人不一样,表示代付单
// refundResponse = paymentHandle.agentPayRefund(orderBean);
// }
refundResponse
=
paymentHandle
.
refund
(
request
,
orderBean
);
// fisherman --> 退款中的状态 阻止后续流程 等待支付回调 不是退款成功 都终止下面的退款流程
if
(
refundResponse
.
getPayRefundStatus
().
getCode
().
compareTo
(
PayRefundStatus
.
SUCCESS
.
getCode
())
!=
0
)
{
return
ResponseUtil
.
error
(
ResponseResult
.
REFUND_FAIL_WAIT_CALLBACK
);
}
// PayRefundResponse refundResponse;
// boolean cashPay = false;
// boolean svcPay = false;
// if(CollectionUtils.isNotEmpty(orderBean.getOrderPayItem())){
// for (OrderPayItemResp payItemResp : orderBean.getOrderPayItem()){
// if(Objects.equals(payItemResp.getPayChannelType(),(int)PayChannelType.SVC.getIndex())){
// svcPay = true;
// }
// if(Objects.equals(payItemResp.getPayChannelType(),(int)PayChannelType.WECHAT.getIndex())){
// cashPay = true;
// }
// if(Objects.equals(payItemResp.getPayChannelType(),(int)PayChannelType.ALIPAY.getIndex())){
// cashPay = true;
// }
// }
// }
// if (cashPay && svcPay) {
// refundResponse = paymentHandle.multiRefund(orderBean);
// } else {
// refundResponse = paymentHandle.getCommonPayRefundResponse(request, orderBean);
// }
//订单同意退款
mallOrderHandle
.
refundAgree
(
request
,
refundResponse
,
orderBean
);
//冲正库存
...
...
@@ -129,4 +139,28 @@ public class NewMallOrderMangerServiceImpl implements OrderManagerService {
return
ResponseUtil
.
error
(
"501"
,
"暂无"
);
}
/**
* 提取 退款公共代码
*
* @param request
* @param orderBean
* @return
*/
private
PayRefundResponse
payRefundCommon
(
OrderManagerRequest
request
,
OrderBeanV1
orderBean
)
{
PayRefundResponse
refundResponse
=
paymentHandle
.
getCommonPayRefundResponse
(
request
,
orderBean
);
//同意退款失败记录到订单售后单
if
(
orderBean
.
getAfterSalesOrderResp
()
!=
null
&&
refundResponse
.
getPayRefundStatus
().
getCode
().
compareTo
(
PayRefundStatus
.
SUCCESS
.
getCode
())
!=
0
)
{
AfterSalesRefundFailReq
refundFailReq
=
new
AfterSalesRefundFailReq
();
refundFailReq
.
setOrderCode
(
orderBean
.
getOid
());
refundFailReq
.
setPartnerId
(
orderBean
.
getCompanyId
());
refundFailReq
.
setRefundFailReason
(
"退款失败或退款中,"
+
refundResponse
.
getMessage
());
refundFailReq
.
setAfterSalesCode
(
orderBean
.
getAfterSalesOrderResp
().
getAfterSalesCode
());
refundFailReq
.
setOperationClient
(
request
.
getAfterSalesApplyClient
());
refundFailReq
.
setOperator
(
request
.
getOperator
());
orderSdkService
.
refundFail
(
refundFailReq
,
LogThreadLocal
.
getTrackingNo
());
}
return
refundResponse
;
}
}
order-management/src/main/java/cn/freemud/management/service/impl/SaasOrderMangerServiceImpl.java
View file @
ed597807
...
...
@@ -207,15 +207,14 @@ public class SaasOrderMangerServiceImpl implements OrderManagerService {
@Override
public
BaseResponse
<
OrderManagerResponse
>
orderReject
(
OrderManagerRequest
request
,
OrderBeanV1
orderBean
)
{
//支付退款
PayRefundResponse
refundResponse
;
try
{
if
(
null
!=
orderBean
.
getOrderPayItem
()
&&
orderBean
.
getOrderPayItem
().
size
()
>
0
)
{
refundResponse
=
paymentHandle
.
multiRefund
(
orderBean
);
}
else
{
refundResponse
=
paymentHandle
.
refund
(
request
,
orderBean
);
}
}
catch
(
OrderServiceException
orderEx
)
{
// 爱马哥兼容,不抛错
return
ResponseUtil
.
error
(
orderEx
.
getResult
());
PayRefundResponse
refundResponse
=
this
.
payRefundCommon
(
request
,
orderBean
);
// 退款异常
if
(
refundResponse
.
getPayRefundStatus
().
getCode
().
compareTo
(
PayRefundStatus
.
COMPATIBILITY_STATUS
.
getCode
())
==
0
)
{
return
ResponseUtil
.
error
(
refundResponse
.
getResult
());
}
// fisherman --> 退款中的状态 阻止后续流程 等待支付回调 不是退款成功 都终止下面的退款流程
if
(
refundResponse
.
getPayRefundStatus
().
getCode
().
compareTo
(
PayRefundStatus
.
SUCCESS
.
getCode
())
!=
0
)
{
return
ResponseUtil
.
error
(
ResponseResult
.
REFUND_FAIL_WAIT_CALLBACK
);
}
//订单拒单
saasOrderHandle
.
orderReject
(
request
,
refundResponse
,
orderBean
);
...
...
@@ -240,7 +239,7 @@ public class SaasOrderMangerServiceImpl implements OrderManagerService {
//取消配送单
deliveryHandle
.
cancelDelivery
(
orderBean
,
request
);
//支付退款
PayRefundResponse
refundResponse
=
this
.
getPayRefundResponse
(
request
,
orderBean
);
PayRefundResponse
refundResponse
=
this
.
payRefundCommon
(
request
,
orderBean
);
// 退款异常
if
(
refundResponse
.
getPayRefundStatus
().
getCode
().
compareTo
(
PayRefundStatus
.
COMPATIBILITY_STATUS
.
getCode
())
==
0
)
{
return
ResponseUtil
.
error
(
refundResponse
.
getResult
());
...
...
@@ -261,20 +260,20 @@ public class SaasOrderMangerServiceImpl implements OrderManagerService {
}
/**
* 提
出
退款公共代码
* 提
取
退款公共代码
*
* @param request
* @param orderBean
* @return
*/
private
PayRefundResponse
getPayRefundResponse
(
OrderManagerRequest
request
,
OrderBeanV1
orderBean
)
{
private
PayRefundResponse
payRefundCommon
(
OrderManagerRequest
request
,
OrderBeanV1
orderBean
)
{
PayRefundResponse
refundResponse
=
paymentHandle
.
getCommonPayRefundResponse
(
request
,
orderBean
);
//退款失败记录到订单售后单
if
(
refundResponse
.
getPayRefundStatus
().
getCode
().
compareTo
(
PayRefundStatus
.
SUCCESS
.
getCode
())
!=
0
)
{
//
同意
退款失败记录到订单售后单
if
(
orderBean
.
getAfterSalesOrderResp
()
!=
null
&&
refundResponse
.
getPayRefundStatus
().
getCode
().
compareTo
(
PayRefundStatus
.
SUCCESS
.
getCode
())
!=
0
)
{
AfterSalesRefundFailReq
refundFailReq
=
new
AfterSalesRefundFailReq
();
refundFailReq
.
setOrderCode
(
orderBean
.
getOid
());
refundFailReq
.
setPartnerId
(
orderBean
.
getCompanyId
());
refundFailReq
.
setRefundFailReason
(
"退款失败
"
);
refundFailReq
.
setRefundFailReason
(
"退款失败
或退款中,"
+
refundResponse
.
getMessage
()
);
refundFailReq
.
setAfterSalesCode
(
orderBean
.
getAfterSalesOrderResp
().
getAfterSalesCode
());
refundFailReq
.
setOperationClient
(
request
.
getAfterSalesApplyClient
());
refundFailReq
.
setOperator
(
request
.
getOperator
());
...
...
@@ -322,7 +321,7 @@ public class SaasOrderMangerServiceImpl implements OrderManagerService {
}
else
if
(
OrderSourceV1
.
POS
.
getCode
().
equals
(
orderBean
.
getSource
()))
{
return
posCancel
(
orderBean
);
}
return
ResponseUtil
.
success
(
);
return
ResponseUtil
.
error
(
"501"
,
"暂不支持"
);
}
/**
...
...
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