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
ce5b4877
Commit
ce5b4877
authored
May 19, 2020
by
shuhu.hou@freemud.cn
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'feature/20200518_退款退配送费'
# Conflicts: # order-management/pom.xml
parents
4a44650b
a7884ed5
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
79 additions
and
14 deletions
+79
-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
ordercenter-sdk/src/main/java/com/freemud/application/sdk/api/ordercenter/constant/InterfaceAddressConstant.java
+4
-0
ordercenter-sdk/src/main/java/com/freemud/application/sdk/api/ordercenter/request/QueryAfterSalesByOrderCodeReq.java
+27
-0
ordercenter-sdk/src/main/java/com/freemud/application/sdk/api/ordercenter/service/OrderSdkService.java
+18
-0
No files found.
order-management/src/main/java/cn/freemud/management/adapter/PaymentSdkAdapter.java
View file @
ce5b4877
...
...
@@ -7,6 +7,8 @@ import com.freemud.sdk.api.assortment.order.response.order.QueryOrdersResponse;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.stereotype.Component
;
import
java.math.BigDecimal
;
/**
* All rights Reserved, Designed By www.freemud.cn
*
...
...
@@ -25,12 +27,12 @@ public class PaymentSdkAdapter {
@Value
(
"${saas.refund.notify.callback}"
)
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
();
refundRequestDTO
.
setPartnerId
(
orderBean
.
getCompanyId
());
refundRequestDTO
.
setStoreId
(
orderBean
.
getShopId
());
refundRequestDTO
.
setOrgTransId
(
orderBean
.
getOid
());
refundRequestDTO
.
setRefundAmount
(
orderBean
.
getAmount
()
.
longValue
());
refundRequestDTO
.
setRefundAmount
(
refundAmount
.
longValue
());
refundRequestDTO
.
setNotifyUrl
(
refundNotifyCallback
);
OrderExtInfoDto
orderExtInfoDto
=
JSONObject
.
parseObject
(
orderBean
.
getExtInfo
(),
OrderExtInfoDto
.
class
);
refundRequestDTO
.
setAppId
(
orderExtInfoDto
.
getAppid
());
...
...
order-management/src/main/java/cn/freemud/management/service/handle/OrderVerifyHandle.java
View file @
ce5b4877
...
...
@@ -224,9 +224,7 @@ public class OrderVerifyHandle {
boolean
isRefundDeliveryFee
=
false
;
//saas渠道订单,已完成的订单不能操作, 商户配置已完成订单可退款可退款
if
(
ObjectUtils
.
equals
(
orderBean
.
getSource
(),
OrderSource
.
SAAS
.
getSource
()))
{
RefundConfig
refundConfig
=
getRefundConfig
(
orderBean
);
isCanRefund
=
refundConfig
.
isCanRefund
();
isRefundDeliveryFee
=
refundConfig
.
isRefundDeliveryFee
();
isCanRefund
=
getRefundConfig
(
orderBean
);
if
(!
isCanRefund
)
{
return
ResponseUtil
.
error
(
ResponseResult
.
ORDER_HAD_AFFIRM_CAN_NOT_REFUND
);
}
...
...
@@ -310,7 +308,7 @@ public class OrderVerifyHandle {
* @param data
* @return true=可同意退款
*/
private
RefundConfig
getRefundConfig
(
QueryOrdersResponse
.
DataBean
.
OrderBean
data
)
{
private
boolean
getRefundConfig
(
QueryOrdersResponse
.
DataBean
.
OrderBean
data
)
{
boolean
isFinishRefund
=
false
;
com
.
freemud
.
application
.
sdk
.
api
.
ordercenter
.
request
.
OrderExtInfoDto
extInfo
=
null
;
JSONObject
jsonObject1
=
JSONObject
.
parseObject
(
data
.
getExtInfo
());
...
...
@@ -353,13 +351,7 @@ public class OrderVerifyHandle {
break
;
}
boolean
isRefundDeliveryFee
=
false
;
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
);
return
isFinishRefund
;
}
/**
...
...
order-management/src/main/java/cn/freemud/management/service/handle/PaymentHandle.java
View file @
ce5b4877
...
...
@@ -7,15 +7,21 @@ import cn.freemud.management.enums.ResponseResult;
import
cn.freemud.management.intercept.OrderServiceException
;
import
com.freemud.application.sdk.api.base.BaseResponse
;
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.response.order.QueryOrdersResponse
;
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.service.StandardPaymentService
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.lang.ObjectUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Component
;
import
java.math.BigDecimal
;
import
java.util.List
;
/**
* All rights Reserved, Designed By www.freemud.cn
*
...
...
@@ -37,6 +43,8 @@ public class PaymentHandle {
private
StandardPaymentService
standardPaymentService
;
@Autowired
private
PaymentSdkAdapter
paymentSdkAdapter
;
@Autowired
private
OrderSdkService
orderSdkService
;
/**
...
...
@@ -47,7 +55,7 @@ public class PaymentHandle {
*/
public
PayRefundResponse
refund
(
OrderManagerRequest
request
,
QueryOrdersResponse
.
DataBean
.
OrderBean
orderBean
){
PayRefundStatus
refundStatus
=
PayRefundStatus
.
SUCCESS
;
OrderRefundRequest
orderRefundRequest
=
paymentSdkAdapter
.
getOrderRefundRequest
(
orderBean
);
OrderRefundRequest
orderRefundRequest
=
paymentSdkAdapter
.
getOrderRefundRequest
(
orderBean
,
getRefundAmount
(
orderBean
)
);
if
(
ObjectUtils
.
equals
(
orderBean
.
getAmount
(),
0
))
{
return
handlePayRefundResponse
(
refundStatus
,
orderRefundRequest
.
getRefundId
());
}
...
...
@@ -68,6 +76,20 @@ public class PaymentHandle {
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
){
PayRefundResponse
payRefundResponse
=
new
PayRefundResponse
();
...
...
ordercenter-sdk/src/main/java/com/freemud/application/sdk/api/ordercenter/constant/InterfaceAddressConstant.java
View file @
ce5b4877
...
...
@@ -100,6 +100,10 @@ public class InterfaceAddressConstant {
*/
public
static
final
String
BATCH_QUERY_AFTER_SALES
=
"afterSales/v2/batchQuery"
;
/**
* 根据订单号查询售后单
*/
public
static
final
String
QUERY_AFTER_SALES_BY_ORDERCODE
=
"afterSales/v2/queryByOrder"
;
/**
* 查询关联订单
*/
public
static
final
String
QUERY_RELATED_ORDER_BY_CODE
=
"order/v2/queryRelatedOrderByCode"
;
...
...
ordercenter-sdk/src/main/java/com/freemud/application/sdk/api/ordercenter/request/QueryAfterSalesByOrderCodeReq.java
0 → 100644
View file @
ce5b4877
package
com
.
freemud
.
application
.
sdk
.
api
.
ordercenter
.
request
;
import
lombok.Data
;
/**
* All rights Reserved, Designed By www.freemud.cn
*
* @version V1.0
* @Title: QueryAfterSalesByOrderCodeReq
* @Package com.freemud.application.sdk.api.ordercenter.request
* @Description:
* @author: shuhu.hou
* @date: 2020/5/18 15:26
* @Copyright: 2020 www.freemud.cn Inc. All rights reserved.
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
*/
@Data
public
class
QueryAfterSalesByOrderCodeReq
{
/**
* 商户号
*/
private
String
partnerId
;
/**
* 售后单号
*/
private
String
orderCode
;
}
ordercenter-sdk/src/main/java/com/freemud/application/sdk/api/ordercenter/service/OrderSdkService.java
View file @
ce5b4877
...
...
@@ -9,6 +9,7 @@ import com.freemud.application.sdk.api.ordercenter.request.create.BatchQueryByCo
import
com.freemud.application.sdk.api.ordercenter.request.create.CreateFatherSonOrderReq
;
import
com.freemud.application.sdk.api.ordercenter.request.create.CreateOrderRequest
;
import
com.freemud.application.sdk.api.ordercenter.response.*
;
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.QueryByCodeResponse
;
import
com.freemud.application.sdk.api.ordercenter.util.ResponseUtil
;
...
...
@@ -461,6 +462,23 @@ public class OrderSdkService {
return
createBaseResponse
(
responseDTO
);
}
/**
* 根据订单号查询售后单
* @param partnerId
* @param orderCode
* @return
*/
public
BaseResponse
<
List
<
AfterSalesOrderResp
>>
queryAfterSaleByOrderCode
(
String
partnerId
,
String
orderCode
){
QueryAfterSalesByOrderCodeReq
queryAfterSalesByOrderCodeReq
=
new
QueryAfterSalesByOrderCodeReq
();
queryAfterSalesByOrderCodeReq
.
setOrderCode
(
orderCode
);
queryAfterSalesByOrderCodeReq
.
setPartnerId
(
partnerId
);
OrderBaseResp
<
List
<
AfterSalesOrderResp
>>
responseDTO
=
RequestThirdPartyUtils
.
httpJsonReqComplexNew
(
restTemplate
,
InterfaceAddressConstant
.
QUERY_AFTER_SALES_BY_ORDERCODE
,
createBaseRequest
(
queryAfterSalesByOrderCodeReq
,
""
),
new
ParameterizedTypeReference
<
OrderBaseResp
<
List
<
AfterSalesOrderResp
>>>()
{
});
return
responseHandle
(
responseDTO
);
}
private
BaseResponse
<
BatchQueryAfterSalesResp
>
createBaseResponse
(
BatchQueryAfterSalesBaseResponse
<
AfterSalesPageResp
>
responseDTO
)
{
if
(
responseDTO
==
null
)
{
return
responseHandle
(
null
);
...
...
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