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
6111c8d6
Commit
6111c8d6
authored
Jun 13, 2022
by
周晓航
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
新增 未接单的退款售后处理逻辑
parent
269947c8
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
75 additions
and
64 deletions
+75
-64
assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/enums/PayRefundStatus.java
+2
-1
order-application-service/src/main/java/cn/freemud/enums/ResponseResult.java
+1
-0
order-application-service/src/main/java/cn/freemud/service/impl/OrderServiceImpl.java
+19
-41
order-management/src/main/java/cn/freemud/management/entities/dto/response/pay/PayRefundResponse.java
+6
-0
order-management/src/main/java/cn/freemud/management/service/adapter/OrderManagerAdapter.java
+0
-0
order-management/src/main/java/cn/freemud/management/service/handle/PaymentHandle.java
+27
-0
order-management/src/main/java/cn/freemud/management/service/impl/SaasOrderMangerServiceImpl.java
+20
-22
No files found.
assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/enums/PayRefundStatus.java
View file @
6111c8d6
...
@@ -19,7 +19,8 @@ public enum PayRefundStatus {
...
@@ -19,7 +19,8 @@ public enum PayRefundStatus {
/**
/**
* 额外状态码 用于判断逻辑,
* 额外状态码 用于判断逻辑,
*/
*/
NOT_SUFFICIENT_FUNDS
(
8200201
,
"余额不足"
);
NOT_SUFFICIENT_FUNDS
(
8200201
,
"余额不足"
),
COMPATIBILITY_STATUS
(
9999999
,
"兼容爱马哥报错"
);
private
Integer
code
;
private
Integer
code
;
private
String
desc
;
private
String
desc
;
...
...
order-application-service/src/main/java/cn/freemud/enums/ResponseResult.java
View file @
6111c8d6
...
@@ -206,6 +206,7 @@ public enum ResponseResult {
...
@@ -206,6 +206,7 @@ public enum ResponseResult {
*/
*/
PAY_BACKEND_CONFIG_ERROR
(
"58003"
,
"支付交易异常"
,
"Abnormal payment transaction"
),
PAY_BACKEND_CONFIG_ERROR
(
"58003"
,
"支付交易异常"
,
"Abnormal payment transaction"
),
PAY_SVC_CONFIG_ERROR
(
"58004"
,
"不支持储值卡支付"
,
""
),
PAY_SVC_CONFIG_ERROR
(
"58004"
,
"不支持储值卡支付"
,
""
),
PAY_REFUND_ERROR
(
"58005"
,
"退款已受理,请等待"
,
""
),
/**
/**
* 优惠券活动
* 优惠券活动
*/
*/
...
...
order-application-service/src/main/java/cn/freemud/service/impl/OrderServiceImpl.java
View file @
6111c8d6
...
@@ -2018,9 +2018,9 @@ public class OrderServiceImpl implements Orderservice {
...
@@ -2018,9 +2018,9 @@ public class OrderServiceImpl implements Orderservice {
BaseResponse
baseResponse
=
partnerNoTakeOrder
(
orderRefundVo
,
orderBean
,
orderId
,
AfterSalesType
.
USER_CANCEL
,
isRefundDeliveryFee
);
BaseResponse
baseResponse
=
partnerNoTakeOrder
(
orderRefundVo
,
orderBean
,
orderId
,
AfterSalesType
.
USER_CANCEL
,
isRefundDeliveryFee
);
if
(
baseResponse
!=
null
)
{
if
(
baseResponse
!=
null
)
{
return
baseResponse
;
return
baseResponse
;
}
}
// 删除订单 通知活动添加商品库存
// 删除订单 通知活动添加商品库存
orderQueueService
.
backOrdersStatusChange
(
orderBean
.
getOid
(),
orderBean
.
getStatus
(),
orderBean
.
getPayStatus
());
orderQueueService
.
backOrdersStatusChange
(
orderBean
.
getOid
(),
orderBean
.
getStatus
(),
orderBean
.
getPayStatus
());
}
else
{
}
else
{
CancelOrderRequest
cancelOrderRequest
=
new
CancelOrderRequest
();
CancelOrderRequest
cancelOrderRequest
=
new
CancelOrderRequest
();
cancelOrderRequest
.
setPartnerId
(
orderBean
.
getCompanyId
());
cancelOrderRequest
.
setPartnerId
(
orderBean
.
getCompanyId
());
...
@@ -2074,50 +2074,24 @@ public class OrderServiceImpl implements Orderservice {
...
@@ -2074,50 +2074,24 @@ public class OrderServiceImpl implements Orderservice {
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
)
{
if
(
null
!=
orderBean
.
getOrderPayItem
()
&&
orderBean
.
getOrderPayItem
().
size
()
>
0
)
{
OrderManagerRequest
orderManagerRequest
=
new
OrderManagerRequest
();
//调用支付退款
orderManagerRequest
.
setReason
(
orderRefundVo
.
getReason
());
MultiOrderRefundRequest
multiOrderRefundRequest
=
orderAdapter
.
getMultiOrderPayRefundRequest
(
orderBean
,
refundId
);
PayRefundResponse
refundResponse
=
paymentHandle
.
getCommonPayRefundResponse
(
orderManagerRequest
,
orderBean
);
MultiOrderRefundResponse
multiOrderRefundResponse
=
payServiceImpl
.
paymentApplicationRefund
(
multiOrderRefundRequest
,
orderBean
.
getCompanyId
());
state
=
refundResponse
.
getPayRefundStatus
().
getCode
();
if
(
multiOrderRefundResponse
==
null
||
multiOrderRefundResponse
.
getData
()
==
null
||
!
com
.
freemud
.
sdk
.
api
.
assortment
.
order
.
domain
.
ResponseCodeConstant
.
ORDER_PAY_RESPONSE_SUCCESS
.
equals
(
multiOrderRefundResponse
.
getCode
()))
{
return
ResponseUtil
.
error
(
ResponseResult
.
MULTIORDER__ERRORREFUND
.
getCode
(),
"multiOrderRefund_failed"
);
}
List
<
MultiOrderRefundResponse
.
RefundPlatformResponse
>
refundPlatformResponseList
=
multiOrderRefundResponse
.
getData
().
refundPlatformResponseList
;
if
(
null
!=
refundPlatformResponseList
&&
refundPlatformResponseList
.
size
()
>
0
)
{
redisCache
.
save
(
RedisUtil
.
getPaymentTransIdSequenceKey
(
refundPlatformResponseList
.
get
(
0
).
getTransId
()),
orderBean
.
getOid
(),
1L
,
TimeUnit
.
DAYS
);
}
//获取支付返回退款状态
state
=
PayRefundStatus
.
SUCCESS
.
getCode
();
}
else
{
OrderExtendedReq
ext
=
orderBean
.
getOrderExtended
();
if
(
StringUtils
.
isNotBlank
(
ext
.
getAgentPayerId
())
&&
!
Objects
.
equals
(
ext
.
getAgentPayerId
(),
orderBean
.
getUserId
()))
{
//代付人信息不为空 并且和订单创建人不一样,表示代付单
PayRefundResponse
resp
=
paymentHandle
.
agentPayRefund
(
orderBean
);
state
=
resp
.
getPayRefundStatus
().
getCode
();
}
else
{
//调用支付退款
PayRefundRequestDto
orderPayRefundRequest
=
orderAdapter
.
getOrderPayRefundRequest
(
orderBean
,
refundId
,
fatherOrderId
);
//抖音支付退款必传
orderPayRefundRequest
.
setRefundDesc
(
orderRefundVo
.
getReason
()
==
null
?
"用户退款"
:
orderRefundVo
.
getReason
());
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
();
}
}
}
}
CancelOrderRequest
cancelOrderRequest
=
orderAdapter
.
convent2CancelOrderRequest
(
orderBean
.
getOid
(),
CancelOrderRequest
cancelOrderRequest
=
orderAdapter
.
convent2CancelOrderRequest
(
orderBean
.
getOid
(),
partnerId
,
afterSalesType
,
orderRefundVo
.
getReason
(),
LogThreadLocal
.
getTrackingNo
(),
refundId
.
toString
());
partnerId
,
afterSalesType
,
orderRefundVo
.
getReason
(),
LogThreadLocal
.
getTrackingNo
(),
refundId
.
toString
());
cancelOrderRequest
.
setOperator
(
orderBean
.
getUserName
());
cancelOrderRequest
.
setOperator
(
orderBean
.
getUserName
());
cancelOrderRequest
.
setPartnerId
(
orderBean
.
getCompanyId
());
cancelOrderRequest
.
setPartnerId
(
orderBean
.
getCompanyId
());
if
(
Objects
.
equals
(
PayRefundStatus
.
RUNNING
.
getCode
(),
state
))
{
if
(
Objects
.
equals
(
PayRefundStatus
.
FAIL
.
getCode
(),
state
))
{
// 退款中
// 退款中
cancelOrderRequest
.
setCreateEvent
(
AfterSalesOrderCreateEventEnum
.
RETURN_COMPLETE
.
getCreateEvent
());
cancelOrderRequest
.
setCreateEvent
(
AfterSalesOrderCreateEventEnum
.
RETURN_COMPLETE
.
getCreateEvent
());
}
else
if
(
Objects
.
equals
(
PayRefundStatus
.
SUCCESS
.
getCode
(),
state
))
{
}
else
if
(
Objects
.
equals
(
PayRefundStatus
.
SUCCESS
.
getCode
(),
state
))
{
//退款成功
//退款成功
cancelOrderRequest
.
setCreateEvent
(
AfterSalesOrderCreateEventEnum
.
REFUND_COMPLETE
.
getCreateEvent
());
cancelOrderRequest
.
setCreateEvent
(
AfterSalesOrderCreateEventEnum
.
REFUND_COMPLETE
.
getCreateEvent
());
}
else
if
(
Objects
.
equals
(
PayRefundStatus
.
RUNNING
.
getCode
(),
state
))
{
cancelOrderRequest
.
setCreateEvent
(
null
);
}
}
cancelOrderRequest
.
setReqRemark
(
orderRefundVo
.
getRemarks
());
cancelOrderRequest
.
setReqRemark
(
orderRefundVo
.
getRemarks
());
cancelOrderRequest
.
setRefundDeliveryAmount
(
isRefundDeliveryFee
);
cancelOrderRequest
.
setRefundDeliveryAmount
(
isRefundDeliveryFee
);
...
@@ -2130,6 +2104,11 @@ public class OrderServiceImpl implements Orderservice {
...
@@ -2130,6 +2104,11 @@ public class OrderServiceImpl implements Orderservice {
if
(
baseOrderResponse
==
null
||
!
ObjectUtils
.
equals
(
ResponseConstant
.
SUCCESS_RESPONSE_CODE
,
baseOrderResponse
.
getErrcode
()))
{
if
(
baseOrderResponse
==
null
||
!
ObjectUtils
.
equals
(
ResponseConstant
.
SUCCESS_RESPONSE_CODE
,
baseOrderResponse
.
getErrcode
()))
{
return
ResponseUtil
.
error
(
ResponseResult
.
ORDER__ERRORREFUND
.
getCode
(),
"orderRefund_failed"
);
return
ResponseUtil
.
error
(
ResponseResult
.
ORDER__ERRORREFUND
.
getCode
(),
"orderRefund_failed"
);
}
}
if
(
state
==
PayRefundStatus
.
RUNNING
.
getCode
().
intValue
())
{
// 如果退款中, 直接来个申请记录, 退款回调进行处理
return
ResponseUtil
.
error
(
ResponseResult
.
PAY_REFUND_ERROR
);
}
return
null
;
return
null
;
}
}
...
@@ -2336,7 +2315,7 @@ public class OrderServiceImpl implements Orderservice {
...
@@ -2336,7 +2315,7 @@ public class OrderServiceImpl implements Orderservice {
messageTemplateRequest
.
setMessageEventType
(
messageEventType
);
messageTemplateRequest
.
setMessageEventType
(
messageEventType
);
com
.
freemud
.
application
.
sdk
.
api
.
base
.
BaseResponse
baseResponse
=
this
.
messageTemplatePushService
.
sendTemplateMsg
(
messageTemplateRequest
);
com
.
freemud
.
application
.
sdk
.
api
.
base
.
BaseResponse
baseResponse
=
this
.
messageTemplatePushService
.
sendTemplateMsg
(
messageTemplateRequest
);
if
(!
Objects
.
equals
(
baseResponse
.
getCode
(),
ResponseResultEnum
.
SUCCESS
.
getCode
()))
{
if
(!
Objects
.
equals
(
baseResponse
.
getCode
(),
ResponseResultEnum
.
SUCCESS
.
getCode
()))
{
AppLogUtil
.
errorLog
(
"发送支付成功模板消息 失败"
,
orderBean
.
getOid
(),
JSON
.
toJSONString
(
baseResponse
),
null
);
AppLogUtil
.
errorLog
(
"发送支付成功模板消息 失败"
,
orderBean
.
getOid
(),
JSON
.
toJSONString
(
baseResponse
),
null
);
}
}
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
AppLogUtil
.
errorLog
(
"sendTemplateMsg_error"
,
JSONObject
.
toJSONString
(
orderBean
),
JSONObject
.
toJSONString
(
messageTemplateRequest
),
e
);
AppLogUtil
.
errorLog
(
"sendTemplateMsg_error"
,
JSONObject
.
toJSONString
(
orderBean
),
JSONObject
.
toJSONString
(
messageTemplateRequest
),
e
);
...
@@ -3592,7 +3571,7 @@ public class OrderServiceImpl implements Orderservice {
...
@@ -3592,7 +3571,7 @@ public class OrderServiceImpl implements Orderservice {
}
else
{
}
else
{
resultMap
.
put
(
orderCode
,
resp
.
getMessage
());
resultMap
.
put
(
orderCode
,
resp
.
getMessage
());
}
}
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
resultMap
.
put
(
orderCode
,
e
.
getMessage
());
resultMap
.
put
(
orderCode
,
e
.
getMessage
());
}
}
});
});
...
@@ -3623,7 +3602,7 @@ public class OrderServiceImpl implements Orderservice {
...
@@ -3623,7 +3602,7 @@ public class OrderServiceImpl implements Orderservice {
return
ResponseUtil
.
error
(
ResponseResult
.
ORDER__ERRORREFUND
.
getCode
(),
"订单已取消,无法退款"
);
return
ResponseUtil
.
error
(
ResponseResult
.
ORDER__ERRORREFUND
.
getCode
(),
"订单已取消,无法退款"
);
}
}
// fisherman 仅仅支持 餐饮类订单进行操作
// fisherman 仅仅支持 餐饮类订单进行操作
if
(
BizTypeEnum
.
ORDINARY
.
getBizType
().
compareTo
(
orderBean
.
getBizType
())
!=
0
)
{
if
(
BizTypeEnum
.
ORDINARY
.
getBizType
().
compareTo
(
orderBean
.
getBizType
())
!=
0
)
{
return
ResponseUtil
.
error
(
ResponseResult
.
ORDER__ERRORREFUND
.
getCode
(),
"仅支持餐饮订单操作"
);
return
ResponseUtil
.
error
(
ResponseResult
.
ORDER__ERRORREFUND
.
getCode
(),
"仅支持餐饮订单操作"
);
}
}
...
@@ -3682,9 +3661,9 @@ public class OrderServiceImpl implements Orderservice {
...
@@ -3682,9 +3661,9 @@ public class OrderServiceImpl implements Orderservice {
Long
bLong
=
Long
.
valueOf
(
o2
.
getCreateTime
());
Long
bLong
=
Long
.
valueOf
(
o2
.
getCreateTime
());
if
(
bLong
>
aLong
)
{
if
(
bLong
>
aLong
)
{
return
1
;
return
1
;
}
else
if
(
bLong
<
aLong
)
{
}
else
if
(
bLong
<
aLong
)
{
return
-
1
;
return
-
1
;
}
else
{
}
else
{
return
0
;
return
0
;
}
}
});
});
...
@@ -3931,5 +3910,4 @@ public class OrderServiceImpl implements Orderservice {
...
@@ -3931,5 +3910,4 @@ public class OrderServiceImpl implements Orderservice {
}
}
}
}
order-management/src/main/java/cn/freemud/management/entities/dto/response/pay/PayRefundResponse.java
View file @
6111c8d6
package
cn
.
freemud
.
management
.
entities
.
dto
.
response
.
pay
;
package
cn
.
freemud
.
management
.
entities
.
dto
.
response
.
pay
;
import
cn.freemud.management.enums.ResponseResult
;
import
com.freemud.sdk.api.assortment.order.enums.PayRefundStatus
;
import
com.freemud.sdk.api.assortment.order.enums.PayRefundStatus
;
import
lombok.Data
;
import
lombok.Data
;
...
@@ -28,4 +29,9 @@ public class PayRefundResponse {
...
@@ -28,4 +29,9 @@ public class PayRefundResponse {
* 退款序列号
* 退款序列号
*/
*/
private
String
refundId
;
private
String
refundId
;
/**
* 兼容爱马哥退款报错的字段 ,其他场景不会有值
*/
private
ResponseResult
result
;
}
}
order-management/src/main/java/cn/freemud/management/service/adapter/OrderManagerAdapter.java
View file @
6111c8d6
This diff is collapsed.
Click to expand it.
order-management/src/main/java/cn/freemud/management/service/handle/PaymentHandle.java
View file @
6111c8d6
...
@@ -21,6 +21,7 @@ import com.freemud.application.sdk.api.log.ErrorLog;
...
@@ -21,6 +21,7 @@ import com.freemud.application.sdk.api.log.ErrorLog;
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.orderv1.OrderTypeV1
;
import
com.freemud.application.sdk.api.ordercenter.enums.orderv1.OrderTypeV1
;
import
com.freemud.application.sdk.api.ordercenter.request.OrderExtInfoDto
;
import
com.freemud.application.sdk.api.ordercenter.request.OrderExtInfoDto
;
import
com.freemud.application.sdk.api.ordercenter.request.OrderExtendedReq
;
import
com.freemud.application.sdk.api.ordercenter.response.OrderBaseResp
;
import
com.freemud.application.sdk.api.ordercenter.response.OrderBaseResp
;
import
com.freemud.application.sdk.api.ordercenter.response.orderInfo.AfterSalesOrderResp
;
import
com.freemud.application.sdk.api.ordercenter.response.orderInfo.AfterSalesOrderResp
;
import
com.freemud.application.sdk.api.ordercenter.service.OrderSdkService
;
import
com.freemud.application.sdk.api.ordercenter.service.OrderSdkService
;
...
@@ -85,6 +86,32 @@ public class PaymentHandle {
...
@@ -85,6 +86,32 @@ public class PaymentHandle {
@Autowired
@Autowired
private
LogUtil
logUtil
;
private
LogUtil
logUtil
;
public
PayRefundResponse
getCommonPayRefundResponse
(
OrderManagerRequest
request
,
OrderBeanV1
orderBean
)
{
PayRefundResponse
refundResponse
;
try
{
if
(
null
!=
orderBean
.
getOrderPayItem
()
&&
orderBean
.
getOrderPayItem
().
size
()
>
0
)
{
// payment/application/refund
refundResponse
=
this
.
multiRefund
(
orderBean
);
}
else
{
OrderExtendedReq
ext
=
orderBean
.
getOrderExtended
();
if
(
StringUtils
.
isNotBlank
(
ext
.
getAgentPayerId
())
&&
!
Objects
.
equals
(
ext
.
getAgentPayerId
(),
orderBean
.
getUserId
()))
{
//代付人信息不为空 并且和订单创建人不一样,表示代付单 payment/application/agentRefund
refundResponse
=
this
.
agentPayRefund
(
orderBean
);
}
else
{
//正常订单现金退款 paymentcenter/refund
refundResponse
=
this
.
refund
(
request
,
orderBean
);
}
}
}
catch
(
OrderServiceException
orderEx
)
{
// 爱马哥兼容,不抛错
ResponseResult
result
=
orderEx
.
getResult
();
refundResponse
=
new
PayRefundResponse
();
refundResponse
.
setPayRefundStatus
(
PayRefundStatus
.
COMPATIBILITY_STATUS
);
refundResponse
.
setResult
(
result
);
return
refundResponse
;
}
return
refundResponse
;
}
/**
/**
* 退款
* 退款
*
*
...
...
order-management/src/main/java/cn/freemud/management/service/impl/SaasOrderMangerServiceImpl.java
View file @
6111c8d6
...
@@ -243,25 +243,11 @@ public class SaasOrderMangerServiceImpl implements OrderManagerService {
...
@@ -243,25 +243,11 @@ public class SaasOrderMangerServiceImpl implements OrderManagerService {
//取消配送单
//取消配送单
deliveryHandle
.
cancelDelivery
(
orderBean
,
request
);
deliveryHandle
.
cancelDelivery
(
orderBean
,
request
);
//支付退款
//支付退款
PayRefundResponse
refundResponse
;
PayRefundResponse
refundResponse
=
this
.
getPayRefundResponse
(
request
,
orderBean
);
try
{
// 爱马哥报错
if
(
null
!=
orderBean
.
getOrderPayItem
()
&&
orderBean
.
getOrderPayItem
().
size
()
>
0
)
{
if
(
refundResponse
.
getPayRefundStatus
().
getCode
().
compareTo
(
PayRefundStatus
.
COMPATIBILITY_STATUS
.
getCode
())
==
0
)
{
// payment/application/refund
return
ResponseUtil
.
error
(
refundResponse
.
getResult
());
refundResponse
=
paymentHandle
.
multiRefund
(
orderBean
);
}
else
{
OrderExtendedReq
ext
=
orderBean
.
getOrderExtended
();
if
(
StringUtils
.
isNotBlank
(
ext
.
getAgentPayerId
())
&&
!
Objects
.
equals
(
ext
.
getAgentPayerId
(),
orderBean
.
getUserId
()))
{
//代付人信息不为空 并且和订单创建人不一样,表示代付单 payment/application/agentRefund
refundResponse
=
paymentHandle
.
agentPayRefund
(
orderBean
);
}
else
{
//正常订单现金退款 paymentcenter/refund
refundResponse
=
paymentHandle
.
refund
(
request
,
orderBean
);
}
}
}
catch
(
OrderServiceException
orderEx
)
{
// 爱马哥兼容,不抛错
return
ResponseUtil
.
error
(
orderEx
.
getResult
());
}
}
// fisherman --> 退款中的状态 阻止后续流程 等待支付回调
// fisherman --> 退款中的状态 阻止后续流程 等待支付回调
if
(
refundResponse
.
getPayRefundStatus
().
getCode
().
compareTo
(
PayRefundStatus
.
RUNNING
.
getCode
())
==
0
)
{
if
(
refundResponse
.
getPayRefundStatus
().
getCode
().
compareTo
(
PayRefundStatus
.
RUNNING
.
getCode
())
==
0
)
{
return
ResponseUtil
.
error
(
ResponseResult
.
REFUND_FAIL_WAIT_CALLBACK
);
return
ResponseUtil
.
error
(
ResponseResult
.
REFUND_FAIL_WAIT_CALLBACK
);
...
@@ -278,6 +264,17 @@ public class SaasOrderMangerServiceImpl implements OrderManagerService {
...
@@ -278,6 +264,17 @@ public class SaasOrderMangerServiceImpl implements OrderManagerService {
}
}
/**
/**
* 提出 退款公共代码
*
* @param request
* @param orderBean
* @return
*/
private
PayRefundResponse
getPayRefundResponse
(
OrderManagerRequest
request
,
OrderBeanV1
orderBean
)
{
return
paymentHandle
.
getCommonPayRefundResponse
(
request
,
orderBean
);
}
/**
* 拒绝退款
* 拒绝退款
*
*
* @param request
* @param request
...
@@ -449,7 +446,7 @@ public class SaasOrderMangerServiceImpl implements OrderManagerService {
...
@@ -449,7 +446,7 @@ public class SaasOrderMangerServiceImpl implements OrderManagerService {
String
refundStatus
=
request
.
getRefundStatus
();
String
refundStatus
=
request
.
getRefundStatus
();
PayRefundStatus
payRefundStatus
=
PayRefundStatus
.
SUCCESS
;
PayRefundStatus
payRefundStatus
=
PayRefundStatus
.
SUCCESS
;
if
(!
Objects
.
equals
(
refundStatus
,
"100"
))
{
if
(!
Objects
.
equals
(
refundStatus
,
"100"
))
{
payRefundStatus
=
PayRefundStatus
.
FAIL
;
payRefundStatus
=
PayRefundStatus
.
FAIL
;
}
}
refundResponse
.
setPayRefundStatus
(
payRefundStatus
);
refundResponse
.
setPayRefundStatus
(
payRefundStatus
);
...
@@ -459,9 +456,10 @@ public class SaasOrderMangerServiceImpl implements OrderManagerService {
...
@@ -459,9 +456,10 @@ public class SaasOrderMangerServiceImpl implements OrderManagerService {
omRequest
.
setReason
(
reason
);
omRequest
.
setReason
(
reason
);
omRequest
.
setOperator
(
"支付退款回调系统补偿"
);
omRequest
.
setOperator
(
"支付退款回调系统补偿"
);
saasOrderHandle
.
refundAgree
(
omRequest
,
refundResponse
,
orderBean
);
saasOrderHandle
.
refundAgree
(
omRequest
,
refundResponse
,
orderBean
);
// 推送pos、微信消息中心
// 推送pos、微信消息中心 未接单前 不需要推送pos
if
(!
NewOrderStatus
.
PLACE_AN_ORDER
.
getIndex
().
equals
(
orderBean
.
getStatusV2
()))
{
orderBaseService
.
sendMessage
(
orderBean
,
ORDER_AGREE_REFUND
,
reason
);
orderBaseService
.
sendMessage
(
orderBean
,
ORDER_AGREE_REFUND
,
reason
);
}
//todo 可以考虑基于订单回调异步实现
//todo 可以考虑基于订单回调异步实现
//冲正库存
//冲正库存
stockHandle
.
revert
(
omRequest
,
orderBean
);
stockHandle
.
revert
(
omRequest
,
orderBean
);
...
...
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