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
332248a2
Commit
332248a2
authored
Aug 10, 2022
by
周晓航
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'Ka-OMS订单同意退款改造' into qa
parents
3b5f8785
c547495b
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
41 additions
and
40 deletions
+41
-40
assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/enums/PayRefundStatus.java
+22
-12
assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/response/order/MultiOrderRefundResponse.java
+5
-2
order-management/src/main/java/cn/freemud/management/service/handle/OrderVerifyHandle.java
+8
-8
order-management/src/main/java/cn/freemud/management/service/handle/PaymentHandle.java
+6
-18
No files found.
assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/enums/PayRefundStatus.java
View file @
332248a2
...
...
@@ -13,14 +13,14 @@ package com.freemud.sdk.api.assortment.order.enums;
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
*/
public
enum
PayRefundStatus
{
SUCCESS
(
1
,
"退款成功"
),
FAIL
(
2
,
"退款失败"
),
RUNNING
(
4
,
"退款中"
),
SUCCESS
(
1
,
"退款成功"
),
FAIL
(
2
,
"退款失败"
),
RUNNING
(
4
,
"退款中"
),
/**
* 额外状态码 用于判断逻辑,
*/
NOT_SUFFICIENT_FUNDS
(
8200201
,
"余额不足"
),
COMPATIBILITY_STATUS
(
9999999
,
"退款异常"
);
NOT_SUFFICIENT_FUNDS
(
8200201
,
"余额不足"
),
COMPATIBILITY_STATUS
(
9999999
,
"退款异常"
);
private
Integer
code
;
private
String
desc
;
...
...
@@ -30,16 +30,26 @@ public enum PayRefundStatus {
this
.
desc
=
desc
;
}
public
static
PayRefundStatus
getByCode
(
Integer
code
)
{
public
static
PayRefundStatus
getBy
PayResult
Code
(
Integer
code
)
{
if
(
code
==
null
)
{
return
null
;
return
PayRefundStatus
.
FAIL
;
}
for
(
PayRefundStatus
payStatus
:
values
())
{
if
(
payStatus
.
getCode
().
equals
(
code
))
{
return
payStatus
;
}
switch
(
code
)
{
// 退款中状态码需要单独处理
case
8200305
:
return
PayRefundStatus
.
RUNNING
;
// 重复请求,按照退款中处理
case
82004005
:
return
PayRefundStatus
.
RUNNING
;
// 退款成功
case
100
:
return
PayRefundStatus
.
SUCCESS
;
// 已退款订单 当做退款成功处理
case
101
:
return
PayRefundStatus
.
SUCCESS
;
default
:
return
PayRefundStatus
.
FAIL
;
}
return
null
;
}
public
Integer
getCode
()
{
...
...
assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/response/order/MultiOrderRefundResponse.java
View file @
332248a2
package
com
.
freemud
.
sdk
.
api
.
assortment
.
order
.
response
.
order
;
import
com.fasterxml.jackson.annotation.JsonIgnoreProperties
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
...
...
@@ -33,6 +32,10 @@ public class MultiOrderRefundResponse<T> {
* 退款成功
*/
public
static
Integer
REFUND_SUCCESS
=
100
;
/**
* 101已退款订单(当成功处理)
*/
public
static
Integer
REFUND_SUCCESSED
=
101
;
private
String
endTransTradeNo
;
private
String
fmRefundNo
;
private
String
fmTradeNo
;
...
...
@@ -50,7 +53,7 @@ public class MultiOrderRefundResponse<T> {
private
String
transId
;
private
String
ebcode
;
@ApiModelProperty
(
value
=
"业务返回码 8200305 代表退款中 100是成功 其他 都是失败"
)
@ApiModelProperty
(
value
=
"业务返回码 8200305 代表退款中 100是成功
101已退款订单(当成功处理)
其他 都是失败"
)
private
Integer
resultCode
;
@ApiModelProperty
(
value
=
"业务返回消息"
)
...
...
order-management/src/main/java/cn/freemud/management/service/handle/OrderVerifyHandle.java
View file @
332248a2
...
...
@@ -371,15 +371,15 @@ public class OrderVerifyHandle {
//订单
boolean
isRefundDeliveryFee
=
false
;
//saas渠道订单,已完成的订单不能操作, 商户配置已完成订单可退款可退款
if
(
ObjectUtils
.
equals
(
orderBean
.
getSource
(),
OrderSourceV1
.
SAAS
.
getCode
()))
{
isCanRefund
=
getRefundConfig
(
orderBean
);
if
(!
isCanRefund
)
{
return
ResponseUtil
.
error
(
ResponseResult
.
ORDER_HAD_AFFIRM_CAN_NOT_REFUND
);
}
}
if
(
isCanRefund
)
{
//
if (ObjectUtils.equals(orderBean.getSource(), OrderSourceV1.SAAS.getCode())) {
//
isCanRefund = getRefundConfig(orderBean);
//
if (!isCanRefund) {
//
return ResponseUtil.error(ResponseResult.ORDER_HAD_AFFIRM_CAN_NOT_REFUND);
//
}
//
}
//
if (isCanRefund) {
orderBean
.
setAmount
(
getRefundAmount
(
orderBean
,
isRefundDeliveryFee
).
longValue
());
}
//
}
return
ResponseUtil
.
success
();
}
...
...
order-management/src/main/java/cn/freemud/management/service/handle/PaymentHandle.java
View file @
332248a2
...
...
@@ -19,8 +19,6 @@ import com.freemud.api.assortment.datamanager.manager.AssortmentOpenPlatformIapp
import
com.freemud.application.sdk.api.base.BaseResponse
;
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.enums.PayChannelType
;
import
com.freemud.application.sdk.api.ordercenter.enums.orderv1.OrderTypeV1
;
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.response.OrderBaseResp
;
...
...
@@ -35,11 +33,11 @@ import org.apache.commons.collections4.CollectionUtils;
import
org.apache.commons.lang.ObjectUtils
;
import
org.apache.commons.lang.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.stereotype.Component
;
import
java.math.BigDecimal
;
import
java.util.*
;
import
java.util.List
;
import
java.util.Objects
;
import
java.util.concurrent.TimeUnit
;
...
...
@@ -161,7 +159,9 @@ public class PaymentHandle {
MultiOrderRefundRequest
multiOrderRefundRequest
=
paymentSdkAdapter
.
getMultiOrderPayRefundRequest
(
orderBean
,
getRefundAmount
(
orderBean
));
MultiOrderRefundResponse
multiOrderRefundResponse
=
mulitiPaymentClient
.
paymentApplicationRefund
(
multiOrderRefundRequest
,
orderBean
.
getCompanyId
());
String
message
=
""
;
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 退款异常 也当做 退款中处理
refundStatus
=
PayRefundStatus
.
RUNNING
;
}
else
{
...
...
@@ -226,19 +226,7 @@ public class PaymentHandle {
private
PayRefundStatus
getFinalRefundStatus
(
Integer
resultCode
)
{
switch
(
resultCode
)
{
// 退款中状态码需要单独处理
case
8200305
:
return
PayRefundStatus
.
RUNNING
;
// 重复请求,按照退款中处理
case
82004005
:
return
PayRefundStatus
.
RUNNING
;
// 退款成功
case
100
:
return
PayRefundStatus
.
SUCCESS
;
default
:
return
PayRefundStatus
.
FAIL
;
}
return
PayRefundStatus
.
getByPayResultCode
(
resultCode
);
}
...
...
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