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
aec12131
Commit
aec12131
authored
Dec 18, 2020
by
xiaoer.li@freemud.com
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
modify:取消订单关闭预支付订单
parent
b206e53f
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
44 additions
and
2 deletions
+44
-2
order-application-service/src/main/java/cn/freemud/controller/OrderController.java
+2
-1
order-application-service/src/main/java/cn/freemud/service/impl/OrderServiceImpl.java
+42
-1
No files found.
order-application-service/src/main/java/cn/freemud/controller/OrderController.java
View file @
aec12131
...
...
@@ -231,7 +231,8 @@ public class OrderController {
@ApiAnnotation
(
logMessage
=
"deleteOrderById"
)
@PostMapping
(
"/deleteOrderById"
)
public
BaseResponse
deleteOrderById
(
@Validated
@LogParams
@RequestBody
DeleteOrderVo
deleteOrderVo
)
{
return
orderservice
.
deleteOrderById
(
deleteOrderVo
);
//return orderservice.deleteOrderById(deleteOrderVo);
return
orderservice
.
cancelPayOrder
(
deleteOrderVo
);
}
/**
...
...
order-application-service/src/main/java/cn/freemud/service/impl/OrderServiceImpl.java
View file @
aec12131
...
...
@@ -92,8 +92,12 @@ import com.freemud.application.sdk.api.ordercenter.response.orderInfo.OrderSettl
import
com.freemud.application.sdk.api.ordercenter.service.OrderDownLoadSdkService
;
import
com.freemud.application.sdk.api.ordercenter.service.OrderSdkService
;
import
com.freemud.application.sdk.api.paymentcenter.client.request.CodePayRequest
;
import
com.freemud.application.sdk.api.paymentcenter.client.request.PaymentCloseUnifiedOrderRequest
;
import
com.freemud.application.sdk.api.paymentcenter.client.request.PaymentQueryRequest
;
import
com.freemud.application.sdk.api.paymentcenter.client.request.SVCCardAmountRequest
;
import
com.freemud.application.sdk.api.paymentcenter.client.response.CodePayResponse
;
import
com.freemud.application.sdk.api.paymentcenter.client.response.PaymentCloseUnifiedOrderResponse
;
import
com.freemud.application.sdk.api.paymentcenter.client.response.PaymentQueryResponse
;
import
com.freemud.application.sdk.api.paymentcenter.client.response.SVCCardAmountResponse
;
import
com.freemud.application.sdk.api.paymentcenter.client.service.PaymentNewService
;
import
com.freemud.application.sdk.api.storecenter.request.GetListByCodesRequest
;
...
...
@@ -274,6 +278,7 @@ public class OrderServiceImpl implements Orderservice {
@Autowired
private
SvcComPayClient
svcComPayClient
;
@Override
public
BaseResponse
checkBeforeCreateOrder
(
CheckBeforeCreateOrderRequestVo
requestVo
)
{
String
trackingNo
=
LogTreadLocal
.
getTrackingNo
();
...
...
@@ -1583,7 +1588,7 @@ public class OrderServiceImpl implements Orderservice {
if
(!
OrderStatus
.
WAIT_PAY
.
getCode
().
equals
(
orderBean
.
getStatus
()))
{
return
ResponseUtil
.
error
(
ResponseResult
.
ORDER_DELETE_ERROR
.
getCode
(),
"订单状态不允许取消"
);
}
//
this
.
closeHistoryPrePay
(
orderBean
);
CancelOrderRequest
var1
=
new
CancelOrderRequest
();
var1
.
setOrderId
(
deleteOrderVo
.
getOid
());
var1
.
setPartnerId
(
deleteOrderVo
.
getPartnerId
());
...
...
@@ -3526,4 +3531,40 @@ public class OrderServiceImpl implements Orderservice {
sdkUpdateAbnormalState
.
setOrderCode
(
orderBean
.
getOid
());
orderSdkService
.
updateAbnormalState
(
sdkUpdateAbnormalState
);
}
private
void
closeHistoryPrePay
(
OrderBean
orderBean
)
{
OrderExtInfoDto
extInfo
=
JSONObject
.
parseObject
(
orderBean
.
getExtInfo
(),
OrderExtInfoDto
.
class
);
//判断当前订单是否存在预支付订单
if
(
extInfo
!=
null
&&
StringUtils
.
isNotEmpty
(
extInfo
.
getFmId
())){
//订单状态未支付且存在预支付订单:
// 1.查询预支付订单支付状态
PaymentQueryRequest
paymentQueryRequest
=
new
PaymentQueryRequest
();
paymentQueryRequest
.
setPartnerId
(
orderBean
.
getCompanyId
());
paymentQueryRequest
.
setStoreId
(
orderBean
.
getShopId
());
paymentQueryRequest
.
setFmId
(
extInfo
.
getFmId
());
paymentQueryRequest
.
setVer
(
"2"
);
com
.
freemud
.
application
.
sdk
.
api
.
base
.
BaseResponse
<
PaymentQueryResponse
>
queryResponseBaseResponse
=
paymentNewService
.
query
(
paymentQueryRequest
,
LogThreadLocal
.
getTrackingNo
());
//判断预支付订单状态
if
(
ObjectUtils
.
notEqual
(
ResponseResult
.
SUCCESS
.
getCode
(),
queryResponseBaseResponse
.
getCode
())){
throw
new
ServiceException
(
ResponseResult
.
ORDER_PAY_GETPRE_MESSAGE_ERROR
);
}
//判断当前预支付订单是否已经支付成功
if
(
ObjectUtils
.
equals
(
TradeState
.
SUCCESS
.
getCode
(),
queryResponseBaseResponse
.
getData
().
getTradeState
())){
throw
new
ServiceException
(
ResponseResult
.
ORDER_HAS_PAID
);
}
// 3.取消前一个预支付订单 调用支付取消预支付订单,如果预支付订单已经取消了再调用取消预支付订单接口会报错的
if
(
ObjectUtils
.
equals
(
TradeState
.
NOTPAY
.
getCode
(),
queryResponseBaseResponse
.
getData
().
getTradeState
()))
{
PaymentCloseUnifiedOrderRequest
closeUnifiedOrderRequest
=
new
PaymentCloseUnifiedOrderRequest
();
closeUnifiedOrderRequest
.
setFmId
(
extInfo
.
getFmId
());
closeUnifiedOrderRequest
.
setVer
(
"2"
);
closeUnifiedOrderRequest
.
setPartnerId
(
orderBean
.
getCompanyId
());
closeUnifiedOrderRequest
.
setStoreId
(
orderBean
.
getShopId
());
com
.
freemud
.
application
.
sdk
.
api
.
base
.
BaseResponse
<
PaymentCloseUnifiedOrderResponse
>
cancelNewUnifiedOrder
=
paymentNewService
.
cancelNewUnifiedOrder
(
closeUnifiedOrderRequest
,
LogThreadLocal
.
getTrackingNo
());
if
(
ObjectUtils
.
notEqual
(
ResponseResult
.
SUCCESS
.
getCode
(),
cancelNewUnifiedOrder
.
getCode
())){
throw
new
ServiceException
(
ResponseResult
.
ORDER_PRE_PAYMENT_CLOSE_FAILED
);
}
}
}
}
}
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