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
12cf7b32
Commit
12cf7b32
authored
Apr 22, 2021
by
王世昌
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
允许部分订单失败
parent
3f5d27c4
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
32 additions
and
18 deletions
+32
-18
order-application-service/src/main/java/cn/freemud/service/impl/OrderServiceImpl.java
+32
-18
No files found.
order-application-service/src/main/java/cn/freemud/service/impl/OrderServiceImpl.java
View file @
12cf7b32
...
@@ -68,7 +68,6 @@ import cn.freemud.utils.*;
...
@@ -68,7 +68,6 @@ import cn.freemud.utils.*;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONArray
;
import
com.alibaba.fastjson.JSONArray
;
import
com.alibaba.fastjson.JSONObject
;
import
com.alibaba.fastjson.JSONObject
;
import
com.freemud.application.sdk.api.ordercenter.enums.*
;
import
com.freemud.api.assortment.datamanager.entity.db.*
;
import
com.freemud.api.assortment.datamanager.entity.db.*
;
import
com.freemud.api.assortment.datamanager.entity.vo.AssortmentCustomerInfoVo
;
import
com.freemud.api.assortment.datamanager.entity.vo.AssortmentCustomerInfoVo
;
import
com.freemud.api.assortment.datamanager.manager.*
;
import
com.freemud.api.assortment.datamanager.manager.*
;
...
@@ -4212,7 +4211,7 @@ public class OrderServiceImpl implements Orderservice {
...
@@ -4212,7 +4211,7 @@ public class OrderServiceImpl implements Orderservice {
orderRefundVo
.
setRefundMode
(
RefundModeEnum
.
UN_REFUND_GOODS
.
getIndex
());
orderRefundVo
.
setRefundMode
(
RefundModeEnum
.
UN_REFUND_GOODS
.
getIndex
());
// 拼团失败逻辑处理
// 拼团失败逻辑处理
BaseResponse
baseResponse
=
batch
PartnerNoTakeOrder
(
orderRefundVo
,
orderBeanList
,
AfterSalesType
.
SYSTEM_CANCEL
,
true
);
BaseResponse
baseResponse
=
batch
RefundOrderNoTake
(
orderRefundVo
,
orderBeanList
,
AfterSalesType
.
SYSTEM_CANCEL
,
true
);
if
(
baseResponse
!=
null
)
{
if
(
baseResponse
!=
null
)
{
return
baseResponse
;
return
baseResponse
;
}
}
...
@@ -4231,11 +4230,11 @@ public class OrderServiceImpl implements Orderservice {
...
@@ -4231,11 +4230,11 @@ public class OrderServiceImpl implements Orderservice {
for
(
OrderBean
orderBean
:
orderBeans
)
{
for
(
OrderBean
orderBean
:
orderBeans
)
{
if
(
Objects
.
equals
(
PayStatus
.
NOT_PAY
.
getCode
(),
orderBean
.
getPayStatus
())
if
(
Objects
.
equals
(
PayStatus
.
NOT_PAY
.
getCode
(),
orderBean
.
getPayStatus
())
||
Objects
.
equals
(
OrderStatus
.
WAIT_PAY
.
getCode
(),
orderBean
.
getStatus
()))
{
||
Objects
.
equals
(
OrderStatus
.
WAIT_PAY
.
getCode
(),
orderBean
.
getStatus
()))
{
log
.
info
(
"拼团
失败
取消订单 -> 订单未支付,无需退款 订单号:{} "
,
orderBean
.
getOid
());
log
.
info
(
"拼团
批量
取消订单 -> 订单未支付,无需退款 订单号:{} "
,
orderBean
.
getOid
());
continue
;
continue
;
}
}
if
(
OrderStatus
.
CALCEL
.
getCode
().
equals
(
orderBean
.
getStatus
()))
{
if
(
OrderStatus
.
CALCEL
.
getCode
().
equals
(
orderBean
.
getStatus
()))
{
log
.
info
(
"拼团
失败
取消订单 -> 订单已取消,无需退款 订单号:{} "
,
orderBean
.
getOid
());
log
.
info
(
"拼团
批量
取消订单 -> 订单已取消,无需退款 订单号:{} "
,
orderBean
.
getOid
());
continue
;
continue
;
}
}
list
.
add
(
orderBean
);
list
.
add
(
orderBean
);
...
@@ -4280,7 +4279,7 @@ public class OrderServiceImpl implements Orderservice {
...
@@ -4280,7 +4279,7 @@ public class OrderServiceImpl implements Orderservice {
* @param isRefundDeliveryFee
* @param isRefundDeliveryFee
* @return
* @return
*/
*/
private
BaseResponse
batch
PartnerNoTakeOrder
(
SpellGroupBatchOrderRefundVo
orderRefundVo
,
List
<
OrderBean
>
orderBeans
,
AfterSalesType
afterSalesType
,
Boolean
isRefundDeliveryFee
)
{
private
BaseResponse
batch
RefundOrderNoTake
(
SpellGroupBatchOrderRefundVo
orderRefundVo
,
List
<
OrderBean
>
orderBeans
,
AfterSalesType
afterSalesType
,
Boolean
isRefundDeliveryFee
)
{
if
(
CollectionUtils
.
isEmpty
(
orderBeans
))
{
if
(
CollectionUtils
.
isEmpty
(
orderBeans
))
{
return
null
;
return
null
;
}
}
...
@@ -4300,15 +4299,17 @@ public class OrderServiceImpl implements Orderservice {
...
@@ -4300,15 +4299,17 @@ public class OrderServiceImpl implements Orderservice {
unPayRefund
.
add
(
orderBean
.
getOid
());
unPayRefund
.
add
(
orderBean
.
getOid
());
}
}
});
});
// 1 进行批量退款
if
(!
payRefundOrderCodes
.
isEmpty
())
{
if
(!
payRefundOrderCodes
.
isEmpty
())
{
// 1.组装批量退款参数
BatchOrderRefundV2Request
batchOrderRefundV2Request
=
orderAdapter
.
getBatchOrderRefundV2Request
(
payRefundOrderCodes
,
partnerId
,
storeId
);
PayBatchRefundResponse
response
=
null
;
PayBatchRefundResponse
response
=
null
;
try
{
try
{
// 2.调用支付服务退款
// 1.1 组装批量退款参数
BatchOrderRefundV2Request
batchOrderRefundV2Request
=
orderAdapter
.
getBatchOrderRefundV2Request
(
payRefundOrderCodes
,
partnerId
,
storeId
);
// 1.2 调用支付服务退款
response
=
paymentNewClient
.
batchRefund
(
batchOrderRefundV2Request
);
response
=
paymentNewClient
.
batchRefund
(
batchOrderRefundV2Request
);
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
log
.
error
(
"批量退款失败!!"
,
e
);
log
.
error
(
"
拼团
批量退款失败!!"
,
e
);
}
}
PayBatchRefundResponse
.
BatchRefundBatchIdData
batchIdData
;
PayBatchRefundResponse
.
BatchRefundBatchIdData
batchIdData
;
if
(
Objects
.
isNull
(
response
)
||
!
Objects
.
equals
(
ResponseCodeConstant
.
RESPONSE_SUCCESS
,
response
.
getCode
())
if
(
Objects
.
isNull
(
response
)
||
!
Objects
.
equals
(
ResponseCodeConstant
.
RESPONSE_SUCCESS
,
response
.
getCode
())
...
@@ -4319,7 +4320,8 @@ public class OrderServiceImpl implements Orderservice {
...
@@ -4319,7 +4320,8 @@ public class OrderServiceImpl implements Orderservice {
batchId
=
batchIdData
.
getBatchId
();
batchId
=
batchIdData
.
getBatchId
();
}
}
// 循环退单
// 2 循环退单
List
<
OrderBean
>
failOrderBean
=
new
ArrayList
<>();
String
trackingNo
=
LogTreadLocal
.
getTrackingNo
();
String
trackingNo
=
LogTreadLocal
.
getTrackingNo
();
for
(
OrderBean
orderBean
:
orderBeans
)
{
for
(
OrderBean
orderBean
:
orderBeans
)
{
CancelOrderRequest
cancelOrderRequest
=
orderAdapter
.
convent2CancelOrderRequest
(
orderBean
.
getOid
(),
CancelOrderRequest
cancelOrderRequest
=
orderAdapter
.
convent2CancelOrderRequest
(
orderBean
.
getOid
(),
...
@@ -4339,19 +4341,31 @@ public class OrderServiceImpl implements Orderservice {
...
@@ -4339,19 +4341,31 @@ public class OrderServiceImpl implements Orderservice {
// 记录退款批次
// 记录退款批次
cancelOrderRequest
.
setCreateEvent
(
AfterSalesOrderCreateEventEnum
.
RETURN_COMPLETE
.
getCreateEvent
());
cancelOrderRequest
.
setCreateEvent
(
AfterSalesOrderCreateEventEnum
.
RETURN_COMPLETE
.
getCreateEvent
());
salesOrderExtInfoReq
.
setBatchRefundId
(
batchId
);
salesOrderExtInfoReq
.
setBatchRefundId
(
batchId
);
// todo 发生延时mq用于检查
}
}
cancelOrderRequest
.
setReqRemark
(
orderRefundVo
.
getRemarks
());
cancelOrderRequest
.
setReqRemark
(
orderRefundVo
.
getRemarks
());
cancelOrderRequest
.
setRefundDeliveryAmount
(
isRefundDeliveryFee
);
cancelOrderRequest
.
setRefundDeliveryAmount
(
isRefundDeliveryFee
);
boolean
fail
=
true
;
BaseOrderResponse
baseOrderResponse
=
orderCenterSdkService
.
orderCancel
(
cancelOrderRequest
);
try
{
// todo 需要进行部分的处理
BaseOrderResponse
baseOrderResponse
=
orderCenterSdkService
.
orderCancel
(
cancelOrderRequest
);
if
(
baseOrderResponse
==
null
||
baseOrderResponse
.
getData
()
==
null
||
!
ObjectUtils
.
equals
(
ResponseConstant
.
SUCCESS_RESPONSE_CODE
,
baseOrderResponse
.
getErrcode
()))
{
if
(
baseOrderResponse
==
null
||
baseOrderResponse
.
getData
()
==
null
||
!
ObjectUtils
.
equals
(
ResponseConstant
.
SUCCESS_RESPONSE_CODE
,
baseOrderResponse
.
getErrcode
()))
{
return
ResponseUtil
.
error
(
ResponseResult
.
ORDER__ERRORREFUND
.
getCode
(),
"orderRefund_failed"
);
log
.
error
(
"批量取消订单失败 订单号:{}"
,
orderBean
.
getOid
());
}
fail
=
false
;
// 删除订单 通知活动添加商品库存
backOrdersStatusChange
(
orderBean
.
getOid
(),
orderBean
.
getStatus
(),
orderBean
.
getPayStatus
());
}
catch
(
Exception
e
){
log
.
error
(
"批量取消订单异常 订单号:{}"
,
orderBean
.
getOid
(),
e
);
}
// 记录失败
if
(
fail
){
failOrderBean
.
add
(
orderBean
);
}
}
// 删除订单 通知活动添加商品库存
backOrdersStatusChange
(
orderBean
.
getOid
(),
orderBean
.
getStatus
(),
orderBean
.
getPayStatus
());
}
}
return
null
;
// todo 失败入库
return
ResponseUtil
.
success
();
}
}
}
}
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