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
2118bb59
Commit
2118bb59
authored
Nov 01, 2023
by
ping.wu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
订单宝支付退款走混合支付退款
parent
0c96f890
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
13 additions
and
5 deletions
+13
-5
order-management/src/main/java/cn/freemud/management/service/handle/MultiRefundService.java
+9
-3
order-management/src/main/java/cn/freemud/management/service/handle/PaymentHandle.java
+4
-2
No files found.
order-management/src/main/java/cn/freemud/management/service/handle/MultiRefundService.java
View file @
2118bb59
...
...
@@ -40,9 +40,10 @@ public class MultiRefundService {
/**
* 多种支付方式支付退款
*/
public
PayRefundResponse
multiRefund
(
String
partnerId
,
String
storeCode
,
String
orderCode
,
BigDecimal
refundAmount
,
List
<
OrderPayItemResp
>
orderPayItem
){
public
PayRefundResponse
multiRefund
(
String
partnerId
,
String
storeCode
,
String
orderCode
,
BigDecimal
refundAmount
,
List
<
OrderPayItemResp
>
orderPayItem
,
Integer
orderClient
){
//是否多种支付方式支付退款
if
(!
getMultiRefund
(
orderPayItem
)){
if
(!
getMultiRefund
(
orderPayItem
,
orderClient
)){
return
null
;
}
return
multiRefund
(
partnerId
,
storeCode
,
orderCode
,
refundAmount
);
...
...
@@ -56,11 +57,16 @@ public class MultiRefundService {
* @param orderPayItems
* @return
*/
private
Boolean
getMultiRefund
(
List
<
OrderPayItemResp
>
orderPayItems
){
private
Boolean
getMultiRefund
(
List
<
OrderPayItemResp
>
orderPayItems
,
Integer
orderClient
){
boolean
isMultiRefund
=
false
;
if
(
CollectionUtils
.
isEmpty
(
orderPayItems
)){
return
isMultiRefund
;
}
//订单宝支付走混合支付接口,退款走混合支付退款
List
<
Integer
>
orderClients
=
Arrays
.
asList
(
38
);
if
(
orderClients
.
contains
(
orderClient
)){
return
true
;
}
List
<
Integer
>
multiPayChannelType
=
Arrays
.
asList
(
3
,
10
,
50
,
51
,
52
);
for
(
OrderPayItemResp
orderPayItemResp
:
orderPayItems
){
//有储值卡支付,调混合支付退款
...
...
order-management/src/main/java/cn/freemud/management/service/handle/PaymentHandle.java
View file @
2118bb59
...
...
@@ -94,7 +94,8 @@ public class PaymentHandle {
BigDecimal
maxRefundAmount
=
openMemberCardCost
!=
null
?
new
BigDecimal
(
orderBean
.
getAmount
()).
subtract
(
openMemberCardCost
.
getCostAmount
())
:
new
BigDecimal
(
orderBean
.
getAmount
());
BigDecimal
refundAmount
=
getRefundAmount
(
orderBean
.
getCompanyId
(),
maxRefundAmount
,
orderBean
.
getOid
());
//订单支付明细表新saas都会存数据,ka,pass商户需要兼容
PayRefundResponse
multiRefundResponse
=
multiRefundService
.
multiRefund
(
orderBean
.
getCompanyId
(),
orderBean
.
getShopId
(),
orderBean
.
getOid
(),
refundAmount
,
orderBean
.
getOrderPayItem
());
PayRefundResponse
multiRefundResponse
=
multiRefundService
.
multiRefund
(
orderBean
.
getCompanyId
(),
orderBean
.
getShopId
(),
orderBean
.
getOid
(),
refundAmount
,
orderBean
.
getOrderPayItem
(),
Integer
.
parseInt
(
orderBean
.
getOrderClient
()));
if
(
multiRefundResponse
!=
null
)
{
refundResponse
=
multiRefundResponse
;
}
else
{
...
...
@@ -156,7 +157,8 @@ public class PaymentHandle {
BigDecimal
maxRefundAmount
=
openMemberCardCost
!=
null
?
order
.
getSettlementAmount
().
subtract
(
openMemberCardCost
.
getCostAmount
())
:
order
.
getSettlementAmount
();
BigDecimal
refundAmount
=
getRefundAmount
(
order
.
getPartnerId
(),
maxRefundAmount
,
order
.
getOrderCode
());
PayRefundResponse
multiRefundResponse
=
multiRefundService
.
multiRefund
(
order
.
getPartnerId
(),
order
.
getStoreId
(),
order
.
getOrderCode
(),
refundAmount
,
order
.
getOrderPayItemCreateReqList
());
PayRefundResponse
multiRefundResponse
=
multiRefundService
.
multiRefund
(
order
.
getPartnerId
(),
order
.
getStoreId
(),
order
.
getOrderCode
(),
refundAmount
,
order
.
getOrderPayItemCreateReqList
(),
order
.
getOrderClient
());
if
(
multiRefundResponse
!=
null
)
{
// payment/application/refund
refundResponse
=
multiRefundResponse
;
...
...
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