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
dc7c70c9
Commit
dc7c70c9
authored
May 22, 2020
by
shuhu.hou@freemud.cn
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'feature/20200518_退款退配送费' into develop
# Conflicts: # order-management/pom.xml
parents
71f1d51d
a7884ed5
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
30 additions
and
14 deletions
+30
-14
order-management/src/main/java/cn/freemud/management/adapter/PaymentSdkAdapter.java
+4
-2
order-management/src/main/java/cn/freemud/management/service/handle/OrderVerifyHandle.java
+3
-11
order-management/src/main/java/cn/freemud/management/service/handle/PaymentHandle.java
+23
-1
No files found.
order-management/src/main/java/cn/freemud/management/adapter/PaymentSdkAdapter.java
View file @
dc7c70c9
...
@@ -7,6 +7,8 @@ import com.freemud.sdk.api.assortment.order.response.order.QueryOrdersResponse;
...
@@ -7,6 +7,8 @@ import com.freemud.sdk.api.assortment.order.response.order.QueryOrdersResponse;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.stereotype.Component
;
import
org.springframework.stereotype.Component
;
import
java.math.BigDecimal
;
/**
/**
* All rights Reserved, Designed By www.freemud.cn
* All rights Reserved, Designed By www.freemud.cn
*
*
...
@@ -25,12 +27,12 @@ public class PaymentSdkAdapter {
...
@@ -25,12 +27,12 @@ public class PaymentSdkAdapter {
@Value
(
"${saas.refund.notify.callback}"
)
@Value
(
"${saas.refund.notify.callback}"
)
private
String
refundNotifyCallback
;
private
String
refundNotifyCallback
;
public
com
.
freemud
.
sdk
.
api
.
assortment
.
payment
.
request
.
OrderRefundRequest
getOrderRefundRequest
(
QueryOrdersResponse
.
DataBean
.
OrderBean
orderBean
)
{
public
com
.
freemud
.
sdk
.
api
.
assortment
.
payment
.
request
.
OrderRefundRequest
getOrderRefundRequest
(
QueryOrdersResponse
.
DataBean
.
OrderBean
orderBean
,
BigDecimal
refundAmount
)
{
com
.
freemud
.
sdk
.
api
.
assortment
.
payment
.
request
.
OrderRefundRequest
refundRequestDTO
=
new
com
.
freemud
.
sdk
.
api
.
assortment
.
payment
.
request
.
OrderRefundRequest
();
com
.
freemud
.
sdk
.
api
.
assortment
.
payment
.
request
.
OrderRefundRequest
refundRequestDTO
=
new
com
.
freemud
.
sdk
.
api
.
assortment
.
payment
.
request
.
OrderRefundRequest
();
refundRequestDTO
.
setPartnerId
(
orderBean
.
getCompanyId
());
refundRequestDTO
.
setPartnerId
(
orderBean
.
getCompanyId
());
refundRequestDTO
.
setStoreId
(
orderBean
.
getShopId
());
refundRequestDTO
.
setStoreId
(
orderBean
.
getShopId
());
refundRequestDTO
.
setOrgTransId
(
orderBean
.
getOid
());
refundRequestDTO
.
setOrgTransId
(
orderBean
.
getOid
());
refundRequestDTO
.
setRefundAmount
(
orderBean
.
getAmount
()
.
longValue
());
refundRequestDTO
.
setRefundAmount
(
refundAmount
.
longValue
());
refundRequestDTO
.
setNotifyUrl
(
refundNotifyCallback
);
refundRequestDTO
.
setNotifyUrl
(
refundNotifyCallback
);
OrderExtInfoDto
orderExtInfoDto
=
JSONObject
.
parseObject
(
orderBean
.
getExtInfo
(),
OrderExtInfoDto
.
class
);
OrderExtInfoDto
orderExtInfoDto
=
JSONObject
.
parseObject
(
orderBean
.
getExtInfo
(),
OrderExtInfoDto
.
class
);
refundRequestDTO
.
setAppId
(
orderExtInfoDto
.
getAppid
());
refundRequestDTO
.
setAppId
(
orderExtInfoDto
.
getAppid
());
...
...
order-management/src/main/java/cn/freemud/management/service/handle/OrderVerifyHandle.java
View file @
dc7c70c9
...
@@ -224,9 +224,7 @@ public class OrderVerifyHandle {
...
@@ -224,9 +224,7 @@ public class OrderVerifyHandle {
boolean
isRefundDeliveryFee
=
false
;
boolean
isRefundDeliveryFee
=
false
;
//saas渠道订单,已完成的订单不能操作, 商户配置已完成订单可退款可退款
//saas渠道订单,已完成的订单不能操作, 商户配置已完成订单可退款可退款
if
(
ObjectUtils
.
equals
(
orderBean
.
getSource
(),
OrderSource
.
SAAS
.
getSource
()))
{
if
(
ObjectUtils
.
equals
(
orderBean
.
getSource
(),
OrderSource
.
SAAS
.
getSource
()))
{
RefundConfig
refundConfig
=
getRefundConfig
(
orderBean
);
isCanRefund
=
getRefundConfig
(
orderBean
);
isCanRefund
=
refundConfig
.
isCanRefund
();
isRefundDeliveryFee
=
refundConfig
.
isRefundDeliveryFee
();
if
(!
isCanRefund
)
{
if
(!
isCanRefund
)
{
return
ResponseUtil
.
error
(
ResponseResult
.
ORDER_HAD_AFFIRM_CAN_NOT_REFUND
);
return
ResponseUtil
.
error
(
ResponseResult
.
ORDER_HAD_AFFIRM_CAN_NOT_REFUND
);
}
}
...
@@ -310,7 +308,7 @@ public class OrderVerifyHandle {
...
@@ -310,7 +308,7 @@ public class OrderVerifyHandle {
* @param data
* @param data
* @return true=可同意退款
* @return true=可同意退款
*/
*/
private
RefundConfig
getRefundConfig
(
QueryOrdersResponse
.
DataBean
.
OrderBean
data
)
{
private
boolean
getRefundConfig
(
QueryOrdersResponse
.
DataBean
.
OrderBean
data
)
{
boolean
isFinishRefund
=
false
;
boolean
isFinishRefund
=
false
;
com
.
freemud
.
application
.
sdk
.
api
.
ordercenter
.
request
.
OrderExtInfoDto
extInfo
=
null
;
com
.
freemud
.
application
.
sdk
.
api
.
ordercenter
.
request
.
OrderExtInfoDto
extInfo
=
null
;
JSONObject
jsonObject1
=
JSONObject
.
parseObject
(
data
.
getExtInfo
());
JSONObject
jsonObject1
=
JSONObject
.
parseObject
(
data
.
getExtInfo
());
...
@@ -353,13 +351,7 @@ public class OrderVerifyHandle {
...
@@ -353,13 +351,7 @@ public class OrderVerifyHandle {
break
;
break
;
}
}
boolean
isRefundDeliveryFee
=
false
;
return
isFinishRefund
;
AssortmentOpenPlatformPartnerWxappConfig
refundDeliveryFeeConfig
=
configMap
.
get
(
OrderRefundEnum
.
REFUND_DELIVERY_FEE_ENABLE
.
getKeyValue
());
// 0、null表示 关闭 ; 1 表示开启
if
(
null
!=
refundDeliveryFeeConfig
&&
ALLOW_REFUND
.
equals
(
refundDeliveryFeeConfig
.
getAppValue
()))
{
isRefundDeliveryFee
=
true
;
}
return
new
RefundConfig
(
isFinishRefund
,
isRefundDeliveryFee
);
}
}
/**
/**
...
...
order-management/src/main/java/cn/freemud/management/service/handle/PaymentHandle.java
View file @
dc7c70c9
...
@@ -7,15 +7,21 @@ import cn.freemud.management.enums.ResponseResult;
...
@@ -7,15 +7,21 @@ import cn.freemud.management.enums.ResponseResult;
import
cn.freemud.management.intercept.OrderServiceException
;
import
cn.freemud.management.intercept.OrderServiceException
;
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.response.orderInfo.AfterSalesOrderResp
;
import
com.freemud.application.sdk.api.ordercenter.service.OrderSdkService
;
import
com.freemud.sdk.api.assortment.order.enums.PayRefundStatus
;
import
com.freemud.sdk.api.assortment.order.enums.PayRefundStatus
;
import
com.freemud.sdk.api.assortment.order.response.order.QueryOrdersResponse
;
import
com.freemud.sdk.api.assortment.order.response.order.QueryOrdersResponse
;
import
com.freemud.sdk.api.assortment.payment.request.OrderRefundRequest
;
import
com.freemud.sdk.api.assortment.payment.request.OrderRefundRequest
;
import
com.freemud.sdk.api.assortment.payment.response.OrderRefundResponse
;
import
com.freemud.sdk.api.assortment.payment.response.OrderRefundResponse
;
import
com.freemud.sdk.api.assortment.payment.service.StandardPaymentService
;
import
com.freemud.sdk.api.assortment.payment.service.StandardPaymentService
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.lang.ObjectUtils
;
import
org.apache.commons.lang.ObjectUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Component
;
import
org.springframework.stereotype.Component
;
import
java.math.BigDecimal
;
import
java.util.List
;
/**
/**
* All rights Reserved, Designed By www.freemud.cn
* All rights Reserved, Designed By www.freemud.cn
*
*
...
@@ -37,6 +43,8 @@ public class PaymentHandle {
...
@@ -37,6 +43,8 @@ public class PaymentHandle {
private
StandardPaymentService
standardPaymentService
;
private
StandardPaymentService
standardPaymentService
;
@Autowired
@Autowired
private
PaymentSdkAdapter
paymentSdkAdapter
;
private
PaymentSdkAdapter
paymentSdkAdapter
;
@Autowired
private
OrderSdkService
orderSdkService
;
/**
/**
...
@@ -47,7 +55,7 @@ public class PaymentHandle {
...
@@ -47,7 +55,7 @@ public class PaymentHandle {
*/
*/
public
PayRefundResponse
refund
(
OrderManagerRequest
request
,
QueryOrdersResponse
.
DataBean
.
OrderBean
orderBean
){
public
PayRefundResponse
refund
(
OrderManagerRequest
request
,
QueryOrdersResponse
.
DataBean
.
OrderBean
orderBean
){
PayRefundStatus
refundStatus
=
PayRefundStatus
.
SUCCESS
;
PayRefundStatus
refundStatus
=
PayRefundStatus
.
SUCCESS
;
OrderRefundRequest
orderRefundRequest
=
paymentSdkAdapter
.
getOrderRefundRequest
(
orderBean
);
OrderRefundRequest
orderRefundRequest
=
paymentSdkAdapter
.
getOrderRefundRequest
(
orderBean
,
getRefundAmount
(
orderBean
)
);
if
(
ObjectUtils
.
equals
(
orderBean
.
getAmount
(),
0
))
{
if
(
ObjectUtils
.
equals
(
orderBean
.
getAmount
(),
0
))
{
return
handlePayRefundResponse
(
refundStatus
,
orderRefundRequest
.
getRefundId
());
return
handlePayRefundResponse
(
refundStatus
,
orderRefundRequest
.
getRefundId
());
}
}
...
@@ -68,6 +76,20 @@ public class PaymentHandle {
...
@@ -68,6 +76,20 @@ public class PaymentHandle {
return
handlePayRefundResponse
(
refundStatus
,
orderRefundRequest
.
getRefundId
());
return
handlePayRefundResponse
(
refundStatus
,
orderRefundRequest
.
getRefundId
());
}
}
/**
* 获取退款金额
*
* @param data
* @return
*/
private
BigDecimal
getRefundAmount
(
QueryOrdersResponse
.
DataBean
.
OrderBean
data
)
{
BigDecimal
refundAmount
=
new
BigDecimal
(
data
.
getAmount
());
com
.
freemud
.
application
.
sdk
.
api
.
ordercenter
.
response
.
BaseResponse
<
List
<
AfterSalesOrderResp
>>
listBaseResponse
=
orderSdkService
.
queryAfterSaleByOrderCode
(
data
.
getCompanyId
(),
data
.
getOid
());
if
(
CollectionUtils
.
isNotEmpty
(
listBaseResponse
.
getResult
())){
refundAmount
=
new
BigDecimal
(
listBaseResponse
.
getResult
().
get
(
0
).
getActualAmount
());
}
return
refundAmount
;
}
private
PayRefundResponse
handlePayRefundResponse
(
PayRefundStatus
refundStatus
,
Long
refundId
){
private
PayRefundResponse
handlePayRefundResponse
(
PayRefundStatus
refundStatus
,
Long
refundId
){
PayRefundResponse
payRefundResponse
=
new
PayRefundResponse
();
PayRefundResponse
payRefundResponse
=
new
PayRefundResponse
();
...
...
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