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
64fffaac
Commit
64fffaac
authored
Nov 25, 2020
by
xiaoer.li@freemud.com
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
混合支付优化调整
parent
40e93653
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
45 additions
and
25 deletions
+45
-25
order-application-service/src/main/java/cn/freemud/adapter/OrderAdapter.java
+3
-3
order-application-service/src/main/java/cn/freemud/entities/dto/pay/CombPayResponse.java
+3
-3
order-application-service/src/main/java/cn/freemud/service/impl/OrderServiceImpl.java
+39
-19
No files found.
order-application-service/src/main/java/cn/freemud/adapter/OrderAdapter.java
View file @
64fffaac
...
...
@@ -28,8 +28,8 @@ import cn.freemud.entities.dto.shoppingCart.ShoppingCartGoodsDto;
import
cn.freemud.entities.vo.*
;
import
cn.freemud.entities.vo.encircle.CreateReserveOrderVo
;
import
cn.freemud.entities.vo.encircle.PreviewOrderInfoVo
;
import
cn.freemud.enums.ActivityTypeEnum
;
import
cn.freemud.enums.*
;
import
cn.freemud.enums.ActivityTypeEnum
;
import
cn.freemud.enums.OrderChannelType
;
import
cn.freemud.enums.OrderSourceType
;
import
cn.freemud.enums.OrderType
;
...
...
@@ -3584,11 +3584,11 @@ public class OrderAdapter {
payItem
.
setTransId
(
pt
.
getTransId
());
payItem
.
setPartnerId
(
partnerId
);
if
(
PayChannelType
.
SVC
.
getEbcode
().
equals
(
pt
.
getEbCode
()))
{
payItem
.
setPayAmount
(
new
BigDecimal
(
pt
.
getPayA
cc
ount
()));
payItem
.
setPayAmount
(
new
BigDecimal
(
pt
.
getPayA
m
ount
()));
responseDto
.
setPayMode
(
PayChannelType
.
SVC
.
getEbcode
());
}
else
if
(
PayChannelType
.
WECHAT
.
getEbcode
().
equals
(
pt
.
getEbCode
())
||
PayChannelType
.
ALIPAY
.
getEbcode
().
equals
(
pt
.
getEbCode
())){
payItem
.
setPayAmount
(
new
BigDecimal
(
pt
.
getPayA
cc
ount
()));
payItem
.
setPayAmount
(
new
BigDecimal
(
pt
.
getPayA
m
ount
()));
responseDto
.
setPayMode
(
PayChannelType
.
getByEbcode
(
pt
.
getEbCode
()).
getEbcode
());
}
responseDto
.
getPayItem
().
add
(
payItem
);
...
...
order-application-service/src/main/java/cn/freemud/entities/dto/pay/CombPayResponse.java
View file @
64fffaac
...
...
@@ -51,12 +51,12 @@ public class CombPayResponse {
@ApiModelProperty
(
value
=
"外部交易流水号,由上游系统生成,需保证唯一"
)
private
String
outOrderNo
;
@ApiModelProperty
(
value
=
"支付帐号"
)
private
String
payAccount
;
@ApiModelProperty
(
value
=
"第三方支付交易序号"
)
private
String
platformTradeNo
;
@ApiModelProperty
(
value
=
"支付金额"
)
private
Integer
payAmount
;
@ApiModelProperty
(
value
=
"间联单号"
)
private
String
transId
;
@ApiModelProperty
(
value
=
""
)
...
...
order-application-service/src/main/java/cn/freemud/service/impl/OrderServiceImpl.java
View file @
64fffaac
...
...
@@ -2682,7 +2682,7 @@ public class OrderServiceImpl implements Orderservice {
orderEditRequest
.
setPayChannelType
(
PayChannelType
.
getByEbcode
(
orderPayResponse
.
getPayMode
()).
getIndex
());
}
//混合支付项
if
(
CollectionUtils
.
isNotEmpty
(
orderPayResponse
.
getPayItem
()))
{
if
(
CollectionUtils
.
isNotEmpty
(
orderPayResponse
.
getPayItem
())
&&
orderPayResponse
.
getPayMode
().
equals
(
PayChannelType
.
COMB
.
getEbcode
())
)
{
orderEditRequest
.
setOrderPayItem
(
orderPayResponse
.
getPayItem
());
orderEditRequest
.
setPayChannel
(
PayChannelType
.
COMB
.
getEbcode
());
orderEditRequest
.
setPayChannelName
(
PayChannelType
.
COMB
.
getName
());
...
...
@@ -3194,8 +3194,6 @@ public class OrderServiceImpl implements Orderservice {
* @param paymentRequest
* @param partnerPayOvertime
* @param totalAmount
* @param svcAmount
* @param svcVAmount
* @param channel
* @param storeId
* @param trackingNo
...
...
@@ -3224,7 +3222,7 @@ public class OrderServiceImpl implements Orderservice {
do
{
try
{
combPayResponse
=
comPayClient
.
combPay
(
combPayRequest
,
combPayRequest
.
getPartner_id
());
if
(
ResponseCodeConstant
.
PAYMENT_RESPONSE_SUCCESS
.
equals
(
combPayResponse
.
getCode
())
)
{
if
(
combPayResponse
!=
null
)
{
break
;
}
}
catch
(
Exception
exception
)
{}
...
...
@@ -3238,27 +3236,49 @@ public class OrderServiceImpl implements Orderservice {
}
Integer
svcAmount
=
0
;
Integer
svcVAmount
=
0
;
List
<
CombPayResponse
.
PayPlatform
>
payPlatforms
=
combPayResponse
.
getData
().
getPayPlatformResponseList
();
if
(
payPlatforms
.
size
()==
0
)
{
orderPayResponse
.
setMsg
(
"混合支付:生成预支付失败"
);
return
orderPayResponse
;
}
//生成预支付参数
CombPayResponse
.
PayPlatform
payPlatform
=
combPayResponse
.
getData
().
getPayPlatformResponseList
()
CombPayResponse
.
PayPlatform
cashPay
=
payPlatforms
.
stream
()
.
filter
(
f
->
!
PayChannelType
.
SVC
.
getEbcode
().
equals
(
f
.
getEbCode
())).
findFirst
()
.
orElse
(
null
);
if
(
payPlatform
==
null
)
{
orderPayResponse
.
setMsg
(
"混合支付:生成预支付失败"
);
//现金+svc 现金
if
(
payPlatforms
.
size
()==
2
||
payPlatforms
.
size
()==
1
&&
cashPay
!=
null
)
{
orderPayResponse
=
orderAdapter
.
convent2OrderCombPayResponse
(
combPayResponse
.
getData
().
getPayPlatformResponseList
(),
orderBean
.
getCompanyId
(),
storeId
);
orderPayResponse
.
setOpenId
(
paymentRequest
.
getOpenId
());
orderPayResponse
.
setWxAppid
(
paymentRequest
.
getWxAppId
());
orderPayResponse
.
setPartnerId
(
orderBean
.
getCompanyId
());
orderPayResponse
.
setOrderId
(
orderBean
.
getOid
());
orderPayResponse
.
setPayMode
(
orderPayResponse
.
getPayMode
());
//隐射关系
redisCache
.
save
(
RedisUtil
.
getPaymentTransIdOrderKey
(
cashPay
.
getTransId
()),
orderBean
.
getOid
(),
1L
,
TimeUnit
.
DAYS
);
//加入轮训队列
putDelMq
(
orderBean
.
getCompanyId
(),
storeId
,
orderPayResponse
.
getFmId
(),
orderBean
.
getOid
(),
PayChannelType
.
getByEbcode
(
cashPay
.
getEbCode
()).
getIndex
().
intValue
());
return
orderPayResponse
;
}
orderPayResponse
=
orderAdapter
.
convent2OrderCombPayResponse
(
combPayResponse
.
getData
().
getPayPlatformResponseList
(),
orderBean
.
getCompanyId
(),
storeId
);
orderPayResponse
.
setOpenId
(
paymentRequest
.
getOpenId
());
orderPayResponse
.
setWxAppid
(
paymentRequest
.
getWxAppId
());
orderPayResponse
.
setPartnerId
(
orderBean
.
getCompanyId
());
orderPayResponse
.
setOrderId
(
orderBean
.
getOid
());
orderPayResponse
.
setPayMode
(
PayChannelType
.
COMB
.
getEbcode
());
//隐射关系
redisCache
.
save
(
RedisUtil
.
getPaymentTransIdOrderKey
(
payPlatform
.
getTransId
()),
orderBean
.
getOid
(),
1L
,
TimeUnit
.
DAYS
);
//加入轮训队列
putDelMq
(
orderBean
.
getCompanyId
(),
storeId
,
orderPayResponse
.
getFmId
(),
orderBean
.
getOid
(),
PayChannelType
.
getByEbcode
(
payPlatform
.
getEbCode
()).
getIndex
().
intValue
());
return
orderPayResponse
;
//单svc
else
{
CombPayResponse
.
PayPlatform
svcPay
=
payPlatforms
.
stream
()
.
filter
(
f
->
PayChannelType
.
SVC
.
getEbcode
().
equals
(
f
.
getEbCode
())).
findFirst
()
.
orElse
(
null
);
orderPayResponse
.
setFmId
(
orderPayResponse
.
getFmId
());
orderPayResponse
.
setPayTransId
(
svcPay
.
getTransId
());
orderPayResponse
.
setWxAppid
(
paymentRequest
.
getWxAppId
());
orderPayResponse
.
setOpenId
(
paymentRequest
.
getOpenId
());
orderPayResponse
.
setPartnerId
(
orderBean
.
getCompanyId
());
orderPayResponse
.
setOrderId
(
orderBean
.
getOid
());
orderPayResponse
.
setPayMode
(
PayChannelType
.
SVC
.
getEbcode
());
}
return
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