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
06a9591e
Commit
06a9591e
authored
Nov 16, 2020
by
xiaoer.li@freemud.com
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
override failPrePay
parent
d0d5e9df
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
58 additions
and
7 deletions
+58
-7
order-application-service/src/main/java/cn/freemud/adapter/OrderAdapter.java
+20
-5
order-application-service/src/main/java/cn/freemud/service/impl/CheckOrder.java
+7
-1
order-application-service/src/main/java/cn/freemud/service/impl/OrderServiceImpl.java
+31
-1
No files found.
order-application-service/src/main/java/cn/freemud/adapter/OrderAdapter.java
View file @
06a9591e
...
...
@@ -604,12 +604,27 @@ public class OrderAdapter {
createOrderDto
.
setLongitude
(
longitude
);
createOrderDto
.
setOrderType
(
convent2OrderTypeEnum
(
orderType
));
createOrderDto
.
setPayType
(
QueryPayType
.
ONLINE_PAY
);
//电子风味卡
if
(
Objects
.
nonNull
(
createOrderVo
.
getUnionPayCard
()))
{
createOrderDto
.
setPayChannel
(
PayChannel
.
USVCP
.
getCode
());
createOrderDto
.
setPayChannelName
(
PayChannel
.
USVCP
.
getDesc
());
}
else
if
(
StringUtils
.
isNotBlank
(
createOrderVo
.
getCardCode
())){
createOrderDto
.
setPayChannel
(
"10102"
);
createOrderDto
.
setPayChannelName
(
"储值卡支付"
);
createOrderDto
.
setPayChannel
(
PayChannelType
.
USVCP
.
getEbcode
());
createOrderDto
.
setPayChannelName
(
PayChannelType
.
USVCP
.
getName
());
}
//混合支付
else
if
(
PayChannelType
.
COMB
.
getIndex
().
equals
(
createOrderVo
.
getPayChannelType
()))
{
createOrderDto
.
setPayChannel
(
PayChannelType
.
COMB
.
getEbcode
());
createOrderDto
.
setPayChannelName
(
PayChannelType
.
COMB
.
getName
());
}
else
if
(
PayChannelType
.
WECHAT
.
getIndex
().
equals
(
createOrderVo
.
getPayChannelType
()))
{
createOrderDto
.
setPayChannel
(
PayChannelType
.
WECHAT
.
getEbcode
());
createOrderDto
.
setPayChannelName
(
PayChannelType
.
WECHAT
.
getName
());
}
else
if
(
PayChannelType
.
ALIPAY
.
getIndex
().
equals
(
createOrderVo
.
getPayChannelType
()))
{
createOrderDto
.
setPayChannel
(
PayChannelType
.
ALIPAY
.
getEbcode
());
createOrderDto
.
setPayChannelName
(
PayChannelType
.
ALIPAY
.
getName
());
}
else
if
(
StringUtils
.
isNotBlank
(
createOrderVo
.
getCardCode
())){
createOrderDto
.
setPayChannel
(
PayChannelType
.
SVC
.
getEbcode
());
createOrderDto
.
setPayChannelName
(
PayChannelType
.
SVC
.
getName
());
}
createOrderDto
.
setSource
(
OrderSourceType
.
SAAS
.
getCode
());
createOrderDto
.
setSourceName
(
OrderSourceType
.
SAAS
.
getDesc
());
...
...
order-application-service/src/main/java/cn/freemud/service/impl/CheckOrder.java
View file @
06a9591e
...
...
@@ -54,12 +54,14 @@ import com.freemud.application.sdk.api.storecenter.response.StoreResponse;
import
com.freemud.application.sdk.api.storecenter.service.StoreCenterService
;
import
com.google.common.collect.Lists
;
import
com.google.gson.Gson
;
import
lombok.extern.log4j.Log4j
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.lang.ObjectUtils
;
import
org.apache.commons.lang.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.stereotype.Component
;
import
sun.rmi.runtime.Log
;
import
java.awt.geom.Point2D
;
import
java.math.BigDecimal
;
...
...
@@ -69,6 +71,7 @@ import java.util.*;
import
java.util.stream.Collectors
;
@Component
@Log4j
public
class
CheckOrder
{
// 配送费逻辑是否使用旧的
...
...
@@ -759,10 +762,13 @@ public class CheckOrder {
if
(
StringUtils
.
isBlank
(
createOrderVo
.
getCardCode
()))
{
return
false
;
}
//这么不合规的粗暴搞法 设置支付方式
PayChannelType
payType
=
PayChannelType
.
getByIndex
(
Byte
.
parseByte
(
createOrderVo
.
getChannel
()));
createOrderVo
.
setPayChannelType
(
payType
.
getIndex
());
SVCCardAmountRequest
request
=
new
SVCCardAmountRequest
();
request
.
setPartnerId
(
createOrderVo
.
getPartnerId
());
request
.
setCardCodes
(
Arrays
.
asList
(
createOrderVo
.
getCardCode
()));
BaseResponse
<
SVCCardAmountResponse
>
svcCardAmount
=
paymentNewService
.
querySVCCardAmount
(
request
,
trackingNo
);
if
(
svcCardAmount
==
null
||
svcCardAmount
.
getData
()==
null
||!
ResponseResult
.
SUCCESS
.
getCode
().
equals
(
svcCardAmount
.
getCode
()))
{
throw
new
ServiceException
(
ResponseResult
.
USER_SVC_CARD_ERROR
);
...
...
order-application-service/src/main/java/cn/freemud/service/impl/OrderServiceImpl.java
View file @
06a9591e
...
...
@@ -2414,6 +2414,31 @@ public class OrderServiceImpl implements Orderservice {
return
ResponseUtil
.
error
(
ResponseResultEnum
.
PAY_UNIFIED_ORDER_ERROR
.
getCode
(),
ResponseResultEnum
.
PAY_UNIFIED_ORDER_ERROR
.
getMessage
(),
null
);
}
/**
* 混合预支付
* @param trackingNo
* @param orderBean
* @param cardCode
* @param orderClient
* @param msg
* @return
*/
private
BaseResponse
failCombPreOrderPay
(
String
trackingNo
,
QueryOrdersResponse
.
DataBean
.
OrderBean
orderBean
,
String
cardCode
,
OrderClientType
orderClient
,
String
msg
)
{
List
<
OrderClientType
>
notCancelOrderClientList
=
Lists
.
newArrayList
(
OrderClientType
.
APP
);
if
(!
notCancelOrderClientList
.
contains
(
orderClient
))
{
//失败冲正库存,冲正活动库存,取消订单
CancelOrderRequest
cancelOrderRequest
=
orderAdapter
.
convent2CancelOrderRequest
(
orderBean
.
getOid
(),
orderBean
.
getCompanyId
(),
AfterSalesType
.
SYSTEM_CANCEL
,
StringUtils
.
join
(
new
String
[]{
"获取预支付失败"
,
msg
},
'-'
),
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);
//}
return
ResponseUtil
.
error
(
ResponseResultEnum
.
PAY_UNIFIED_ORDER_ERROR
.
getCode
(),
"获取混合预支付信息失败"
,
null
);
}
public
OrderPayResponse
getPreOrderPay
(
QueryOrdersResponse
.
DataBean
.
OrderBean
orderBean
,
PaymentRequest
paymentRequest
,
String
trackingNo
,
Integer
cardAmount
,
String
transId
,
String
partnerPayOvertime
)
{
OrderPayResponse
orderPayResponse
;
try
{
...
...
@@ -2459,6 +2484,7 @@ public class OrderServiceImpl implements Orderservice {
svcRequest
.
setPartnerId
(
partnerId
);
svcRequest
.
setCardCodes
(
Arrays
.
asList
(
cardCode
));
//查询svc卡余额
log
.
info
(
"svc支付:{}"
,
transId
);
com
.
freemud
.
application
.
sdk
.
api
.
base
.
BaseResponse
<
SVCCardAmountResponse
>
svcCardAmountResponseBaseResponse
=
paymentNewService
.
querySVCCardAmount
(
svcRequest
,
trackingNo
);
if
(
svcCardAmountResponseBaseResponse
==
null
||
!
ResponseCodeConstant
.
RESPONSE_SUCCESS_STR
.
equals
(
svcCardAmountResponseBaseResponse
.
getCode
())
||
svcCardAmountResponseBaseResponse
.
getData
().
getData
()
==
null
||
CollectionUtils
.
isEmpty
(
svcCardAmountResponseBaseResponse
.
getData
().
getData
().
getCardSimpleInfos
()))
{
...
...
@@ -3149,7 +3175,8 @@ public class OrderServiceImpl implements Orderservice {
orderPayResponse
=
comPayOrder
(
paymentRequest
,
createPrepayRequestDto
,
partnerPayOvertime
,
LogThreadLocal
.
getTrackingNo
());
if
(
orderPayResponse
==
null
||
Objects
.
isNull
(
orderPayResponse
.
getFmId
()))
{
return
failPreOrderPay
(
LogThreadLocal
.
getTrackingNo
()
log
.
info
(
"混合支付返回:{}"
,
JSON
.
toJSONString
(
orderPayResponse
));
return
failCombPreOrderPay
(
LogThreadLocal
.
getTrackingNo
()
,
createPrepayRequestDto
.
getProductOrderBean
()
,
cardCode
,
createPrepayRequestDto
.
getOrderClient
()
...
...
@@ -3203,6 +3230,7 @@ public class OrderServiceImpl implements Orderservice {
CombPayResponse
responseBase
=
null
;
CombPayRequest
combPayRequest
=
null
;
CombPayResponse
.
PayPlatform
payPlatform
=
null
;
log
.
info
(
"混合支付..."
);
try
{
String
orderClient
=
this
.
getPayCodeByChanel
(
createPrepayRequestDto
);
if
(
StringUtils
.
isBlank
(
orderClient
))
{
...
...
@@ -3218,6 +3246,7 @@ public class OrderServiceImpl implements Orderservice {
orderPayResponse
.
setMsg
(
responseBase
.
getMsg
());
}
else
{
log
.
info
(
"混合支付请求request:{},response:{}"
,
JSON
.
toJSONString
(
combPayRequest
),
JSON
.
toJSONString
(
responseBase
));
/**
* 生成预支付参数
*/
...
...
@@ -3249,6 +3278,7 @@ public class OrderServiceImpl implements Orderservice {
}
}
catch
(
Exception
e
)
{
log
.
info
(
"混合支付异常..."
);
//TODO 邮件告警
LogUtil
.
error
(
"comPay_error"
,
JSONObject
.
toJSONString
(
responseBase
),
JSONObject
.
toJSONString
(
paymentRequest
),
e
);
orderPayResponse
=
new
OrderPayResponse
();
...
...
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