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
ddd8fefa
Commit
ddd8fefa
authored
Jun 22, 2022
by
周晓航
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'KA-新增同意退款回调逻辑处理' into qa
parents
5a92946e
36206fe2
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
29 additions
and
27 deletions
+29
-27
assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/enums/PayRefundStatus.java
+1
-1
order-application-service/src/main/java/cn/freemud/service/impl/OrderServiceImpl.java
+5
-4
order-management/src/main/java/cn/freemud/management/service/handle/PaymentHandle.java
+20
-19
order-management/src/main/java/cn/freemud/management/service/impl/SaasOrderMangerServiceImpl.java
+3
-3
No files found.
assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/enums/PayRefundStatus.java
View file @
ddd8fefa
...
@@ -20,7 +20,7 @@ public enum PayRefundStatus {
...
@@ -20,7 +20,7 @@ public enum PayRefundStatus {
* 额外状态码 用于判断逻辑,
* 额外状态码 用于判断逻辑,
*/
*/
NOT_SUFFICIENT_FUNDS
(
8200201
,
"余额不足"
),
NOT_SUFFICIENT_FUNDS
(
8200201
,
"余额不足"
),
COMPATIBILITY_STATUS
(
9999999
,
"
兼容爱马哥报错
"
);
COMPATIBILITY_STATUS
(
9999999
,
"
退款异常
"
);
private
Integer
code
;
private
Integer
code
;
private
String
desc
;
private
String
desc
;
...
...
order-application-service/src/main/java/cn/freemud/service/impl/OrderServiceImpl.java
View file @
ddd8fefa
...
@@ -2088,14 +2088,15 @@ public class OrderServiceImpl implements Orderservice {
...
@@ -2088,14 +2088,15 @@ public class OrderServiceImpl implements Orderservice {
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
.
FAIL
.
getCode
(),
state
))
{
// 退款中
if
(
Objects
.
equals
(
PayRefundStatus
.
SUCCESS
.
getCode
(),
state
))
{
cancelOrderRequest
.
setCreateEvent
(
AfterSalesOrderCreateEventEnum
.
RETURN_COMPLETE
.
getCreateEvent
());
}
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
))
{
}
else
if
(
Objects
.
equals
(
PayRefundStatus
.
RUNNING
.
getCode
(),
state
))
{
cancelOrderRequest
.
setCreateEvent
(
null
);
cancelOrderRequest
.
setCreateEvent
(
null
);
}
else
{
// 其他退款失败的情况 不生成售后单
return
ResponseUtil
.
error
(
ResponseResult
.
MULTIORDER__ERRORREFUND
.
getCode
(),
"multiOrderRefund_failed"
);
}
}
cancelOrderRequest
.
setReqRemark
(
orderRefundVo
.
getRemarks
());
cancelOrderRequest
.
setReqRemark
(
orderRefundVo
.
getRemarks
());
cancelOrderRequest
.
setRefundDeliveryAmount
(
isRefundDeliveryFee
);
cancelOrderRequest
.
setRefundDeliveryAmount
(
isRefundDeliveryFee
);
...
...
order-management/src/main/java/cn/freemud/management/service/handle/PaymentHandle.java
View file @
ddd8fefa
...
@@ -102,7 +102,7 @@ public class PaymentHandle {
...
@@ -102,7 +102,7 @@ public class PaymentHandle {
refundResponse
=
this
.
refund
(
request
,
orderBean
);
refundResponse
=
this
.
refund
(
request
,
orderBean
);
}
}
}
}
}
catch
(
OrderServiceException
orderEx
)
{
// 爱马哥兼容,不抛错
}
catch
(
OrderServiceException
orderEx
)
{
ResponseResult
result
=
orderEx
.
getResult
();
ResponseResult
result
=
orderEx
.
getResult
();
refundResponse
=
new
PayRefundResponse
();
refundResponse
=
new
PayRefundResponse
();
refundResponse
.
setPayRefundStatus
(
PayRefundStatus
.
COMPATIBILITY_STATUS
);
refundResponse
.
setPayRefundStatus
(
PayRefundStatus
.
COMPATIBILITY_STATUS
);
...
@@ -376,25 +376,26 @@ public class PaymentHandle {
...
@@ -376,25 +376,26 @@ public class PaymentHandle {
if
(
multiOrderRefundResponse
==
null
||
multiOrderRefundResponse
.
getData
()
==
null
||
!
com
.
freemud
.
sdk
.
api
.
assortment
.
order
.
domain
.
ResponseCodeConstant
.
ORDER_PAY_RESPONSE_SUCCESS
.
equals
(
multiOrderRefundResponse
.
getCode
()))
{
if
(
multiOrderRefundResponse
==
null
||
multiOrderRefundResponse
.
getData
()
==
null
||
!
com
.
freemud
.
sdk
.
api
.
assortment
.
order
.
domain
.
ResponseCodeConstant
.
ORDER_PAY_RESPONSE_SUCCESS
.
equals
(
multiOrderRefundResponse
.
getCode
()))
{
// fisherman 退款异常 也当做 退款中处理
// fisherman 退款异常 也当做 退款中处理
refundStatus
=
PayRefundStatus
.
RUNNING
;
refundStatus
=
PayRefundStatus
.
RUNNING
;
}
}
else
{
List
<
MultiOrderRefundResponse
.
RefundPlatformResponse
>
refundPlatformResponseList
=
multiOrderRefundResponse
.
getData
().
refundPlatformResponseList
;
List
<
MultiOrderRefundResponse
.
RefundPlatformResponse
>
refundPlatformResponseList
=
multiOrderRefundResponse
.
getData
().
refundPlatformResponseList
;
if
(
null
!=
refundPlatformResponseList
&&
refundPlatformResponseList
.
size
()
>
0
)
{
if
(
null
!=
refundPlatformResponseList
&&
refundPlatformResponseList
.
size
()
>
0
)
{
redisCache
.
save
(
RedisUtil
.
getPaymentTransIdSequenceKey
(
refundPlatformResponseList
.
get
(
0
).
getTransId
()),
orderBean
.
getOid
(),
1L
,
TimeUnit
.
DAYS
);
redisCache
.
save
(
RedisUtil
.
getPaymentTransIdSequenceKey
(
refundPlatformResponseList
.
get
(
0
).
getTransId
()),
orderBean
.
getOid
(),
1L
,
TimeUnit
.
DAYS
);
}
if
(
CollectionUtils
.
isNotEmpty
(
refundPlatformResponseList
))
{
long
refundError
=
refundPlatformResponseList
.
stream
()
.
filter
(
s
->
s
.
getResultCode
().
compareTo
(
MultiOrderRefundResponse
.
RefundPlatformResponse
.
REFUNDED_RESULTCODE
)
!=
0
&&
s
.
getResultCode
().
compareTo
(
MultiOrderRefundResponse
.
RefundPlatformResponse
.
REFUND_SUCCESS
)
!=
0
)
.
count
();
if
(
refundError
>
0L
)
{
refundStatus
=
PayRefundStatus
.
FAIL
;
}
}
// 退款中
if
(
CollectionUtils
.
isNotEmpty
(
refundPlatformResponseList
))
{
long
refunded
=
refundPlatformResponseList
.
stream
()
long
refundError
=
refundPlatformResponseList
.
stream
()
.
filter
(
s
->
s
.
getResultCode
().
compareTo
(
MultiOrderRefundResponse
.
RefundPlatformResponse
.
REFUNDED_RESULTCODE
)
==
0
)
.
filter
(
s
->
s
.
getResultCode
().
compareTo
(
MultiOrderRefundResponse
.
RefundPlatformResponse
.
REFUNDED_RESULTCODE
)
!=
0
.
count
();
&&
s
.
getResultCode
().
compareTo
(
MultiOrderRefundResponse
.
RefundPlatformResponse
.
REFUND_SUCCESS
)
!=
0
)
if
(
refunded
>
0L
)
{
.
count
();
refundStatus
=
PayRefundStatus
.
RUNNING
;
if
(
refundError
>
0L
)
{
refundStatus
=
PayRefundStatus
.
FAIL
;
}
// 退款中
long
refunded
=
refundPlatformResponseList
.
stream
()
.
filter
(
s
->
s
.
getResultCode
().
compareTo
(
MultiOrderRefundResponse
.
RefundPlatformResponse
.
REFUNDED_RESULTCODE
)
==
0
)
.
count
();
if
(
refunded
>
0L
)
{
refundStatus
=
PayRefundStatus
.
RUNNING
;
}
}
}
}
}
return
handlePayRefundResponse
(
refundStatus
,
multiOrderRefundRequest
.
getRefundTradeNo
());
return
handlePayRefundResponse
(
refundStatus
,
multiOrderRefundRequest
.
getRefundTradeNo
());
...
...
order-management/src/main/java/cn/freemud/management/service/impl/SaasOrderMangerServiceImpl.java
View file @
ddd8fefa
...
@@ -244,12 +244,12 @@ public class SaasOrderMangerServiceImpl implements OrderManagerService {
...
@@ -244,12 +244,12 @@ public class SaasOrderMangerServiceImpl implements OrderManagerService {
deliveryHandle
.
cancelDelivery
(
orderBean
,
request
);
deliveryHandle
.
cancelDelivery
(
orderBean
,
request
);
//支付退款
//支付退款
PayRefundResponse
refundResponse
=
this
.
getPayRefundResponse
(
request
,
orderBean
);
PayRefundResponse
refundResponse
=
this
.
getPayRefundResponse
(
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
());
}
}
// fisherman --> 退款中的状态 阻止后续流程 等待支付回调
// fisherman --> 退款中的状态 阻止后续流程 等待支付回调
不是退款成功 都终止下面的退款流程
if
(
refundResponse
.
getPayRefundStatus
().
getCode
().
compareTo
(
PayRefundStatus
.
RUNNING
.
getCode
())
=
=
0
)
{
if
(
refundResponse
.
getPayRefundStatus
().
getCode
().
compareTo
(
PayRefundStatus
.
SUCCESS
.
getCode
())
!
=
0
)
{
return
ResponseUtil
.
error
(
ResponseResult
.
REFUND_FAIL_WAIT_CALLBACK
);
return
ResponseUtil
.
error
(
ResponseResult
.
REFUND_FAIL_WAIT_CALLBACK
);
}
}
...
...
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