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