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
e77fb2a9
Commit
e77fb2a9
authored
Jun 16, 2020
by
dingkai
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'hotfix/1.9.27-蜜雪预支付取消订单校验修复-dingkai'
parents
022c819c
9564fdea
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
21 additions
and
18 deletions
+21
-18
order-application-service/src/main/java/cn/freemud/adapter/OrderAdapter.java
+3
-2
order-application-service/src/main/java/cn/freemud/entities/dto/order/CreatePrepayRequestDto.java
+3
-0
order-application-service/src/main/java/cn/freemud/enums/ResponseResult.java
+1
-0
order-application-service/src/main/java/cn/freemud/service/impl/AppOrderServiceImpl.java
+8
-13
order-application-service/src/main/java/cn/freemud/service/impl/OrderServiceImpl.java
+6
-3
No files found.
order-application-service/src/main/java/cn/freemud/adapter/OrderAdapter.java
View file @
e77fb2a9
...
...
@@ -2645,7 +2645,7 @@ public class OrderAdapter {
public
CreatePrepayRequestDto
convertToCreatePrepayRequestDto
(
String
partnerId
,
String
wxAppId
,
String
openId
,
String
faceCode
,
String
cardCode
,
String
payCode
,
QueryOrdersResponse
.
DataBean
.
OrderBean
fatherOrderBean
,
QueryOrdersResponse
.
DataBean
.
OrderBean
productOrderBean
,
long
totalAmount
,
int
cardAmount
,
OrderExtInfoDto
orderExtInfoDTO
,
String
transId
){
String
transId
,
OrderClientType
orderClient
){
CreatePrepayRequestDto
requestDto
=
new
CreatePrepayRequestDto
();
requestDto
.
setPartnerId
(
partnerId
);
requestDto
.
setWxAppId
(
wxAppId
);
...
...
@@ -2659,6 +2659,7 @@ public class OrderAdapter {
requestDto
.
setCardAmount
(
cardAmount
);
requestDto
.
setOrderExtInfoDTO
(
orderExtInfoDTO
);
requestDto
.
setTransId
(
transId
);
requestDto
.
setOrderClient
(
orderClient
);
return
requestDto
;
}
...
...
@@ -2669,7 +2670,7 @@ public class OrderAdapter {
createOrderOperateDto
.
getFatherOrderBean
(),
createOrderOperateDto
.
getProductOrderBean
(),
createOrderOperateDto
.
getTotalAmount
()
==
null
?
0
:
createOrderOperateDto
.
getTotalAmount
(),
createOrderOperateDto
.
getCardAmount
()
==
null
?
0
:
createOrderOperateDto
.
getCardAmount
(),
orderExtInfoDTO
,
createOrderOperateDto
.
getFatherOrderBean
().
getOid
());
createOrderOperateDto
.
getFatherOrderBean
().
getOid
()
,
null
);
}
/**
...
...
order-application-service/src/main/java/cn/freemud/entities/dto/order/CreatePrepayRequestDto.java
View file @
e77fb2a9
package
cn
.
freemud
.
entities
.
dto
.
order
;
import
com.freemud.application.sdk.api.ordercenter.enums.OrderClientType
;
import
com.freemud.application.sdk.api.ordercenter.request.OrderExtInfoDto
;
import
com.freemud.sdk.api.assortment.order.response.order.QueryOrdersResponse
;
import
lombok.Data
;
...
...
@@ -54,4 +55,6 @@ public class CreatePrepayRequestDto {
* 交易请求号
*/
private
String
transId
;
private
OrderClientType
orderClient
;
}
order-application-service/src/main/java/cn/freemud/enums/ResponseResult.java
View file @
e77fb2a9
...
...
@@ -141,6 +141,7 @@ public enum ResponseResult {
ORDER_HAS_PAID
(
"45057"
,
"订单已支付或已完成"
),
ORDER_PRE_PAYMENT_CLOSE_FAILED
(
"45058"
,
"关闭预支付订单失败"
),
ORDER_OWNER_ERROR
(
"45059"
,
"订单归属错误"
),
ORDER_STATUS_PRE_PAYMENT_NOT_SUPPORT
(
"45060"
,
"订单非待支付状态, 创建预支付失败"
),
/**
* 支付
...
...
order-application-service/src/main/java/cn/freemud/service/impl/AppOrderServiceImpl.java
View file @
e77fb2a9
...
...
@@ -11,14 +11,7 @@ import cn.freemud.entities.dto.order.CreatePrepayRequestDto;
import
cn.freemud.entities.dto.shoppingCart.ActivityDiscountsDto
;
import
cn.freemud.entities.dto.shoppingCart.ShoppingCartGoodsDto
;
import
cn.freemud.entities.vo.*
;
import
cn.freemud.entities.vo.CreateOrderResponseVo
;
import
cn.freemud.entities.vo.CreateOrderVo
;
import
cn.freemud.entities.vo.CreatePrepayVo
;
import
cn.freemud.entities.vo.PaysuccessNoticeMessage
;
import
cn.freemud.enums.OrderBeanType
;
import
cn.freemud.enums.PayStatus
;
import
cn.freemud.enums.ResponseResult
;
import
cn.freemud.enums.TradeState
;
import
cn.freemud.enums.*
;
import
cn.freemud.interceptor.ServiceException
;
import
cn.freemud.redis.RedisCache
;
import
cn.freemud.service.AppOrderService
;
...
...
@@ -31,6 +24,7 @@ import com.freemud.application.sdk.api.base.SDKCommonBaseContextWare;
import
com.freemud.application.sdk.api.constant.ResponseResultEnum
;
import
com.freemud.application.sdk.api.log.LogThreadLocal
;
import
com.freemud.application.sdk.api.ordercenter.enums.AfterSalesType
;
import
com.freemud.application.sdk.api.ordercenter.enums.OrderClientType
;
import
com.freemud.application.sdk.api.ordercenter.request.OrderExtInfoDto
;
import
com.freemud.application.sdk.api.paymentcenter.client.request.PaymentCloseUnifiedOrderRequest
;
import
com.freemud.application.sdk.api.paymentcenter.client.request.PaymentQueryRequest
;
...
...
@@ -59,10 +53,10 @@ import org.springframework.stereotype.Service;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.Objects
;
import
java.util.stream.Collectors
;
import
java.util.Map
;
import
java.util.Objects
;
import
java.util.concurrent.TimeUnit
;
import
java.util.stream.Collectors
;
@Service
public
class
AppOrderServiceImpl
implements
AppOrderService
{
...
...
@@ -133,7 +127,7 @@ public class AppOrderServiceImpl implements AppOrderService {
String
transId
=
createPrepayVo
.
getOrderCode
()
+
redisService
.
increment
(
RedisUtil
.
getPaymentTransIdSequenceKey
(
createPrepayVo
.
getOrderCode
()),
1
,
TimeUnit
.
DAYS
);
CreatePrepayRequestDto
createPrepayRequestDto
=
orderAdapter
.
convertToCreatePrepayRequestDto
(
createPrepayVo
.
getPartnerId
(),
createPrepayVo
.
getPayAppId
(),
createPrepayVo
.
getOpenId
(),
faceCode
,
cardCode
,
createPrepayVo
.
getPayCode
(),
createOrderOperateDto
.
getFatherOrderBean
(),
createOrderOperateDto
.
getProductOrderBean
(),
createOrderOperateDto
.
getTotalAmount
(),
createOrderOperateDto
.
getCardAmount
(),
extInfo
,
transId
);
createOrderOperateDto
.
getCardAmount
(),
extInfo
,
transId
,
OrderClientType
.
APP
);
redisService
.
savePaymentTransIdOrder
(
RedisUtil
.
getPaymentTransIdOrderKey
(
transId
),
productOrderBean
.
getOid
(),
30L
,
TimeUnit
.
MINUTES
);
return
orderservice
.
createPrepayOrder
(
createPrepayRequestDto
);
}
...
...
@@ -194,9 +188,10 @@ public class AppOrderServiceImpl implements AppOrderService {
}
private
void
checkOrderBefore
(
CreatePrepayVo
createPrepayVo
,
QueryOrdersResponse
.
DataBean
.
OrderBean
orderBean
)
{
if
(!
PayStatus
.
NOT_PAY
.
getCode
().
equals
(
orderBean
.
getPayStatus
()))
{
throw
new
ServiceException
(
ResponseResult
.
ORDER_
HAS_PAID
);
if
(!
PayStatus
.
NOT_PAY
.
getCode
().
equals
(
orderBean
.
getPayStatus
())
||
!
OrderStatus
.
WAIT_PAY
.
getCode
().
equals
(
orderBean
.
getStatus
()))
{
throw
new
ServiceException
(
ResponseResult
.
ORDER_
STATUS_PRE_PAYMENT_NOT_SUPPORT
);
}
OrderExtInfoDto
extInfo
=
JSONObject
.
parseObject
(
orderBean
.
getExtInfo
(),
OrderExtInfoDto
.
class
);
if
(
extInfo
==
null
||
StringUtils
.
isBlank
(
extInfo
.
getSessionId
())
||
!
extInfo
.
getSessionId
().
equals
(
createPrepayVo
.
getSessionId
()))
{
throw
new
ServiceException
(
ResponseResult
.
ORDER_OWNER_ERROR
);
...
...
order-application-service/src/main/java/cn/freemud/service/impl/OrderServiceImpl.java
View file @
e77fb2a9
...
...
@@ -1715,7 +1715,7 @@ public class OrderServiceImpl implements Orderservice {
orderPayResponse
=
getOrderPayResponse
(
paymentRequest
,
createPrepayRequestDto
.
getFatherOrderBean
());
}
if
(
orderPayResponse
==
null
)
{
return
failPreOrderPay
(
LogThreadLocal
.
getTrackingNo
(),
createPrepayRequestDto
.
getProductOrderBean
(),
cardCode
);
return
failPreOrderPay
(
LogThreadLocal
.
getTrackingNo
(),
createPrepayRequestDto
.
getProductOrderBean
(),
cardCode
,
createPrepayRequestDto
.
getOrderClient
()
);
}
createOrderResponse
=
orderAdapter
.
convent2CreateFatherSonOrderResponseVo
(
orderPayResponse
,
createPrepayRequestDto
.
getProductOrderBean
());
BaseResponse
baseEditResponse
=
this
.
updateOrderInfo
(
orderPayResponse
,
createPrepayRequestDto
.
getOrderExtInfoDTO
(),
createPrepayRequestDto
.
getProductOrderBean
(),
LogThreadLocal
.
getTrackingNo
());
...
...
@@ -1792,13 +1792,16 @@ public class OrderServiceImpl implements Orderservice {
return
orderPayResponse
;
}
private
BaseResponse
failPreOrderPay
(
String
trackingNo
,
QueryOrdersResponse
.
DataBean
.
OrderBean
orderBean
,
String
cardCode
)
{
private
BaseResponse
failPreOrderPay
(
String
trackingNo
,
QueryOrdersResponse
.
DataBean
.
OrderBean
orderBean
,
String
cardCode
,
OrderClientType
orderClient
)
{
List
<
OrderClientType
>
notCancelOrderClientList
=
Lists
.
newArrayList
(
OrderClientType
.
APP
);
if
(!
notCancelOrderClientList
.
contains
(
orderClient
))
{
//失败冲正库存,冲正活动库存,取消订单
CancelOrderRequest
cancelOrderRequest
=
orderAdapter
.
convent2CancelOrderRequest
(
orderBean
.
getOid
(),
orderBean
.
getCompanyId
(),
AfterSalesType
.
SYSTEM_CANCEL
,
"获取预支付失败"
,
trackingNo
,
null
);
orderCenterSdkService
.
orderCancel
(
cancelOrderRequest
);
// TODO: 2019/9/10 hubowen mq推送变更
backOrdersStatusChange
(
orderBean
.
getOid
(),
orderBean
.
getStatus
());
}
//svc 卡支付失败
if
(
StringUtils
.
isNotBlank
(
cardCode
))
{
return
ResponseUtil
.
error
(
ResponseResultEnum
.
PAY_BACKEND_CONFIG_ERROR
.
getCode
(),
ResponseResultEnum
.
PAY_BACKEND_CONFIG_ERROR
.
getMessage
(),
null
);
...
...
@@ -2122,7 +2125,7 @@ public class OrderServiceImpl implements Orderservice {
if
(
createOrderVo
.
getFaceCode
()
!=
null
){
createOrderVo
.
setCardCode
(
createOrderVo
.
getFaceCode
());
}
return
failPreOrderPay
(
LogThreadLocal
.
getTrackingNo
(),
productOrderBean
,
createOrderVo
.
getCardCode
());
return
failPreOrderPay
(
LogThreadLocal
.
getTrackingNo
(),
productOrderBean
,
createOrderVo
.
getCardCode
()
,
null
);
}
//更新订单extinfo信息
BaseResponse
baseEditResponse
=
this
.
updateOrderInfo
(
orderPayResponse
,
orderExtInfoDTO
,
productOrderBean
,
LogThreadLocal
.
getTrackingNo
());
...
...
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