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
5601ebc2
Commit
5601ebc2
authored
Jun 16, 2021
by
zhangzhiheng
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
开放平台取消订单迁移
parent
91b6c184
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
278 additions
and
4 deletions
+278
-4
order-management/pom.xml
+5
-0
order-management/src/main/java/cn/freemud/management/adapter/PaymentSdkAdapter.java
+16
-0
order-management/src/main/java/cn/freemud/management/controller/OrderManagerController.java
+2
-0
order-management/src/main/java/cn/freemud/management/enums/OperateType.java
+2
-2
order-management/src/main/java/cn/freemud/management/enums/ResponseResult.java
+3
-0
order-management/src/main/java/cn/freemud/management/enums/SettlementTypeEnum.java
+28
-0
order-management/src/main/java/cn/freemud/management/service/adapter/OrderManagerAdapter.java
+12
-0
order-management/src/main/java/cn/freemud/management/service/handle/OrderVerifyHandle.java
+22
-0
order-management/src/main/java/cn/freemud/management/service/handle/PaymentHandle.java
+36
-0
order-management/src/main/java/cn/freemud/management/service/impl/SaasOrderMangerServiceImpl.java
+150
-1
ordercenter-sdk/src/main/java/com/freemud/application/sdk/api/ordercenter/enums/OperateType.java
+2
-1
No files found.
order-management/pom.xml
View file @
5601ebc2
...
@@ -75,6 +75,11 @@
...
@@ -75,6 +75,11 @@
<scope>
provided
</scope>
<scope>
provided
</scope>
</dependency>
</dependency>
<dependency>
<dependency>
<groupId>
com.freemud.application.service.sdk
</groupId>
<artifactId>
paymentcenter-sdk
</artifactId>
<version>
2.9.8.RELEASE
</version>
</dependency>
<dependency>
<artifactId>
structure-center-sdk
</artifactId>
<artifactId>
structure-center-sdk
</artifactId>
<groupId>
com.freemud.application.service.sdk
</groupId>
<groupId>
com.freemud.application.service.sdk
</groupId>
<version>
1.2.3.RELEASE
</version>
<version>
1.2.3.RELEASE
</version>
...
...
order-management/src/main/java/cn/freemud/management/adapter/PaymentSdkAdapter.java
View file @
5601ebc2
...
@@ -2,6 +2,7 @@ package cn.freemud.management.adapter;
...
@@ -2,6 +2,7 @@ package cn.freemud.management.adapter;
import
com.alibaba.fastjson.JSONObject
;
import
com.alibaba.fastjson.JSONObject
;
import
com.freemud.application.sdk.api.ordercenter.request.OrderExtInfoDto
;
import
com.freemud.application.sdk.api.ordercenter.request.OrderExtInfoDto
;
import
com.freemud.application.sdk.api.paymentcenter.client.request.OrderRefundNewRequest
;
import
com.freemud.sdk.api.assortment.order.request.order.MultiOrderRefundRequest
;
import
com.freemud.sdk.api.assortment.order.request.order.MultiOrderRefundRequest
;
import
com.freemud.sdk.api.assortment.order.response.order.QueryOrdersResponse
;
import
com.freemud.sdk.api.assortment.order.response.order.QueryOrdersResponse
;
import
lombok.SneakyThrows
;
import
lombok.SneakyThrows
;
...
@@ -9,6 +10,7 @@ import org.springframework.beans.factory.annotation.Value;
...
@@ -9,6 +10,7 @@ import org.springframework.beans.factory.annotation.Value;
import
org.springframework.stereotype.Component
;
import
org.springframework.stereotype.Component
;
import
java.math.BigDecimal
;
import
java.math.BigDecimal
;
import
java.util.UUID
;
/**
/**
* All rights Reserved, Designed By www.freemud.cn
* All rights Reserved, Designed By www.freemud.cn
...
@@ -43,6 +45,20 @@ public class PaymentSdkAdapter {
...
@@ -43,6 +45,20 @@ public class PaymentSdkAdapter {
return
refundRequestDTO
;
return
refundRequestDTO
;
}
}
public
OrderRefundNewRequest
convert2OrderRefundNewRequest
(
QueryOrdersResponse
.
DataBean
.
OrderBean
order
,
OrderExtInfoDto
orderExtInfoDto
)
{
OrderRefundNewRequest
refundRequest
=
new
OrderRefundNewRequest
();
refundRequest
.
setPartnerId
(
order
.
getCompanyId
());
refundRequest
.
setVer
(
2
);
refundRequest
.
setStoreId
(
order
.
getShopId
());
refundRequest
.
setStationId
(
"1"
);
refundRequest
.
setTransId
(
order
.
getOid
());
refundRequest
.
setFmId
(
orderExtInfoDto
.
getFmId
());
refundRequest
.
setRefundId
(
UUID
.
randomUUID
().
toString
());
refundRequest
.
setTotalAmount
(
Long
.
valueOf
(
orderExtInfoDto
.
getSvcAmount
()));
refundRequest
.
setRefundAmount
(
Long
.
valueOf
(
orderExtInfoDto
.
getSvcAmount
()));
return
refundRequest
;
}
@SneakyThrows
@SneakyThrows
public
MultiOrderRefundRequest
getMultiOrderPayRefundRequest
(
QueryOrdersResponse
.
DataBean
.
OrderBean
orderBean
,
BigDecimal
refundAmount
)
{
public
MultiOrderRefundRequest
getMultiOrderPayRefundRequest
(
QueryOrdersResponse
.
DataBean
.
OrderBean
orderBean
,
BigDecimal
refundAmount
)
{
MultiOrderRefundRequest
multiQueryRequest
=
new
MultiOrderRefundRequest
();
MultiOrderRefundRequest
multiQueryRequest
=
new
MultiOrderRefundRequest
();
...
...
order-management/src/main/java/cn/freemud/management/controller/OrderManagerController.java
View file @
5601ebc2
...
@@ -62,6 +62,8 @@ public class OrderManagerController {
...
@@ -62,6 +62,8 @@ public class OrderManagerController {
return
orderManagerAdapter
.
orderAgreeRefund
(
request
);
return
orderManagerAdapter
.
orderAgreeRefund
(
request
);
case
ORDER_REJECT_REFUND:
case
ORDER_REJECT_REFUND:
return
orderManagerAdapter
.
orderRejectRefund
(
request
);
return
orderManagerAdapter
.
orderRejectRefund
(
request
);
case
ORDER_CANCEL:
return
orderManagerAdapter
.
orderCancel
(
request
);
default
:
default
:
return
ResponseUtil
.
error
(
ResponseResult
.
ORDER_OPERATE_TYPE_NOT_VALIDATE
);
return
ResponseUtil
.
error
(
ResponseResult
.
ORDER_OPERATE_TYPE_NOT_VALIDATE
);
}
}
...
...
order-management/src/main/java/cn/freemud/management/enums/OperateType.java
View file @
5601ebc2
...
@@ -10,8 +10,8 @@ public enum OperateType {
...
@@ -10,8 +10,8 @@ public enum OperateType {
ORDER_SEND
(
"orderSend"
,
"送出"
),
ORDER_SEND
(
"orderSend"
,
"送出"
),
ORDER_AFFIRM
(
"orderAffirm"
,
"完成"
),
ORDER_AFFIRM
(
"orderAffirm"
,
"完成"
),
ORDER_AGREE_REFUND
(
"orderAgreeRefund"
,
"同意退款"
),
ORDER_AGREE_REFUND
(
"orderAgreeRefund"
,
"同意退款"
),
ORDER_REJECT_REFUND
(
"orderRejectRefund"
,
"拒绝退款"
)
;
ORDER_REJECT_REFUND
(
"orderRejectRefund"
,
"拒绝退款"
)
,
ORDER_CANCEL
(
"orderCancel"
,
"订单取消"
);
/**
/**
* 操作类型
* 操作类型
...
...
order-management/src/main/java/cn/freemud/management/enums/ResponseResult.java
View file @
5601ebc2
...
@@ -170,6 +170,9 @@ public enum ResponseResult {
...
@@ -170,6 +170,9 @@ public enum ResponseResult {
ORDER_STATUS_FAILED
(
"45085"
,
"订单状态错误"
),
ORDER_STATUS_FAILED
(
"45085"
,
"订单状态错误"
),
ORDER_MOVE_FAILED
(
"45086"
,
"三方配送正在进行,不允许操作"
),
ORDER_MOVE_FAILED
(
"45086"
,
"三方配送正在进行,不允许操作"
),
AGREE_REFUND_APPLY_ORDER_FAIL
(
"45087"
,
"同意退款申请失败"
),
AGREE_REFUND_APPLY_ORDER_FAIL
(
"45087"
,
"同意退款申请失败"
),
AGREE_REFUND_APPLY_ORDER_NOT_ALLOW
(
"45088"
,
"商户配置不允许退款,请检查商户配置"
),
PARTNER_ORDER_CANCEL_ERROR
(
"45089"
,
"取消订单失败"
),
/**
/**
* 支付
* 支付
*/
*/
...
...
order-management/src/main/java/cn/freemud/management/enums/SettlementTypeEnum.java
0 → 100644
View file @
5601ebc2
package
cn
.
freemud
.
management
.
enums
;
public
enum
SettlementTypeEnum
{
OFFLINE_PAY
(
219
,
"线下支付"
),
POINTS
(
200
,
"积分抵扣"
),
CASH_COUPON
(
10
,
"代金券"
),
DISCOUNT_COUPON
(
208
,
"折扣券"
),
PRODUCT_COUPON
(
118
,
"商品券"
),
;
private
int
settlementType
;
private
String
desc
;
SettlementTypeEnum
(
int
settlementType
,
String
desc
)
{
this
.
settlementType
=
settlementType
;
this
.
desc
=
desc
;
}
public
int
getSettlementType
()
{
return
settlementType
;
}
public
String
getDesc
()
{
return
desc
;
}
}
order-management/src/main/java/cn/freemud/management/service/adapter/OrderManagerAdapter.java
View file @
5601ebc2
...
@@ -207,6 +207,18 @@ public class OrderManagerAdapter {
...
@@ -207,6 +207,18 @@ public class OrderManagerAdapter {
}
}
/**
/**
* 取消订单
* @param request
* @return
*/
public
BaseResponse
orderCancel
(
OrderManagerRequest
request
)
{
//查询订单
QueryOrdersResponse
.
DataBean
.
OrderBean
orderBean
=
orderBaseService
.
getByOrderCode
(
request
.
getOrderId
());
BaseResponse
<
OrderManagerResponse
>
orderManagerResponse
=
orderBeanFactory
.
getOrderManagerService
(
orderBean
).
orderCancel
(
request
,
orderBean
);
return
handleResponse
(
request
,
orderBean
,
orderManagerResponse
);
}
/**
* 拒绝退款
* 拒绝退款
* @param request
* @param request
* @return
* @return
...
...
order-management/src/main/java/cn/freemud/management/service/handle/OrderVerifyHandle.java
View file @
5601ebc2
...
@@ -17,11 +17,13 @@ import com.freemud.sdk.api.assortment.order.domain.ResponseCodeConstant;
...
@@ -17,11 +17,13 @@ import com.freemud.sdk.api.assortment.order.domain.ResponseCodeConstant;
import
com.freemud.sdk.api.assortment.message.enums.OrderType
;
import
com.freemud.sdk.api.assortment.message.enums.OrderType
;
import
com.freemud.sdk.api.assortment.order.enums.OldOrderAccountType
;
import
com.freemud.sdk.api.assortment.order.enums.OldOrderAccountType
;
import
com.freemud.sdk.api.assortment.order.enums.OldOrderType
;
import
com.freemud.sdk.api.assortment.order.enums.OldOrderType
;
import
com.freemud.sdk.api.assortment.order.enums.OrderSourceType
;
import
com.freemud.sdk.api.assortment.order.enums.RefundStatus
;
import
com.freemud.sdk.api.assortment.order.enums.RefundStatus
;
import
com.freemud.sdk.api.assortment.order.request.order.CancelOrderRequest
;
import
com.freemud.sdk.api.assortment.order.request.order.CancelOrderRequest
;
import
com.freemud.sdk.api.assortment.order.response.order.BaseOrderResponse
;
import
com.freemud.sdk.api.assortment.order.response.order.BaseOrderResponse
;
import
com.freemud.sdk.api.assortment.order.response.order.QueryOrdersResponse
;
import
com.freemud.sdk.api.assortment.order.response.order.QueryOrdersResponse
;
import
com.freemud.sdk.api.assortment.order.service.OrderCenterSdkService
;
import
com.freemud.sdk.api.assortment.order.service.OrderCenterSdkService
;
import
com.google.common.collect.Lists
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.lang.ObjectUtils
;
import
org.apache.commons.lang.ObjectUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
@@ -418,6 +420,26 @@ public class OrderVerifyHandle {
...
@@ -418,6 +420,26 @@ public class OrderVerifyHandle {
}
}
/**
/**
* 取消退款
* @param orderBean
* @param request
* @return
*/
public
BaseResponse
orderCancel
(
QueryOrdersResponse
.
DataBean
.
OrderBean
orderBean
,
OrderManagerRequest
request
,
String
opType
)
{
List
<
String
>
standardPaymentRefundSourceList
=
Lists
.
newArrayList
(
OrderSourceType
.
SAAS
.
getCode
(),
OrderSourceType
.
APP
.
getCode
(),
OrderSourceType
.
ALIPAY
.
getCode
());
// 商家同意退款时,校验订单是否能退款(B端后台"订单退款设置")
boolean
isCanRefund
=
true
;
if
(
Objects
.
equals
(
OperateType
.
ORDER_AGREE_REFUND
,
opType
)
&&
standardPaymentRefundSourceList
.
contains
(
orderBean
.
getSource
()))
{
isCanRefund
=
getRefundConfig
(
orderBean
);
if
(!
isCanRefund
)
{
return
ResponseUtil
.
error
(
ResponseResult
.
AGREE_REFUND_APPLY_ORDER_NOT_ALLOW
);
}
}
return
ResponseUtil
.
success
();
}
/**
* 拒绝退款
* 拒绝退款
* @param orderBean
* @param orderBean
* @param request
* @param request
...
...
order-management/src/main/java/cn/freemud/management/service/handle/PaymentHandle.java
View file @
5601ebc2
...
@@ -10,8 +10,13 @@ import cn.freemud.management.util.RedisUtil;
...
@@ -10,8 +10,13 @@ import cn.freemud.management.util.RedisUtil;
import
cn.freemud.redis.RedisCache
;
import
cn.freemud.redis.RedisCache
;
import
com.freemud.application.sdk.api.base.BaseResponse
;
import
com.freemud.application.sdk.api.base.BaseResponse
;
import
com.freemud.application.sdk.api.log.ErrorLog
;
import
com.freemud.application.sdk.api.log.ErrorLog
;
import
com.freemud.application.sdk.api.log.LogThreadLocal
;
import
com.freemud.application.sdk.api.ordercenter.request.OrderExtInfoDto
;
import
com.freemud.application.sdk.api.ordercenter.response.orderInfo.AfterSalesOrderResp
;
import
com.freemud.application.sdk.api.ordercenter.response.orderInfo.AfterSalesOrderResp
;
import
com.freemud.application.sdk.api.ordercenter.service.OrderSdkService
;
import
com.freemud.application.sdk.api.ordercenter.service.OrderSdkService
;
import
com.freemud.application.sdk.api.paymentcenter.client.request.OrderRefundNewRequest
;
import
com.freemud.application.sdk.api.paymentcenter.client.response.RefundNewResponse
;
import
com.freemud.application.sdk.api.paymentcenter.client.service.PaymentNewService
;
import
com.freemud.sdk.api.assortment.order.enums.OldOrderType
;
import
com.freemud.sdk.api.assortment.order.enums.OldOrderType
;
import
com.freemud.sdk.api.assortment.order.enums.PayRefundStatus
;
import
com.freemud.sdk.api.assortment.order.enums.PayRefundStatus
;
import
com.freemud.sdk.api.assortment.order.request.order.MultiOrderRefundRequest
;
import
com.freemud.sdk.api.assortment.order.request.order.MultiOrderRefundRequest
;
...
@@ -62,6 +67,9 @@ public class PaymentHandle {
...
@@ -62,6 +67,9 @@ public class PaymentHandle {
private
MulitiPaymentClient
mulitiPaymentClient
;
private
MulitiPaymentClient
mulitiPaymentClient
;
@Autowired
@Autowired
private
RedisCache
redisCache
;
private
RedisCache
redisCache
;
@Autowired
private
PaymentNewService
paymentNewService
;
/**
/**
* 退款
* 退款
* @param request
* @param request
...
@@ -91,6 +99,34 @@ public class PaymentHandle {
...
@@ -91,6 +99,34 @@ public class PaymentHandle {
return
handlePayRefundResponse
(
refundStatus
,
orderRefundRequest
.
getRefundId
());
return
handlePayRefundResponse
(
refundStatus
,
orderRefundRequest
.
getRefundId
());
}
}
/**
/**
* 退款
* @param orderBean
* @return
*/
public
PayRefundResponse
newOrderRefund
(
QueryOrdersResponse
.
DataBean
.
OrderBean
orderBean
,
OrderExtInfoDto
orderExtInfoDto
){
PayRefundStatus
refundStatus
=
PayRefundStatus
.
SUCCESS
;
OrderRefundNewRequest
refundRequest
=
paymentSdkAdapter
.
convert2OrderRefundNewRequest
(
orderBean
,
orderExtInfoDto
);
if
(
ObjectUtils
.
equals
(
orderBean
.
getAmount
(),
0L
))
{
return
handlePayRefundResponse
(
refundStatus
,
refundRequest
.
getRefundId
());
}
com
.
freemud
.
application
.
sdk
.
api
.
base
.
BaseResponse
<
RefundNewResponse
>
orderRefundResponse
;
try
{
orderRefundResponse
=
paymentNewService
.
newOrderRefund
(
refundRequest
,
LogThreadLocal
.
getTrackingNo
());
}
catch
(
Exception
ex
){
ErrorLog
.
errorConvertJson
(
this
.
getClass
(),
"paymentNewService.newOrderRefundError"
,
ex
);
throw
new
OrderServiceException
(
ResponseResult
.
REFUND_EXCEPTION
);
}
if
(
orderRefundResponse
==
null
){
throw
new
OrderServiceException
(
ResponseResult
.
REFUND_EXCEPTION
);
}
if
(
ObjectUtils
.
notEqual
(
orderRefundResponse
.
getCode
(),
SUCCESS
)){
throw
new
OrderServiceException
(
ResponseResult
.
REFUND_FAIL
,
orderRefundResponse
.
getMessage
());
}
refundStatus
=
ObjectUtils
.
equals
(
PayRefundStatus
.
SUCCESS
.
getCode
(),
orderRefundResponse
.
getData
().
getCode
())?
PayRefundStatus
.
SUCCESS
:
PayRefundStatus
.
FAIL
;
return
handlePayRefundResponse
(
refundStatus
,
refundRequest
.
getRefundId
());
}
/**
* 麦咖啡退款
* 麦咖啡退款
* @param request
* @param request
* @param orderBean
* @param orderBean
...
...
order-management/src/main/java/cn/freemud/management/service/impl/SaasOrderMangerServiceImpl.java
View file @
5601ebc2
This diff is collapsed.
Click to expand it.
ordercenter-sdk/src/main/java/com/freemud/application/sdk/api/ordercenter/enums/OperateType.java
View file @
5601ebc2
...
@@ -10,7 +10,8 @@ public enum OperateType {
...
@@ -10,7 +10,8 @@ public enum OperateType {
ORDER_SEND
(
"orderSend"
,
"送出"
),
ORDER_SEND
(
"orderSend"
,
"送出"
),
ORDER_AFFIRM
(
"orderAffirm"
,
"完成"
),
ORDER_AFFIRM
(
"orderAffirm"
,
"完成"
),
ORDER_AGREE_REFUND
(
"orderAgreeRefund"
,
"同意退款"
),
ORDER_AGREE_REFUND
(
"orderAgreeRefund"
,
"同意退款"
),
ORDER_REJECT_REFUND
(
"orderRejectRefund"
,
"拒绝退款"
);
ORDER_REJECT_REFUND
(
"orderRejectRefund"
,
"拒绝退款"
),
ORDER_CANCEL
(
"orderCancel"
,
"订单取消"
);
/**
/**
...
...
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