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
9da7ecdc
Commit
9da7ecdc
authored
Jan 05, 2023
by
查志伟
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
抖音退款增加拓展参数赋值
parent
1bea5f4a
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
39 additions
and
17 deletions
+39
-17
order-management/src/main/java/cn/freemud/management/adapter/PaymentSdkAdapter.java
+3
-1
order-management/src/main/java/cn/freemud/management/service/handle/PaymentHandle.java
+36
-16
No files found.
order-management/src/main/java/cn/freemud/management/adapter/PaymentSdkAdapter.java
View file @
9da7ecdc
...
@@ -7,6 +7,7 @@ import com.freemud.application.sdk.api.ordercenter.entities.v1.OrderBeanV1;
...
@@ -7,6 +7,7 @@ import com.freemud.application.sdk.api.ordercenter.entities.v1.OrderBeanV1;
import
com.freemud.application.sdk.api.ordercenter.request.OrderExtInfoDto
;
import
com.freemud.application.sdk.api.ordercenter.request.OrderExtInfoDto
;
import
com.freemud.sdk.api.assortment.order.request.order.MultiOrderRefundRequest
;
import
com.freemud.sdk.api.assortment.order.request.order.MultiOrderRefundRequest
;
import
lombok.SneakyThrows
;
import
lombok.SneakyThrows
;
import
org.apache.commons.lang.StringUtils
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.stereotype.Component
;
import
org.springframework.stereotype.Component
;
...
@@ -32,7 +33,7 @@ public class PaymentSdkAdapter {
...
@@ -32,7 +33,7 @@ public class PaymentSdkAdapter {
private
String
refundNotifyCallback
;
private
String
refundNotifyCallback
;
public
PayRefundRequestDto
getOrderRefundRequest
(
String
partnerId
,
String
storeCode
,
String
orderCode
,
public
PayRefundRequestDto
getOrderRefundRequest
(
String
partnerId
,
String
storeCode
,
String
orderCode
,
BigDecimal
refundAmount
,
String
payNo
,
String
extInfoStr
)
{
BigDecimal
refundAmount
,
String
payNo
,
String
extInfoStr
,
String
reason
)
{
PayRefundRequestDto
refundRequestDTO
=
new
PayRefundRequestDto
();
PayRefundRequestDto
refundRequestDTO
=
new
PayRefundRequestDto
();
refundRequestDTO
.
setPartnerId
(
partnerId
);
refundRequestDTO
.
setPartnerId
(
partnerId
);
refundRequestDTO
.
setStoreId
(
storeCode
);
refundRequestDTO
.
setStoreId
(
storeCode
);
...
@@ -44,6 +45,7 @@ public class PaymentSdkAdapter {
...
@@ -44,6 +45,7 @@ public class PaymentSdkAdapter {
refundRequestDTO
.
setOrgPayFmId
(
payNo
);
refundRequestDTO
.
setOrgPayFmId
(
payNo
);
refundRequestDTO
.
setOpenid
(
orderExtInfoDto
.
getOpenid
());
refundRequestDTO
.
setOpenid
(
orderExtInfoDto
.
getOpenid
());
refundRequestDTO
.
setRefundId
(
getRefundSerialNo
().
toString
());
refundRequestDTO
.
setRefundId
(
getRefundSerialNo
().
toString
());
refundRequestDTO
.
setRefundDesc
(
StringUtils
.
isNotBlank
(
reason
)
?
reason
:
"商家退款"
);
return
refundRequestDTO
;
return
refundRequestDTO
;
}
}
...
...
order-management/src/main/java/cn/freemud/management/service/handle/PaymentHandle.java
View file @
9da7ecdc
...
@@ -18,11 +18,14 @@ import com.alibaba.fastjson.JSONObject;
...
@@ -18,11 +18,14 @@ import com.alibaba.fastjson.JSONObject;
import
com.freemud.application.sdk.api.base.BaseResponse
;
import
com.freemud.application.sdk.api.base.BaseResponse
;
import
com.freemud.application.sdk.api.log.ErrorLog
;
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.entities.v1.ProductBeanV1
;
import
com.freemud.application.sdk.api.ordercenter.enums.OrderClientType
;
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.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.response.orderInfo.OrderInfoReqs
;
import
com.freemud.application.sdk.api.ordercenter.response.orderInfo.OrderInfoReqs
;
import
com.freemud.application.sdk.api.ordercenter.response.orderInfo.OrderItemResp
;
import
com.freemud.application.sdk.api.ordercenter.service.OrderSdkService
;
import
com.freemud.application.sdk.api.ordercenter.service.OrderSdkService
;
import
com.freemud.application.sdk.api.ordercenter.util.LogUtil
;
import
com.freemud.application.sdk.api.ordercenter.util.LogUtil
;
import
com.freemud.application.sdk.api.util.ResponseUtils
;
import
com.freemud.application.sdk.api.util.ResponseUtils
;
...
@@ -36,9 +39,12 @@ import org.springframework.beans.factory.annotation.Autowired;
...
@@ -36,9 +39,12 @@ import org.springframework.beans.factory.annotation.Autowired;
import
org.springframework.stereotype.Component
;
import
org.springframework.stereotype.Component
;
import
java.math.BigDecimal
;
import
java.math.BigDecimal
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Objects
;
import
java.util.Objects
;
import
java.util.concurrent.TimeUnit
;
import
java.util.concurrent.TimeUnit
;
import
java.util.stream.Collectors
;
/**
/**
...
@@ -95,7 +101,17 @@ public class PaymentHandle {
...
@@ -95,7 +101,17 @@ public class PaymentHandle {
refundResponse
=
this
.
agentPayRefund
(
orderBean
.
getCompanyId
(),
orderBean
.
getShopId
(),
orderBean
.
getOid
(),
getRefundAmount
(
orderBean
),
ext
.
getPayTransId
());
refundResponse
=
this
.
agentPayRefund
(
orderBean
.
getCompanyId
(),
orderBean
.
getShopId
(),
orderBean
.
getOid
(),
getRefundAmount
(
orderBean
),
ext
.
getPayTransId
());
}
else
{
}
else
{
//正常订单现金退款 paymentcenter/refund
//正常订单现金退款 paymentcenter/refund
refundResponse
=
this
.
payRefund
(
orderBean
.
getCompanyId
(),
orderBean
.
getShopId
(),
orderBean
.
getOid
(),
getRefundAmount
(
orderBean
),
orderBean
.
getPayVoucher
(),
orderBean
.
getExtInfo
(),
request
.
getReason
());
PayRefundRequestDto
req
=
paymentSdkAdapter
.
getOrderRefundRequest
(
orderBean
.
getCompanyId
(),
orderBean
.
getShopId
(),
orderBean
.
getOid
(),
getRefundAmount
(
orderBean
),
orderBean
.
getPayVoucher
(),
orderBean
.
getExtInfo
(),
request
.
getReason
());
// 抖音订单,退款时需要传递商品信息
if
(
OrderClientType
.
TIKTOKPAY
.
getIndex
().
toString
().
equals
(
orderBean
.
getOrderClient
()))
{
Map
<
String
,
String
>
extParam
=
new
HashMap
<>();
List
<
String
>
goodsIds
=
orderBean
.
getProductList
().
stream
().
map
(
ProductBeanV1:
:
getProductId
).
collect
(
Collectors
.
toList
());
extParam
.
put
(
"tt_goods"
,
JSON
.
toJSONString
(
goodsIds
));
extParam
.
put
(
"tt_oid"
,
orderBean
.
getOid
());
req
.
setExtendParams
(
extParam
);
}
refundResponse
=
this
.
payRefund
(
req
);
}
}
}
}
}
catch
(
OrderServiceException
orderEx
)
{
}
catch
(
OrderServiceException
orderEx
)
{
...
@@ -137,7 +153,17 @@ public class PaymentHandle {
...
@@ -137,7 +153,17 @@ public class PaymentHandle {
refundResponse
=
this
.
agentPayRefund
(
order
.
getPartnerId
(),
order
.
getStoreId
(),
order
.
getOrderCode
(),
order
.
getActualPayAmount
(),
ext
.
getPayTransId
());
refundResponse
=
this
.
agentPayRefund
(
order
.
getPartnerId
(),
order
.
getStoreId
(),
order
.
getOrderCode
(),
order
.
getActualPayAmount
(),
ext
.
getPayTransId
());
}
else
{
}
else
{
//正常订单现金退款 paymentcenter/refund
//正常订单现金退款 paymentcenter/refund
refundResponse
=
this
.
payRefund
(
order
.
getPartnerId
(),
order
.
getStoreId
(),
order
.
getOrderCode
(),
order
.
getActualPayAmount
(),
order
.
getPayRequestNo
(),
order
.
getExtInfo
(),
reason
);
PayRefundRequestDto
req
=
paymentSdkAdapter
.
getOrderRefundRequest
(
order
.
getPartnerId
(),
order
.
getStoreId
(),
order
.
getOrderCode
(),
order
.
getActualPayAmount
(),
order
.
getPayRequestNo
(),
order
.
getExtInfo
(),
reason
);
// 抖音订单,退款时需要传递商品信息
if
(
OrderClientType
.
TIKTOKPAY
.
getIndex
().
equals
(
order
.
getOrderClient
()))
{
Map
<
String
,
String
>
extParam
=
new
HashMap
<>();
List
<
String
>
goodsIds
=
order
.
getOrderItemList
().
stream
().
map
(
OrderItemResp:
:
getProductSpec
).
collect
(
Collectors
.
toList
());
extParam
.
put
(
"tt_goods"
,
JSON
.
toJSONString
(
goodsIds
));
extParam
.
put
(
"tt_oid"
,
order
.
getOrderCode
());
req
.
setExtendParams
(
extParam
);
}
refundResponse
=
this
.
payRefund
(
req
);
}
}
}
}
}
catch
(
OrderServiceException
orderEx
)
{
}
catch
(
OrderServiceException
orderEx
)
{
...
@@ -160,19 +186,15 @@ public class PaymentHandle {
...
@@ -160,19 +186,15 @@ public class PaymentHandle {
/**
/**
* 纯现金支付退款,非代付和混合支付退款
* 纯现金支付退款,非代付和混合支付退款
*
*
* @param re
ason 退款原因
* @param re
fundReq 退款请求
* @return
* @return
退款结果
*/
*/
private
PayRefundResponse
payRefund
(
String
partnerId
,
String
storeCode
,
String
orderCode
,
private
PayRefundResponse
payRefund
(
PayRefundRequestDto
refundReq
)
{
BigDecimal
refundAmount
,
String
payNo
,
String
extInfoStr
,
String
reason
)
{
PayRefundStatus
refundStatus
=
PayRefundStatus
.
SUCCESS
;
PayRefundStatus
refundStatus
=
PayRefundStatus
.
SUCCESS
;
PayRefundRequestDto
req
=
paymentSdkAdapter
.
getOrderRefundRequest
(
partnerId
,
storeCode
,
orderCode
,
refundAmount
,
payNo
,
extInfoStr
);
if
(
refundReq
.
getRefundAmount
()
<=
0
)
{
//抖音支付必传
return
handlePayRefundResponse
(
refundStatus
,
refundReq
.
getRefundId
());
req
.
setRefundDesc
(
reason
==
null
?
"商家退款"
:
reason
);
if
(
refundAmount
.
longValue
()
<=
0
)
{
return
handlePayRefundResponse
(
refundStatus
,
req
.
getRefundId
());
}
}
BaseResponse
<
OrderRefundResponse
>
orderRefundResponse
=
this
.
orderPayRefund
(
req
);
BaseResponse
<
OrderRefundResponse
>
orderRefundResponse
=
this
.
orderPayRefund
(
re
fundRe
q
);
String
message
=
null
;
String
message
=
null
;
if
(
orderRefundResponse
==
null
)
{
if
(
orderRefundResponse
==
null
)
{
refundStatus
=
PayRefundStatus
.
RUNNING
;
refundStatus
=
PayRefundStatus
.
RUNNING
;
...
@@ -180,7 +202,7 @@ public class PaymentHandle {
...
@@ -180,7 +202,7 @@ public class PaymentHandle {
refundStatus
=
this
.
getFinalRefundStatus
(
Integer
.
valueOf
(
orderRefundResponse
.
getCode
()));
refundStatus
=
this
.
getFinalRefundStatus
(
Integer
.
valueOf
(
orderRefundResponse
.
getCode
()));
message
=
orderRefundResponse
.
getMessage
();
message
=
orderRefundResponse
.
getMessage
();
}
}
PayRefundResponse
payRefundResponse
=
handlePayRefundResponse
(
refundStatus
,
req
.
getRefundId
());
PayRefundResponse
payRefundResponse
=
handlePayRefundResponse
(
refundStatus
,
re
fundRe
q
.
getRefundId
());
if
(
message
!=
null
)
{
if
(
message
!=
null
)
{
payRefundResponse
.
setMessage
(
message
);
payRefundResponse
.
setMessage
(
message
);
}
}
...
@@ -334,9 +356,7 @@ public class PaymentHandle {
...
@@ -334,9 +356,7 @@ public class PaymentHandle {
PayRefundStatus
refundStatus
=
PayRefundStatus
.
SUCCESS
;
PayRefundStatus
refundStatus
=
PayRefundStatus
.
SUCCESS
;
PayRefundRequestDto
orderRefundRequest
=
paymentSdkAdapter
PayRefundRequestDto
orderRefundRequest
=
paymentSdkAdapter
.
getOrderRefundRequest
(
orderBean
.
getCompanyId
(),
orderBean
.
getShopId
(),
orderBean
.
getOid
(),
getRefundAmount
(
orderBean
),
orderBean
.
getPayVoucher
(),
orderBean
.
getExtInfo
());
.
getOrderRefundRequest
(
orderBean
.
getCompanyId
(),
orderBean
.
getShopId
(),
orderBean
.
getOid
(),
getRefundAmount
(
orderBean
),
orderBean
.
getPayVoucher
(),
orderBean
.
getExtInfo
(),
reason
);
//抖音支付必传
orderRefundRequest
.
setRefundDesc
(
reason
);
if
(
ObjectUtils
.
equals
(
orderBean
.
getAmount
(),
0L
))
{
if
(
ObjectUtils
.
equals
(
orderBean
.
getAmount
(),
0L
))
{
return
handlePayRefundResponse
(
refundStatus
,
orderRefundRequest
.
getRefundId
());
return
handlePayRefundResponse
(
refundStatus
,
orderRefundRequest
.
getRefundId
());
}
}
...
...
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