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
1d534cd1
Commit
1d534cd1
authored
Jul 01, 2021
by
zhiheng.zhang
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'remotes/origin/feature/20210610-开放平台取消订单接口移动-张志恒'
parents
e985febb
3cabbc9e
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
269 additions
and
4 deletions
+269
-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
+141
-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 @
1d534cd1
...
@@ -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 @
1d534cd1
...
@@ -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 @
1d534cd1
...
@@ -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 @
1d534cd1
...
@@ -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 @
1d534cd1
...
@@ -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 @
1d534cd1
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 @
1d534cd1
...
@@ -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 @
1d534cd1
...
@@ -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 @
1d534cd1
...
@@ -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 @
1d534cd1
This diff is collapsed.
Click to expand it.
ordercenter-sdk/src/main/java/com/freemud/application/sdk/api/ordercenter/enums/OperateType.java
View file @
1d534cd1
...
@@ -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