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
1c5b1c5a
Commit
1c5b1c5a
authored
May 01, 2022
by
缪晖
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'KA-接口调用订单退款' into 'master'
仅支持 餐饮订单操作该接口 See merge request
!137
parents
556e2e89
6e09aff0
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
78 additions
and
38 deletions
+78
-38
assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/adapter/OrderSdkAdapter.java
+20
-1
order-application-service/src/main/java/cn/freemud/service/impl/OrderServiceImpl.java
+58
-37
No files found.
assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/adapter/OrderSdkAdapter.java
View file @
1c5b1c5a
...
...
@@ -16,6 +16,7 @@ import com.freemud.application.sdk.api.ordercenter.entities.v1.*;
import
com.freemud.application.sdk.api.ordercenter.enums.*
;
import
com.freemud.application.sdk.api.ordercenter.enums.orderv1.OrderSourceV1
;
import
com.freemud.application.sdk.api.ordercenter.enums.orderv1.OrderTypeV1
;
import
com.freemud.application.sdk.api.ordercenter.enums.orderv1.RefundStatusV1
;
import
com.freemud.application.sdk.api.ordercenter.request.*
;
import
com.freemud.application.sdk.api.ordercenter.request.create.CreateOrderRequest
;
import
com.freemud.application.sdk.api.ordercenter.request.create.*
;
...
...
@@ -190,7 +191,25 @@ public class OrderSdkAdapter {
var1
.
setOrderClient
(
orderBean
.
getOrderClient
());
if
(
orderBean
.
getRefundList
()
!=
null
&&
orderBean
.
getRefundList
().
size
()
!=
0
)
{
//新订单服务需要售后单code
var1
.
setAfterSalesCode
(
orderBean
.
getRefundList
().
get
(
orderBean
.
getRefundList
().
size
()
-
1
).
getRid
());
// var1.setAfterSalesCode(orderBean.getRefundList().get(orderBean.getRefundList().size() - 1).getRid());
// fisherman 按时间排序 拿最后一个
List
<
RefundBeanV1
>
refundList
=
orderBean
.
getRefundList
();
Collections
.
sort
(
refundList
,
new
Comparator
<
RefundBeanV1
>()
{
@Override
public
int
compare
(
RefundBeanV1
o1
,
RefundBeanV1
o2
)
{
Long
aLong
=
Long
.
valueOf
(
o1
.
getCreateTime
());
Long
bLong
=
Long
.
valueOf
(
o2
.
getCreateTime
());
if
(
bLong
>
aLong
)
{
return
1
;
}
else
if
(
bLong
<
aLong
){
return
-
1
;
}
else
{
return
0
;
}
}
});
var1
.
setAfterSalesCode
(
refundList
.
get
(
0
).
getRid
());
}
return
var1
;
}
...
...
order-application-service/src/main/java/cn/freemud/service/impl/OrderServiceImpl.java
View file @
1c5b1c5a
...
...
@@ -98,11 +98,9 @@ import com.freemud.application.sdk.api.ordercenter.common.OrderAndShoppingCommon
import
com.freemud.application.sdk.api.ordercenter.entities.v1.OrderBeanV1
;
import
com.freemud.application.sdk.api.ordercenter.entities.v1.RefundBeanV1
;
import
com.freemud.application.sdk.api.ordercenter.enums.*
;
import
com.freemud.application.sdk.api.ordercenter.enums.orderv1.
OrderStatusV1
;
import
com.freemud.application.sdk.api.ordercenter.enums.orderv1.
*
;
import
com.freemud.application.sdk.api.ordercenter.enums.OrderType
;
import
com.freemud.application.sdk.api.ordercenter.enums.orderv1.OrderSourceV1
;
import
com.freemud.application.sdk.api.ordercenter.enums.orderv1.OrderStatusV1
;
import
com.freemud.application.sdk.api.ordercenter.enums.orderv1.OrderTypeV1
;
import
com.freemud.application.sdk.api.ordercenter.request.*
;
import
com.freemud.application.sdk.api.ordercenter.request.carpark.ParkingOrderCreateReq
;
import
com.freemud.application.sdk.api.ordercenter.response.BaseDownLoadResponse
;
...
...
@@ -3574,7 +3572,7 @@ public class OrderServiceImpl implements Orderservice {
if
(
CollectionUtils
.
isEmpty
(
orderRefundVo
.
getOrderCodes
()))
{
return
ResponseUtil
.
error
(
ResponseResult
.
ORDER_QUERYORDER_ERROR
.
getCode
(),
"未传递订单号"
);
}
Map
<
String
,
String
>
resultMap
=
new
HashMap
<>();
Map
<
String
,
String
>
resultMap
=
new
Linked
HashMap
<>();
orderRefundVo
.
getOrderCodes
().
forEach
(
orderCode
->
{
try
{
BaseResponse
resp
=
this
.
batchDevelopRefund
(
orderRefundVo
,
orderCode
);
...
...
@@ -3664,43 +3662,66 @@ public class OrderServiceImpl implements Orderservice {
// 未接单的 请用户直接操作C端小程序处理
return
ResponseUtil
.
error
(
ResponseResult
.
ORDER__ERRORREFUND
.
getCode
(),
"订单未接单,请指引用户C端操作退款!"
);
}
else
{
CancelOrderRequest
cancelOrderRequest
=
new
CancelOrderRequest
();
cancelOrderRequest
.
setPartnerId
(
orderBean
.
getCompanyId
());
cancelOrderRequest
.
setStoreId
(
orderBean
.
getShopId
());
cancelOrderRequest
.
setOrderId
(
orderBean
.
getOid
());
cancelOrderRequest
.
setOrderClient
(
Integer
.
parseInt
(
orderBean
.
getOrderClient
()));
boolean
isCreateAfter
=
true
;
// 查询是否有未处理的售后单,如果有 直接调用请求,
if
(
CollectionUtils
.
isNotEmpty
(
orderBean
.
getRefundList
()))
{
List
<
RefundBeanV1
>
refundList
=
orderBean
.
getRefundList
();
Collections
.
sort
(
refundList
,
(
o1
,
o2
)
->
{
Long
aLong
=
Long
.
valueOf
(
o1
.
getCreateTime
());
Long
bLong
=
Long
.
valueOf
(
o2
.
getCreateTime
());
if
(
bLong
>
aLong
)
{
return
1
;
}
else
if
(
bLong
<
aLong
){
return
-
1
;
}
else
{
return
0
;
}
});
RefundBeanV1
refundBeanV11
=
refundList
.
get
(
0
);
isCreateAfter
=
refundBeanV11
.
getStatus
().
compareTo
(
RefundStatusV1
.
APPLY_REFUND
.
getCodeV1
())
!=
0
;
}
//传入的售后单类型为:2:售中用户取消 8:售后申请
cancelOrderRequest
.
setAfterSalesType
(
AfterSalesType
.
USER_CANCEL
);
if
(
NewOrderStatus
.
COMPLETE
.
getIndex
().
equals
(
orderBean
.
getStatusV2
()))
{
cancelOrderRequest
.
setAfterSalesType
(
AfterSalesType
.
USER_SALE_RETURN
);
if
(
isCreateAfter
)
{
CancelOrderRequest
cancelOrderRequest
=
new
CancelOrderRequest
();
cancelOrderRequest
.
setPartnerId
(
orderBean
.
getCompanyId
());
cancelOrderRequest
.
setStoreId
(
orderBean
.
getShopId
());
cancelOrderRequest
.
setOrderId
(
orderBean
.
getOid
());
cancelOrderRequest
.
setOrderClient
(
Integer
.
parseInt
(
orderBean
.
getOrderClient
()));
//传入的售后单类型为:2:售中用户取消 8:售后申请
cancelOrderRequest
.
setAfterSalesType
(
AfterSalesType
.
USER_CANCEL
);
if
(
NewOrderStatus
.
COMPLETE
.
getIndex
().
equals
(
orderBean
.
getStatusV2
()))
{
cancelOrderRequest
.
setAfterSalesType
(
AfterSalesType
.
USER_SALE_RETURN
);
}
cancelOrderRequest
.
setReason
(
orderRefundVo
.
getReason
());
cancelOrderRequest
.
setReqRemark
(
orderRefundVo
.
getReason
());
// 商城订单 增加拓展信息
CancelOrderRequest
.
AfterSalesOrderExtInfoReq
salesOrderExtInfoReq
=
new
CancelOrderRequest
.
AfterSalesOrderExtInfoReq
();
salesOrderExtInfoReq
.
setRefundMode
(
orderRefundVo
.
getRefundMode
());
cancelOrderRequest
.
setExtInfoReq
(
salesOrderExtInfoReq
);
cancelOrderRequest
.
setOperator
(
orderRefundVo
.
getOperator
());
cancelOrderRequest
.
setTrackingNo
(
LogThreadLocal
.
getTrackingNo
());
cancelOrderRequest
.
setRefundDeliveryAmount
(
isRefundDeliveryFee
);
BaseOrderResponse
baseResponseDto
=
orderCenterSdkService
.
orderCancel
(
cancelOrderRequest
);
if
(!
RESPONSE_SUCCESS_CODE
.
equals
(
baseResponseDto
.
getErrcode
()))
{
return
ResponseUtil
.
error
(
ResponseResult
.
ORDER__ERRORREFUND
.
getCode
(),
baseResponseDto
.
getErrmsg
());
}
if
(
orderBean
.
getAmount
()
>
0
)
{
sendPosMessage
(
orderBean
.
getCompanyId
(),
orderBean
.
getShopId
());
}
// 兼容下面的方法
OrderRefundVo
refundVo
=
new
OrderRefundVo
();
refundVo
.
setReason
(
orderRefundVo
.
getReason
());
refundVo
.
setRemarks
(
orderRefundVo
.
getReason
());
//通知小助手发送申请退款公众号订阅消息
sendApplyRefundSubscriptionNotice
(
orderBean
,
refundVo
);
//已接单可发起退款申请,查询门店有无云打印机,有则打印退款申请小票
printApplyRefundSmallTicket
(
orderBean
,
refundVo
);
}
cancelOrderRequest
.
setReason
(
orderRefundVo
.
getReason
());
cancelOrderRequest
.
setReqRemark
(
orderRefundVo
.
getReason
());
// 商城订单 增加拓展信息
CancelOrderRequest
.
AfterSalesOrderExtInfoReq
salesOrderExtInfoReq
=
new
CancelOrderRequest
.
AfterSalesOrderExtInfoReq
();
salesOrderExtInfoReq
.
setRefundMode
(
orderRefundVo
.
getRefundMode
());
cancelOrderRequest
.
setExtInfoReq
(
salesOrderExtInfoReq
);
cancelOrderRequest
.
setOperator
(
orderBean
.
getUserName
());
cancelOrderRequest
.
setTrackingNo
(
LogThreadLocal
.
getTrackingNo
());
cancelOrderRequest
.
setRefundDeliveryAmount
(
isRefundDeliveryFee
);
BaseOrderResponse
baseResponseDto
=
orderCenterSdkService
.
orderCancel
(
cancelOrderRequest
);
if
(!
RESPONSE_SUCCESS_CODE
.
equals
(
baseResponseDto
.
getErrcode
()))
{
return
ResponseUtil
.
error
(
ResponseResult
.
ORDER__ERRORREFUND
.
getCode
(),
baseResponseDto
.
getErrmsg
());
}
if
(
orderBean
.
getAmount
()
>
0
)
{
sendPosMessage
(
orderBean
.
getCompanyId
(),
orderBean
.
getShopId
());
}
// 兼容下面的方法
OrderRefundVo
refundVo
=
new
OrderRefundVo
();
refundVo
.
setReason
(
orderRefundVo
.
getReason
());
refundVo
.
setRemarks
(
orderRefundVo
.
getReason
());
//通知小助手发送申请退款公众号订阅消息
sendApplyRefundSubscriptionNotice
(
orderBean
,
refundVo
);
//已接单可发起退款申请,查询门店有无云打印机,有则打印退款申请小票
printApplyRefundSmallTicket
(
orderBean
,
refundVo
);
}
// 调用oms的 同意退款操作
OrderManagerRequest
request
=
new
OrderManagerRequest
();
...
...
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