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
8c6db0e2
Commit
8c6db0e2
authored
Jan 03, 2024
by
box
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
卖券订单退款时,由于退款失败率更高,故逻辑修改为先退款再作废优惠券
那么如果退款成功,优惠券必须作废,因此移除优惠券作废前校验是否可以作废的逻辑 即不管券状态是否已使用还是部分使用,通通作废
parent
6d01bc42
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
16 additions
and
9 deletions
+16
-9
order-management/src/main/java/cn/freemud/management/service/handle/OrderCouponHandle.java
+4
-4
order-management/src/main/java/cn/freemud/management/service/impl/SaleCouponOrderMangerServiceImpl.java
+12
-5
No files found.
order-management/src/main/java/cn/freemud/management/service/handle/OrderCouponHandle.java
View file @
8c6db0e2
...
@@ -48,10 +48,10 @@ public class OrderCouponHandle {
...
@@ -48,10 +48,10 @@ public class OrderCouponHandle {
if
(
couponCodes
.
isEmpty
())
{
if
(
couponCodes
.
isEmpty
())
{
return
ResponseUtil
.
error
(
ResponseResult
.
SYSTEM_ERROR
.
getCode
(),
"订单中优惠券数据为空。"
);
return
ResponseUtil
.
error
(
ResponseResult
.
SYSTEM_ERROR
.
getCode
(),
"订单中优惠券数据为空。"
);
}
}
// 校验券状态是否已被使用
//
// 校验券状态是否已被使用
if
(
couponQueryHandle
.
isCouponUsed
(
partnerId
,
couponCodes
))
{
//
if (couponQueryHandle.isCouponUsed(partnerId, couponCodes)) {
return
ResponseUtil
.
error
(
ResponseResult
.
SYSTEM_ERROR
.
getCode
(),
"作废优惠券失败,部分券已被使用。"
);
//
return ResponseUtil.error(ResponseResult.SYSTEM_ERROR.getCode(), "作废优惠券失败,部分券已被使用。");
}
//
}
BatchCouponDiscardReq
discardReq
=
new
BatchCouponDiscardReq
();
BatchCouponDiscardReq
discardReq
=
new
BatchCouponDiscardReq
();
discardReq
.
setCoupons
(
couponCodes
.
stream
().
map
(
code
->
{
discardReq
.
setCoupons
(
couponCodes
.
stream
().
map
(
code
->
{
...
...
order-management/src/main/java/cn/freemud/management/service/impl/SaleCouponOrderMangerServiceImpl.java
View file @
8c6db0e2
...
@@ -13,6 +13,7 @@ import cn.freemud.management.service.handle.PaymentHandle;
...
@@ -13,6 +13,7 @@ import cn.freemud.management.service.handle.PaymentHandle;
import
cn.freemud.management.service.handle.SaasOrderHandle
;
import
cn.freemud.management.service.handle.SaasOrderHandle
;
import
cn.freemud.management.service.handle.StockHandle
;
import
cn.freemud.management.service.handle.StockHandle
;
import
cn.freemud.management.util.ResponseUtil
;
import
cn.freemud.management.util.ResponseUtil
;
import
com.alibaba.fastjson.JSONObject
;
import
com.freemud.application.sdk.api.log.ApiLog
;
import
com.freemud.application.sdk.api.log.ApiLog
;
import
com.freemud.application.sdk.api.log.LogThreadLocal
;
import
com.freemud.application.sdk.api.log.LogThreadLocal
;
import
com.freemud.application.sdk.api.ordercenter.entities.v1.OrderBeanV1
;
import
com.freemud.application.sdk.api.ordercenter.entities.v1.OrderBeanV1
;
...
@@ -68,11 +69,6 @@ public class SaleCouponOrderMangerServiceImpl implements OrderManagerService {
...
@@ -68,11 +69,6 @@ public class SaleCouponOrderMangerServiceImpl implements OrderManagerService {
*/
*/
@Override
@Override
public
BaseResponse
<
OrderManagerResponse
>
orderAgreeRefund
(
OrderManagerRequest
request
,
OrderBeanV1
orderBean
)
{
public
BaseResponse
<
OrderManagerResponse
>
orderAgreeRefund
(
OrderManagerRequest
request
,
OrderBeanV1
orderBean
)
{
// 退款前先作废券
BaseResponse
response
=
orderCouponHandle
.
discardOrderCoupon
(
request
.
getPartnerId
(),
orderBean
);
if
(!
isSuccess
(
response
))
{
return
response
;
}
// 支付退款 包括线上小程序付款的订单,订单宝其他支付方式收款(汇来米,收钱吧,现金,其他)老板通发起退款
// 支付退款 包括线上小程序付款的订单,订单宝其他支付方式收款(汇来米,收钱吧,现金,其他)老板通发起退款
PayRefundResponse
refundResponse
=
this
.
payRefundCommon
(
request
,
orderBean
);
PayRefundResponse
refundResponse
=
this
.
payRefundCommon
(
request
,
orderBean
);
...
@@ -85,6 +81,17 @@ public class SaleCouponOrderMangerServiceImpl implements OrderManagerService {
...
@@ -85,6 +81,17 @@ public class SaleCouponOrderMangerServiceImpl implements OrderManagerService {
return
ResponseUtil
.
error
(
ResponseResult
.
REFUND_FAIL
.
getCode
(),
refundResponse
.
getMessage
());
return
ResponseUtil
.
error
(
ResponseResult
.
REFUND_FAIL
.
getCode
(),
refundResponse
.
getMessage
());
}
}
// 先退款再作废券,因为退款经常出现余额不足而失败。券作废失败不影响后面的流程
try
{
BaseResponse
response
=
orderCouponHandle
.
discardOrderCoupon
(
request
.
getPartnerId
(),
orderBean
);
if
(!
isSuccess
(
response
))
{
ApiLog
.
warnMessage
(
"卖券订单已退款,优惠券作废失败 oid:{} resp:{}"
,
orderBean
.
getOid
(),
JSONObject
.
toJSONString
(
response
));
}
}
catch
(
Throwable
e
)
{
ApiLog
.
warnMessage
(
"卖券订单已退款,优惠券作废异常 oid:{} ex:{}"
,
orderBean
.
getOid
(),
e
.
getMessage
());
}
//订单同意退款
//订单同意退款
saasOrderHandle
.
refundAgree
(
request
,
refundResponse
,
orderBean
);
saasOrderHandle
.
refundAgree
(
request
,
refundResponse
,
orderBean
);
// 推送pos、微信消息中心
// 推送pos、微信消息中心
...
...
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