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
d1df7f9e
Commit
d1df7f9e
authored
Nov 26, 2020
by
张志恒
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/feature/2020-1104-混合支付' into develop
parents
8fb323ff
4619fcb7
Show whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
167 additions
and
111 deletions
+167
-111
call-back-service/src/main/java/cn/freemud/amp/service/OrderCallBackMQService.java
+16
-6
order-application-service/src/main/java/cn/freemud/adapter/OrderAdapter.java
+30
-39
order-application-service/src/main/java/cn/freemud/entities/dto/QueryOrdersResponseDto.java
+2
-1
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/OrderAdapterServiceImpl.java
+5
-0
order-application-service/src/main/java/cn/freemud/service/impl/OrderServiceImpl.java
+105
-40
shopping-cart-application-service/src/main/java/cn/freemud/entities/vo/ShoppingCartGoodsResponseVo.java
+1
-1
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/ShoppingCartNewServiceImpl.java
+5
-21
No files found.
call-back-service/src/main/java/cn/freemud/amp/service/OrderCallBackMQService.java
View file @
d1df7f9e
...
@@ -34,8 +34,10 @@ import com.freemud.application.sdk.api.log.LogThreadLocal;
...
@@ -34,8 +34,10 @@ import com.freemud.application.sdk.api.log.LogThreadLocal;
import
com.freemud.application.sdk.api.log.ThirdPartyLog
;
import
com.freemud.application.sdk.api.log.ThirdPartyLog
;
import
com.freemud.application.sdk.api.ordercenter.enums.NewOrderStatus
;
import
com.freemud.application.sdk.api.ordercenter.enums.NewOrderStatus
;
import
com.freemud.application.sdk.api.ordercenter.enums.OrderClientType
;
import
com.freemud.application.sdk.api.ordercenter.enums.OrderClientType
;
import
com.freemud.application.sdk.api.ordercenter.enums.PayChannelType
;
import
com.freemud.application.sdk.api.ordercenter.response.orderInfo.OrderInfoReqs
;
import
com.freemud.application.sdk.api.ordercenter.response.orderInfo.OrderInfoReqs
;
import
com.freemud.application.sdk.api.ordercenter.response.orderInfo.OrderItemResp
;
import
com.freemud.application.sdk.api.ordercenter.response.orderInfo.OrderItemResp
;
import
com.freemud.application.sdk.api.ordercenter.response.orderInfo.OrderPayItemReqs
;
import
com.freemud.application.sdk.api.ordercenter.response.orderInfo.OrderSettlementResp
;
import
com.freemud.application.sdk.api.ordercenter.response.orderInfo.OrderSettlementResp
;
import
com.freemud.sdk.api.assortment.orderdistributor.request.DisRequest
;
import
com.freemud.sdk.api.assortment.orderdistributor.request.DisRequest
;
import
com.freemud.sdk.api.assortment.orderdistributor.service.OrderDistributionService
;
import
com.freemud.sdk.api.assortment.orderdistributor.service.OrderDistributionService
;
...
@@ -51,10 +53,7 @@ import org.springframework.context.ApplicationContext;
...
@@ -51,10 +53,7 @@ import org.springframework.context.ApplicationContext;
import
org.springframework.stereotype.Component
;
import
org.springframework.stereotype.Component
;
import
org.springframework.util.CollectionUtils
;
import
org.springframework.util.CollectionUtils
;
import
java.util.ArrayList
;
import
java.util.*
;
import
java.util.Arrays
;
import
java.util.List
;
import
java.util.Map
;
@Component
@Component
@Slf4j
@Slf4j
...
@@ -221,12 +220,23 @@ public class OrderCallBackMQService {
...
@@ -221,12 +220,23 @@ public class OrderCallBackMQService {
AssortmentOpenPlatformWxapp
wxApp
=
openPlatformWxappManager
.
findByPartnerIdAndWxappId
(
userLoginInfoDto
.
getPartnerId
(),
userLoginInfoDto
.
getWxAppid
());
AssortmentOpenPlatformWxapp
wxApp
=
openPlatformWxappManager
.
findByPartnerIdAndWxappId
(
userLoginInfoDto
.
getPartnerId
(),
userLoginInfoDto
.
getWxAppid
());
wechatReportOrderDto
.
setSubMchId
(
wxApp
==
null
?
""
:
wxApp
.
getMchId
());
wechatReportOrderDto
.
setSubMchId
(
wxApp
==
null
?
""
:
wxApp
.
getMchId
());
}
}
// 混合支付
Integer
userAmount
=
0
;
if
(
orderInfoReqs
.
getOrderPayItemCreateReqList
().
size
()>
0
)
{
OrderPayItemReqs
orderPayItemReqs
=
orderInfoReqs
.
getOrderPayItemCreateReqList
()
.
stream
()
.
filter
(
s
->
s
.
getPayChannelType
().
equals
(
PayChannelType
.
WECHAT
.
getIndex
().
intValue
())
||
s
.
getPayChannelType
().
equals
(
PayChannelType
.
ALIPAY
.
getIndex
().
intValue
()))
.
findFirst
().
orElse
(
null
);
if
(
orderPayItemReqs
!=
null
)
{
userAmount
=
orderPayItemReqs
.
getPayAmount
().
intValue
();
}
}
wechatReportOrderDto
.
setPayVoucher
(
orderInfoReqs
.
getPayRequestNo
());
wechatReportOrderDto
.
setPayVoucher
(
orderInfoReqs
.
getPayRequestNo
());
wechatReportOrderDto
.
setSubAppId
(
userLoginInfoDto
.
getWxAppid
());
wechatReportOrderDto
.
setSubAppId
(
userLoginInfoDto
.
getWxAppid
());
wechatReportOrderDto
.
setOutShopNo
(
orderInfoReqs
.
getStoreId
());
wechatReportOrderDto
.
setOutShopNo
(
orderInfoReqs
.
getStoreId
());
wechatReportOrderDto
.
setSubOpenId
(
userLoginInfoDto
.
getOpenId
());
wechatReportOrderDto
.
setSubOpenId
(
userLoginInfoDto
.
getOpenId
());
wechatReportOrderDto
.
setLoginToken
(
userLoginInfoDto
.
getSessionKey
());
wechatReportOrderDto
.
setLoginToken
(
userLoginInfoDto
.
getSessionKey
());
wechatReportOrderDto
.
setUserAmount
(
orderInfoReqs
.
getSettlementAmount
().
intValue
());
wechatReportOrderDto
.
setUserAmount
(
userAmount
>
0
?
userAmount
:
orderInfoReqs
.
getSettlementAmount
().
intValue
());
wechatReportOrderDto
.
setOutOrderNo
(
orderInfoReqs
.
getOrderCode
());
wechatReportOrderDto
.
setOutOrderNo
(
orderInfoReqs
.
getOrderCode
());
wechatReportOrderDto
.
setTransactionId
(
orderExtInfoDto
.
getPaid_no
());
wechatReportOrderDto
.
setTransactionId
(
orderExtInfoDto
.
getPaid_no
());
wechatReportOrderDto
.
setOutTradeNo
(
orderExtInfoDto
.
getPayTransId
());
wechatReportOrderDto
.
setOutTradeNo
(
orderExtInfoDto
.
getPayTransId
());
...
@@ -245,7 +255,7 @@ public class OrderCallBackMQService {
...
@@ -245,7 +255,7 @@ public class OrderCallBackMQService {
}
}
}
}
}
}
wechatReportOrderDto
.
setTotalAmount
(
discountAmount
+
orderInfoReqs
.
getSettlementAmount
().
intValue
(
));
wechatReportOrderDto
.
setTotalAmount
(
discountAmount
+
(
userAmount
>
0
?
userAmount
:
orderInfoReqs
.
getSettlementAmount
().
intValue
()
));
wechatReportOrderDto
.
setDiscountAmount
(
discountAmount
);
wechatReportOrderDto
.
setDiscountAmount
(
discountAmount
);
//订单状态 (2—用户下单;1—支付完成)
//订单状态 (2—用户下单;1—支付完成)
wechatReportOrderDto
.
setStatus
(
NewOrderStatus
.
PENDING_PAYMENT
.
getIndex
().
equals
(
orderInfoReqs
.
getOrderState
())
?
2
:
1
);
wechatReportOrderDto
.
setStatus
(
NewOrderStatus
.
PENDING_PAYMENT
.
getIndex
().
equals
(
orderInfoReqs
.
getOrderState
())
?
2
:
1
);
...
...
order-application-service/src/main/java/cn/freemud/adapter/OrderAdapter.java
View file @
d1df7f9e
...
@@ -28,8 +28,8 @@ import cn.freemud.entities.dto.shoppingCart.ShoppingCartGoodsDto;
...
@@ -28,8 +28,8 @@ import cn.freemud.entities.dto.shoppingCart.ShoppingCartGoodsDto;
import
cn.freemud.entities.vo.*
;
import
cn.freemud.entities.vo.*
;
import
cn.freemud.entities.vo.encircle.CreateReserveOrderVo
;
import
cn.freemud.entities.vo.encircle.CreateReserveOrderVo
;
import
cn.freemud.entities.vo.encircle.PreviewOrderInfoVo
;
import
cn.freemud.entities.vo.encircle.PreviewOrderInfoVo
;
import
cn.freemud.enums.ActivityTypeEnum
;
import
cn.freemud.enums.*
;
import
cn.freemud.enums.*
;
import
cn.freemud.enums.ActivityTypeEnum
;
import
cn.freemud.enums.OrderChannelType
;
import
cn.freemud.enums.OrderChannelType
;
import
cn.freemud.enums.OrderSourceType
;
import
cn.freemud.enums.OrderSourceType
;
import
cn.freemud.enums.OrderType
;
import
cn.freemud.enums.OrderType
;
...
@@ -619,23 +619,15 @@ public class OrderAdapter {
...
@@ -619,23 +619,15 @@ public class OrderAdapter {
if
(
Objects
.
nonNull
(
createOrderVo
.
getUnionPayCard
()))
{
if
(
Objects
.
nonNull
(
createOrderVo
.
getUnionPayCard
()))
{
createOrderDto
.
setPayChannel
(
PayChannelType
.
USVCP
.
getEbcode
());
createOrderDto
.
setPayChannel
(
PayChannelType
.
USVCP
.
getEbcode
());
createOrderDto
.
setPayChannelName
(
PayChannelType
.
USVCP
.
getName
());
createOrderDto
.
setPayChannelName
(
PayChannelType
.
USVCP
.
getName
());
createOrderDto
.
setPayChannelType
(
PayChannelType
.
USVCP
.
getIndex
());
}
}
//混合支付
if
(
StringUtils
.
isNotBlank
(
createOrderVo
.
getChannel
()))
{
else
if
(
PayChannelType
.
COMB
.
getIndex
().
equals
(
createOrderVo
.
getPayChannelType
()))
{
PayChannelType
channelType
=
PayChannelType
.
getByIndex
(
Byte
.
parseByte
(
createOrderVo
.
getChannel
()));
createOrderDto
.
setPayChannel
(
PayChannelType
.
COMB
.
getEbcode
());
if
(
channelType
!=
null
)
{
createOrderDto
.
setPayChannelName
(
PayChannelType
.
COMB
.
getName
());
createOrderDto
.
setPayChannel
(
channelType
.
getEbcode
());
}
createOrderDto
.
setPayChannelName
(
channelType
.
getName
());
else
if
(
PayChannelType
.
WECHAT
.
getIndex
().
equals
(
createOrderVo
.
getPayChannelType
()))
{
createOrderDto
.
setPayChannelType
(
channelType
.
getIndex
());
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
.
setSource
(
OrderSourceType
.
SAAS
.
getCode
());
createOrderDto
.
setSourceName
(
OrderSourceType
.
SAAS
.
getDesc
());
createOrderDto
.
setSourceName
(
OrderSourceType
.
SAAS
.
getDesc
());
...
@@ -1138,18 +1130,17 @@ public class OrderAdapter {
...
@@ -1138,18 +1130,17 @@ public class OrderAdapter {
responseVo
.
setPayCreateTime
(
orderExtInfoDto
!=
null
?
orderExtInfoDto
.
getPayDate
()
:
""
);
responseVo
.
setPayCreateTime
(
orderExtInfoDto
!=
null
?
orderExtInfoDto
.
getPayDate
()
:
""
);
responseVo
.
setPayChannel
(
ordersBean
.
getPayChannel
());
responseVo
.
setPayChannel
(
ordersBean
.
getPayChannel
());
if
(
StringUtils
.
isNotBlank
(
ordersBean
.
getPayChannel
()))
{
if
(
StringUtils
.
isNotBlank
(
ordersBean
.
getPayChannel
()))
{
if
(
"10102"
.
equals
(
ordersBean
.
getPayChannel
()))
{
PayChannelType
ebcode
=
PayChannelType
.
getByEbcode
(
ordersBean
.
getPayChannel
());
responseVo
.
setOrderPayType
(
"储值卡支付"
);
if
(
ebcode
!=
null
)
{
}
else
if
(
PayChannel
.
ALIPAY
.
getCode
().
equals
(
ordersBean
.
getPayChannel
()))
{
responseVo
.
setOrderPayType
(
ebcode
.
getName
());
responseVo
.
setOrderPayType
(
"支付宝支付"
);
}
}
else
if
(
PayChannel
.
WXPAY
.
getCode
().
equals
(
ordersBean
.
getPayChannel
()))
{
else
{
responseVo
.
setOrderPayType
(
"微信支付"
);
responseVo
.
setOrderPayType
(
PayChannelType
.
WECHAT
.
getName
());
}
else
if
(
Objects
.
equals
(
PayChannel
.
USVCP
.
getCode
(),
ordersBean
.
getPayChannel
()))
{
responseVo
.
setOrderPayType
(
"电子风味卡支付"
);
}
else
{
responseVo
.
setOrderPayType
(
"微信支付"
);
}
}
}
}
else
if
(
ordersBean
.
getOrderPayItem
().
size
()>
0
)
{
responseVo
.
setOrderPayType
(
PayChannelType
.
COMB
.
getName
());
}
else
{
else
{
if
(
OrderSourceType
.
ALIPAY
.
getCode
().
equals
(
ordersBean
.
getSource
()))
{
if
(
OrderSourceType
.
ALIPAY
.
getCode
().
equals
(
ordersBean
.
getSource
()))
{
responseVo
.
setOrderPayType
(
"支付宝支付"
);
responseVo
.
setOrderPayType
(
"支付宝支付"
);
...
@@ -3664,8 +3655,7 @@ public class OrderAdapter {
...
@@ -3664,8 +3655,7 @@ public class OrderAdapter {
,
String
partnerPayOvertime
,
String
partnerPayOvertime
,
String
orderClient
,
String
orderClient
,
String
channel
,
String
channel
,
Integer
totalAmount
,
Integer
totalAmount
)
{
,
Integer
svcAmount
)
{
CombPayRequest
orderPayDto
=
new
CombPayRequest
();
CombPayRequest
orderPayDto
=
new
CombPayRequest
();
orderPayDto
.
setEbCode
(
paymentRequest
.
getPayCode
());
orderPayDto
.
setEbCode
(
paymentRequest
.
getPayCode
());
orderPayDto
.
setPartner_id
(
orderBean
.
getCompanyId
());
orderPayDto
.
setPartner_id
(
orderBean
.
getCompanyId
());
...
@@ -3696,16 +3686,15 @@ public class OrderAdapter {
...
@@ -3696,16 +3686,15 @@ public class OrderAdapter {
}
}
orderPayDto
.
setProducts
(
productVOS
);
orderPayDto
.
setProducts
(
productVOS
);
List
<
PayPlatformVO
>
platforms
=
new
ArrayList
<>();
List
<
PayPlatformVO
>
platforms
=
new
ArrayList
<>();
Long
svc
=
svcAmount
.
longValue
();
PayPlatformVO
payPlatformVO
=
new
PayPlatformVO
();
PayPlatformVO
payPlatformVO
=
new
PayPlatformVO
();
payPlatformVO
.
setClientCode
(
PayChannelType
.
SVC
.
getEbcode
());
payPlatformVO
.
setClientCode
(
PayChannelType
.
SVC
.
getEbcode
());
payPlatformVO
.
setEbcode
(
PayChannelType
.
SVC
.
getEbcode
());
payPlatformVO
.
setEbcode
(
PayChannelType
.
SVC
.
getEbcode
());
payPlatformVO
.
setAmount
(
svc
);
payPlatformVO
.
setAmount
(
0L
);
platforms
.
add
(
payPlatformVO
);
platforms
.
add
(
payPlatformVO
);
String
ebcode
=
PayChannelType
.
getByIndex
(
Byte
.
parseByte
(
channel
)).
getEbcode
();
String
ebcode
=
PayChannelType
.
getByIndex
(
Byte
.
parseByte
(
channel
)).
getEbcode
();
payPlatformVO
=
new
PayPlatformVO
();
payPlatformVO
=
new
PayPlatformVO
();
payPlatformVO
.
setAmount
(
totalAmount
.
longValue
()
-
svc
);
payPlatformVO
.
setAmount
(
0L
);
payPlatformVO
.
setClientCode
(
orderClient
);
payPlatformVO
.
setClientCode
(
orderClient
);
payPlatformVO
.
setEbcode
(
ebcode
);
payPlatformVO
.
setEbcode
(
ebcode
);
platforms
.
add
(
payPlatformVO
);
platforms
.
add
(
payPlatformVO
);
...
@@ -3723,9 +3712,7 @@ public class OrderAdapter {
...
@@ -3723,9 +3712,7 @@ public class OrderAdapter {
*/
*/
public
OrderPayResponse
convent2OrderCombPayResponse
(
List
<
CombPayResponse
.
PayPlatform
>
payPlatforms
public
OrderPayResponse
convent2OrderCombPayResponse
(
List
<
CombPayResponse
.
PayPlatform
>
payPlatforms
,
String
partnerId
,
String
partnerId
,
String
storeId
,
String
storeId
)
{
,
Integer
totalAmount
,
Integer
svcAmount
)
{
CombPayResponse
.
PayPlatform
payPlatform
=
payPlatforms
CombPayResponse
.
PayPlatform
payPlatform
=
payPlatforms
.
stream
()
.
stream
()
.
filter
(
f
->
!
PayChannelType
.
SVC
.
getEbcode
().
equals
(
f
.
getEbCode
())).
findFirst
()
.
filter
(
f
->
!
PayChannelType
.
SVC
.
getEbcode
().
equals
(
f
.
getEbCode
())).
findFirst
()
...
@@ -3750,7 +3737,6 @@ public class OrderAdapter {
...
@@ -3750,7 +3737,6 @@ public class OrderAdapter {
responseDto
.
setPayOrder
(
payBean
);
responseDto
.
setPayOrder
(
payBean
);
}
}
//供修改订单
//供修改订单
Integer
cashAmount
=
totalAmount
-
svcAmount
;
for
(
CombPayResponse
.
PayPlatform
pt
:
payPlatforms
)
{
for
(
CombPayResponse
.
PayPlatform
pt
:
payPlatforms
)
{
PayItem
payItem
=
new
PayItem
();
PayItem
payItem
=
new
PayItem
();
payItem
.
setFmTradeNo
(
pt
.
getFmTradeNo
());
payItem
.
setFmTradeNo
(
pt
.
getFmTradeNo
());
...
@@ -3759,14 +3745,19 @@ public class OrderAdapter {
...
@@ -3759,14 +3745,19 @@ public class OrderAdapter {
payItem
.
setPayChannelName
(
PayChannelType
.
getByEbcode
(
pt
.
getEbCode
()).
getName
());
payItem
.
setPayChannelName
(
PayChannelType
.
getByEbcode
(
pt
.
getEbCode
()).
getName
());
payItem
.
setTransId
(
pt
.
getTransId
());
payItem
.
setTransId
(
pt
.
getTransId
());
payItem
.
setPartnerId
(
partnerId
);
payItem
.
setPartnerId
(
partnerId
);
if
(
pt
.
getEbCode
().
equals
(
PayChannel
.
SVC
.
getCode
()))
{
if
(
PayChannelType
.
SVC
.
getEbcode
().
equals
(
pt
.
getEbCode
()))
{
payItem
.
setPayAmount
(
new
BigDecimal
(
svcAmount
));
payItem
.
setPayAmount
(
new
BigDecimal
(
pt
.
getPayAmount
()));
responseDto
.
setPayMode
(
PayChannelType
.
SVC
.
getEbcode
());
}
}
else
{
else
if
(
PayChannelType
.
WECHAT
.
getEbcode
().
equals
(
pt
.
getEbCode
())
||
PayChannelType
.
ALIPAY
.
getEbcode
().
equals
(
pt
.
getEbCode
())){
payItem
.
setPayAmount
(
new
BigDecimal
(
cashAmount
));
payItem
.
setPayAmount
(
new
BigDecimal
(
pt
.
getPayAmount
()));
responseDto
.
setPayMode
(
PayChannelType
.
getByEbcode
(
pt
.
getEbCode
()).
getEbcode
());
}
}
responseDto
.
getPayItem
().
add
(
payItem
);
responseDto
.
getPayItem
().
add
(
payItem
);
}
}
if
(
responseDto
.
getPayItem
().
size
()==
2
)
{
responseDto
.
setPayMode
(
PayChannelType
.
COMB
.
getEbcode
());
}
return
responseDto
;
return
responseDto
;
}
}
...
...
order-application-service/src/main/java/cn/freemud/entities/dto/QueryOrdersResponseDto.java
View file @
d1df7f9e
...
@@ -14,11 +14,11 @@ package cn.freemud.entities.dto;
...
@@ -14,11 +14,11 @@ package cn.freemud.entities.dto;
import
com.freemud.application.sdk.api.ordercenter.response.OrderPayItemResp
;
import
com.freemud.application.sdk.api.ordercenter.response.OrderPayItemResp
;
import
com.freemud.application.sdk.api.ordercenter.response.orderInfo.OrderCostResp
;
import
com.freemud.application.sdk.api.ordercenter.response.orderInfo.OrderCostResp
;
import
com.freemud.sdk.api.assortment.order.response.order.QueryOrdersResponse
;
import
lombok.Data
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
lombok.NoArgsConstructor
;
import
org.apache.commons.lang.builder.ToStringBuilder
;
import
org.apache.commons.lang.builder.ToStringBuilder
;
import
org.apache.commons.lang.builder.ToStringStyle
;
import
org.apache.commons.lang.builder.ToStringStyle
;
import
java.math.BigDecimal
;
import
java.math.BigDecimal
;
import
java.util.List
;
import
java.util.List
;
...
@@ -200,6 +200,7 @@ public class QueryOrdersResponseDto {
...
@@ -200,6 +200,7 @@ public class QueryOrdersResponseDto {
private
AddDeliveryInfo
addInfo
;
private
AddDeliveryInfo
addInfo
;
private
List
<
OrderCostResp
>
orderCostDetailList
;
private
List
<
OrderCostResp
>
orderCostDetailList
;
private
List
<
QueryOrdersResponse
.
DataBean
.
OrderBean
.
OrderPayItem
>
orderPayItem
;
/**
/**
* 订单操作状态(从订单操作历史表中获取)
* 订单操作状态(从订单操作历史表中获取)
...
...
order-application-service/src/main/java/cn/freemud/entities/dto/pay/CombPayResponse.java
View file @
d1df7f9e
...
@@ -51,12 +51,12 @@ public class CombPayResponse {
...
@@ -51,12 +51,12 @@ public class CombPayResponse {
@ApiModelProperty
(
value
=
"外部交易流水号,由上游系统生成,需保证唯一"
)
@ApiModelProperty
(
value
=
"外部交易流水号,由上游系统生成,需保证唯一"
)
private
String
outOrderNo
;
private
String
outOrderNo
;
@ApiModelProperty
(
value
=
"支付帐号"
)
private
String
payAccount
;
@ApiModelProperty
(
value
=
"第三方支付交易序号"
)
@ApiModelProperty
(
value
=
"第三方支付交易序号"
)
private
String
platformTradeNo
;
private
String
platformTradeNo
;
@ApiModelProperty
(
value
=
"支付金额"
)
private
Integer
payAmount
;
@ApiModelProperty
(
value
=
"间联单号"
)
@ApiModelProperty
(
value
=
"间联单号"
)
private
String
transId
;
private
String
transId
;
@ApiModelProperty
(
value
=
""
)
@ApiModelProperty
(
value
=
""
)
...
...
order-application-service/src/main/java/cn/freemud/service/impl/OrderAdapterServiceImpl.java
View file @
d1df7f9e
...
@@ -3,6 +3,7 @@ package cn.freemud.service.impl;
...
@@ -3,6 +3,7 @@ package cn.freemud.service.impl;
import
cn.freemud.adapter.OrderAdapter
;
import
cn.freemud.adapter.OrderAdapter
;
import
cn.freemud.base.entity.BaseResponse
;
import
cn.freemud.base.entity.BaseResponse
;
import
cn.freemud.base.log.LogTreadLocal
;
import
cn.freemud.base.log.LogTreadLocal
;
import
cn.freemud.constant.ResponseCodeConstant
;
import
cn.freemud.entities.dto.ConfirmOrderDto
;
import
cn.freemud.entities.dto.ConfirmOrderDto
;
import
cn.freemud.entities.dto.QueryOrdersResponseDto
;
import
cn.freemud.entities.dto.QueryOrdersResponseDto
;
import
cn.freemud.entities.vo.AppCreateOrderVo
;
import
cn.freemud.entities.vo.AppCreateOrderVo
;
...
@@ -234,6 +235,10 @@ public class OrderAdapterServiceImpl implements OrderAdapterService {
...
@@ -234,6 +235,10 @@ public class OrderAdapterServiceImpl implements OrderAdapterService {
return
gson
.
toJson
(
message
);
return
gson
.
toJson
(
message
);
}
}
QueryOrdersResponseDto
.
DataBean
.
OrderBean
orderBean
=
orderBeans
.
get
(
OrderBeanType
.
SAASORDER
.
getCode
());
QueryOrdersResponseDto
.
DataBean
.
OrderBean
orderBean
=
orderBeans
.
get
(
OrderBeanType
.
SAASORDER
.
getCode
());
// 混合支付失败,取消订单
if
(!
message
.
getResult_code
().
equals
(
ResponseCodeConstant
.
RESPONSE_SUCCESS
))
{
return
orderService
.
cannelComPayOrder
(
confirmOrderDto
,
orderBean
);
}
if
(!
PayStatus
.
NOT_PAY
.
getCode
().
equals
(
orderBean
.
getPayStatus
())){
if
(!
PayStatus
.
NOT_PAY
.
getCode
().
equals
(
orderBean
.
getPayStatus
())){
return
orderAdapter
.
sendPaySuccessNoticeMessage
();
return
orderAdapter
.
sendPaySuccessNoticeMessage
();
}
}
...
...
order-application-service/src/main/java/cn/freemud/service/impl/OrderServiceImpl.java
View file @
d1df7f9e
...
@@ -75,6 +75,7 @@ import com.freemud.application.sdk.api.deliverycenter.service.DeliveryService;
...
@@ -75,6 +75,7 @@ import com.freemud.application.sdk.api.deliverycenter.service.DeliveryService;
import
com.freemud.application.sdk.api.log.ApiLog
;
import
com.freemud.application.sdk.api.log.ApiLog
;
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.log.LogThreadLocal
;
import
com.freemud.application.sdk.api.ordercenter.entities.PayItem
;
import
com.freemud.application.sdk.api.ordercenter.enums.AfterSalesType
;
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.enums.OrderClientType
;
import
com.freemud.application.sdk.api.ordercenter.enums.PayChannelType
;
import
com.freemud.application.sdk.api.ordercenter.enums.PayChannelType
;
...
@@ -2390,34 +2391,14 @@ public class OrderServiceImpl implements Orderservice {
...
@@ -2390,34 +2391,14 @@ public class OrderServiceImpl implements Orderservice {
,
String
storeId
,
String
storeId
,
String
trackingNo
)
{
,
String
trackingNo
)
{
OrderPayResponse
orderPayResponse
=
new
OrderPayResponse
();
SVCCardAmountRequest
svcRequest
=
new
SVCCardAmountRequest
();
svcRequest
.
setPartnerId
(
orderBean
.
getCompanyId
());
svcRequest
.
setCardCodes
(
Arrays
.
asList
(
cardCode
));
//查询svc卡余额
com
.
freemud
.
application
.
sdk
.
api
.
base
.
BaseResponse
<
SVCCardAmountResponse
>
svcCardAmount
=
paymentNewService
.
querySVCCardAmount
(
svcRequest
,
trackingNo
);
if
(
svcCardAmount
==
null
||
!
ResponseCodeConstant
.
RESPONSE_SUCCESS_STR
.
equals
(
svcCardAmount
.
getCode
())
||
svcCardAmount
.
getData
().
getData
()
==
null
||
CollectionUtils
.
isEmpty
(
svcCardAmount
.
getData
().
getData
().
getCardSimpleInfos
()))
{
orderPayResponse
.
setMsg
(
Objects
.
isNull
(
svcCardAmount
)
?
"获取svc卡余额异常"
:
svcCardAmount
.
getMessage
());
return
orderPayResponse
;
}
// 校验金额
Integer
svcAmount
=
svcCardAmount
.
getData
().
getData
().
getCardSimpleInfos
().
get
(
0
).
getAmount
()
;
Integer
svcVAmount
=
svcCardAmount
.
getData
().
getData
().
getCardSimpleInfos
().
get
(
0
).
getVamount
()
;
boolean
tigger
=
false
;
boolean
tigger
=
false
;
//todo : svc卡的金额小于订单金额
OrderPayResponse
orderPayResponse
=
new
OrderPayResponse
();
if
(
svcAmount
+
svcVAmount
>
0
&&
totalAmount
>
svcAmount
+
svcVAmount
){
tigger
=
true
;
tigger
=
true
;
}
//混合支付
//混合支付
if
(
tigger
&&
StringUtils
.
isNotBlank
(
channel
))
{
if
(
tigger
&&
StringUtils
.
isNotBlank
(
channel
))
{
log
.
info
(
"混合支付:"
);
log
.
info
(
"混合支付:"
);
String
partnerPayOvertime
=
this
.
getPartnerPayOvertime
(
orderBean
.
getCompanyId
());
String
partnerPayOvertime
=
this
.
getPartnerPayOvertime
(
orderBean
.
getCompanyId
());
orderPayResponse
=
comPayOrder
(
cardCode
,
orderBean
,
paymentRequest
,
partnerPayOvertime
,
totalAmount
.
intValue
(),
svcAmount
,
svcVAmount
,
channel
,
storeId
,
LogThreadLocal
.
getTrackingNo
());
orderPayResponse
=
comPayOrder
(
cardCode
,
orderBean
,
paymentRequest
,
partnerPayOvertime
,
totalAmount
.
intValue
(),
channel
,
storeId
,
LogThreadLocal
.
getTrackingNo
());
}
}
//svc 支付
//svc 支付
else
{
else
{
...
@@ -2561,7 +2542,7 @@ public class OrderServiceImpl implements Orderservice {
...
@@ -2561,7 +2542,7 @@ public class OrderServiceImpl implements Orderservice {
orderPayResponse
.
setPartnerId
(
orderBean
.
getCompanyId
());
orderPayResponse
.
setPartnerId
(
orderBean
.
getCompanyId
());
orderPayResponse
.
setOrderId
(
orderBean
.
getOid
());
orderPayResponse
.
setOrderId
(
orderBean
.
getOid
());
orderPayResponse
.
setPayMode
(
PayChannelType
.
WECHAT
.
getEbcode
());
orderPayResponse
.
setPayMode
(
PayChannelType
.
WECHAT
.
getEbcode
());
if
(
orderPayResponse
.
getPayOrder
()!=
null
)
{
if
(
orderPayResponse
.
getPayOrder
()!=
null
&&
StringUtils
.
isNotBlank
(
orderPayResponse
.
getPayOrder
().
getAliPayOrder
())
)
{
orderPayResponse
.
setPayMode
(
PayChannelType
.
ALIPAY
.
getEbcode
());
orderPayResponse
.
setPayMode
(
PayChannelType
.
ALIPAY
.
getEbcode
());
}
}
}
}
...
@@ -3273,8 +3254,6 @@ public class OrderServiceImpl implements Orderservice {
...
@@ -3273,8 +3254,6 @@ public class OrderServiceImpl implements Orderservice {
* @param paymentRequest
* @param paymentRequest
* @param partnerPayOvertime
* @param partnerPayOvertime
* @param totalAmount
* @param totalAmount
* @param svcAmount
* @param svcVAmount
* @param channel
* @param channel
* @param storeId
* @param storeId
* @param trackingNo
* @param trackingNo
...
@@ -3285,8 +3264,6 @@ public class OrderServiceImpl implements Orderservice {
...
@@ -3285,8 +3264,6 @@ public class OrderServiceImpl implements Orderservice {
,
PaymentRequest
paymentRequest
,
PaymentRequest
paymentRequest
,
String
partnerPayOvertime
,
String
partnerPayOvertime
,
Integer
totalAmount
,
Integer
totalAmount
,
Integer
svcAmount
,
Integer
svcVAmount
,
String
channel
,
String
channel
,
String
storeId
,
String
storeId
,
String
trackingNo
)
{
,
String
trackingNo
)
{
...
@@ -3298,34 +3275,82 @@ public class OrderServiceImpl implements Orderservice {
...
@@ -3298,34 +3275,82 @@ public class OrderServiceImpl implements Orderservice {
return
orderPayResponse
;
return
orderPayResponse
;
}
}
CombPayRequest
combPayRequest
=
orderAdapter
.
convent2CombPayOrderRequest
(
cardNo
,
orderBean
,
paymentRequest
,
partnerPayOvertime
,
ebCode
,
channel
,
totalAmount
,
svcAmount
+
svcVAmount
);
CombPayRequest
combPayRequest
=
orderAdapter
.
convent2CombPayOrderRequest
(
cardNo
,
orderBean
,
paymentRequest
,
partnerPayOvertime
,
ebCode
,
channel
,
totalAmount
);
CombPayResponse
combPayResponse
=
comPayClient
.
combPay
(
combPayRequest
,
combPayRequest
.
getPartner_id
());
//todo :xxxooooo xxxoooxox
if
(!
ResponseCodeConstant
.
PAYMENT_RESPONSE_SUCCESS
.
equals
(
combPayResponse
.
getCode
())||
combPayResponse
.
getData
().
getPayPlatformResponseList
().
size
()==
0
)
{
CombPayResponse
combPayResponse
=
null
;
int
i
=
1
;
do
{
try
{
combPayResponse
=
comPayClient
.
combPay
(
combPayRequest
,
combPayRequest
.
getPartner_id
());
if
(
combPayResponse
!=
null
)
{
break
;
}
}
catch
(
Exception
exception
)
{}
i
++;
}
while
(
i
<
4
);
if
(
combPayResponse
==
null
||
!
ResponseCodeConstant
.
PAYMENT_RESPONSE_SUCCESS
.
equals
(
combPayResponse
.
getCode
()))
{
log
.
info
(
"混合支付返回信息错误,trackingNo:{} request:{} response:{}"
,
trackingNo
,
JSONObject
.
toJSONString
(
combPayRequest
),
JSONObject
.
toJSONString
(
combPayResponse
));
log
.
info
(
"混合支付返回信息错误,trackingNo:{} request:{} response:{}"
,
trackingNo
,
JSONObject
.
toJSONString
(
combPayRequest
),
JSONObject
.
toJSONString
(
combPayResponse
));
orderPayResponse
.
setMsg
(
combPayResponse
.
getMsg
());
orderPayResponse
.
setMsg
(
combPayResponse
.
getMsg
());
return
orderPayResponse
;
return
orderPayResponse
;
}
}
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
()
.
stream
()
.
filter
(
f
->
!
PayChannelType
.
SVC
.
getEbcode
().
equals
(
f
.
getEbCode
())).
findFirst
()
.
filter
(
f
->
!
PayChannelType
.
SVC
.
getEbcode
().
equals
(
f
.
getEbCode
())).
findFirst
()
.
orElse
(
null
);
.
orElse
(
null
);
if
(
payPlatform
==
null
)
{
orderPayResponse
.
setMsg
(
"支付:现金支付错误"
);
//现金+svc 现金
return
orderPayResponse
;
if
(
payPlatforms
.
size
()==
2
||
payPlatforms
.
size
()==
1
&&
cashPay
!=
null
)
{
}
orderPayResponse
=
orderAdapter
.
convent2OrderCombPayResponse
(
combPayResponse
.
getData
().
getPayPlatformResponseList
(),
orderBean
.
getCompanyId
(),
storeId
);
orderPayResponse
=
orderAdapter
.
convent2OrderCombPayResponse
(
combPayResponse
.
getData
().
getPayPlatformResponseList
(),
orderBean
.
getCompanyId
(),
storeId
,
totalAmount
,
svcAmount
+
svcVAmount
);
orderPayResponse
.
setOpenId
(
paymentRequest
.
getOpenId
());
orderPayResponse
.
setOpenId
(
paymentRequest
.
getOpenId
());
orderPayResponse
.
setWxAppid
(
paymentRequest
.
getWxAppId
());
orderPayResponse
.
setWxAppid
(
paymentRequest
.
getWxAppId
());
orderPayResponse
.
setPartnerId
(
orderBean
.
getCompanyId
());
orderPayResponse
.
setPartnerId
(
orderBean
.
getCompanyId
());
orderPayResponse
.
setOrderId
(
orderBean
.
getOid
());
orderPayResponse
.
setOrderId
(
orderBean
.
getOid
());
orderPayResponse
.
setPayMode
(
PayChannelType
.
COMB
.
getEbc
ode
());
orderPayResponse
.
setPayMode
(
orderPayResponse
.
getPayM
ode
());
//隐射关系
//隐射关系
redisCache
.
save
(
RedisUtil
.
getPaymentTransIdOrderKey
(
payPlatform
.
getTransId
()),
orderBean
.
getOid
(),
1L
,
TimeUnit
.
DAYS
);
redisCache
.
save
(
RedisUtil
.
getPaymentTransIdOrderKey
(
cashPay
.
getTransId
()),
orderBean
.
getOid
(),
1L
,
TimeUnit
.
DAYS
);
//加入轮训队列
//加入轮训队列
putDelMq
(
orderBean
.
getCompanyId
(),
storeId
,
orderPayResponse
.
getFmId
(),
orderBean
.
getOid
(),
PayChannelType
.
getByEbcode
(
payPlatform
.
getEbCode
()).
getIndex
().
intValue
());
putDelMq
(
orderBean
.
getCompanyId
(),
storeId
,
orderPayResponse
.
getFmId
(),
orderBean
.
getOid
(),
PayChannelType
.
getByEbcode
(
cashPay
.
getEbCode
()).
getIndex
().
intValue
());
return
orderPayResponse
;
return
orderPayResponse
;
}
}
//单svc
else
{
CombPayResponse
.
PayPlatform
svcPay
=
payPlatforms
.
stream
()
.
filter
(
f
->
PayChannelType
.
SVC
.
getEbcode
().
equals
(
f
.
getEbCode
())).
findFirst
()
.
orElse
(
null
);
orderPayResponse
.
setFmId
(
svcPay
.
getTransId
());
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
());
for
(
CombPayResponse
.
PayPlatform
pt
:
payPlatforms
)
{
PayItem
payItem
=
new
PayItem
();
payItem
.
setFmTradeNo
(
pt
.
getFmTradeNo
());
payItem
.
setStoreId
(
storeId
);
payItem
.
setPayChannelType
(
PayChannelType
.
getByEbcode
(
pt
.
getEbCode
()).
getIndex
().
intValue
());
payItem
.
setPayChannelName
(
PayChannelType
.
getByEbcode
(
pt
.
getEbCode
()).
getName
());
payItem
.
setTransId
(
pt
.
getTransId
());
payItem
.
setPartnerId
(
combPayRequest
.
getPartner_id
());
payItem
.
setPayAmount
(
new
BigDecimal
(
pt
.
getPayAmount
()));
orderPayResponse
.
getPayItem
().
add
(
payItem
);
}
}
return
orderPayResponse
;
}
/**
/**
* 通过payCode ->clientCode
* 通过payCode ->clientCode
...
@@ -3342,9 +3367,49 @@ public class OrderServiceImpl implements Orderservice {
...
@@ -3342,9 +3367,49 @@ public class OrderServiceImpl implements Orderservice {
AssortmentOpenPlatformIappWxappStore
wxAppStore
=
assortmentOpenPlatformIappWxappStoreManager
.
selectWxappStoreByWxAppIdAndStoreId
(
wxAppid
AssortmentOpenPlatformIappWxappStore
wxAppStore
=
assortmentOpenPlatformIappWxappStoreManager
.
selectWxappStoreByWxAppIdAndStoreId
(
wxAppid
,
storeId
,
storeId
,
byIndex
.
getEbcode
());
,
byIndex
.
getEbcode
());
if
(
StringUtils
.
isNotBlank
(
wxAppStore
.
getClientCode
()))
{
if
(
wxAppStore
!=
null
&&
StringUtils
.
isNotBlank
(
wxAppStore
.
getClientCode
()))
{
return
wxAppStore
.
getClientCode
();
return
wxAppStore
.
getClientCode
();
}
}
return
""
;
return
""
;
}
}
public
String
cannelComPayOrder
(
ConfirmOrderDto
confirmOrderDto
,
QueryOrdersResponseDto
.
DataBean
.
OrderBean
orderBean
)
{
//失败冲正库存,冲正活动库存,取消订单
CancelOrderRequest
cancelOrderRequest
=
orderAdapter
.
convent2CancelOrderRequest
(
confirmOrderDto
.
getOrderId
(),
orderBean
.
getCompanyId
(),
AfterSalesType
.
SYSTEM_CANCEL
,
"混合支付SVC卡支付失败"
,
LogTreadLocal
.
getTrackingNo
(),
null
);
//BaseOrderResponse request = orderCenterSdkService.orderCancel(cancelOrderRequest);
BaseOrderResponse
request
=
null
;
int
i
=
1
;
do
{
try
{
request
=
orderCenterSdkService
.
orderCancel
(
cancelOrderRequest
);
if
(
request
!=
request
)
{
break
;
}
}
catch
(
Exception
e
)
{}
i
++;
}
while
(
i
<
4
);
backOrdersStatusChange
(
orderBean
.
getOid
(),
orderBean
.
getStatus
());
if
(
ResponseCodeConstant
.
RESPONSE_SUCCESS
.
equals
(
request
.
getErrcode
()))
{
backOrdersStatusChange
(
orderBean
.
getOid
(),
orderBean
.
getStatus
());
return
this
.
newSendPaySuccessNoticeMessage
();
}
else
{
return
this
.
newSendPayFaileMessage
();
}
}
/**
* 取消混合支付svc扣款失败的订单
* @param orderId
* @return
*/
//public String cannelComPayOrder(String orderId) {
// //失败冲正库存,冲正活动库存,取消订单
// CancelOrderRequest cancelOrderRequest = orderAdapter.convent2CancelOrderRequest(orderId, 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());
//}
}
}
shopping-cart-application-service/src/main/java/cn/freemud/entities/vo/ShoppingCartGoodsResponseVo.java
View file @
d1df7f9e
...
@@ -151,7 +151,7 @@ public class ShoppingCartGoodsResponseVo extends ShoppingCartGoodsBaseResponseV
...
@@ -151,7 +151,7 @@ public class ShoppingCartGoodsResponseVo extends ShoppingCartGoodsBaseResponseV
/**
/**
* 支付金额
* 支付金额
*/
*/
private
Integer
svcPayAmount
;
private
String
svcPayAmount
;
/**
/**
* 总的优惠信息集合
* 总的优惠信息集合
...
...
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/ShoppingCartNewServiceImpl.java
View file @
d1df7f9e
...
@@ -1669,34 +1669,18 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
...
@@ -1669,34 +1669,18 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
deliveryAmount
=
shoppingCartGoodsResponseVo
.
getDiscountDeliveryAmount
().
intValue
();
deliveryAmount
=
shoppingCartGoodsResponseVo
.
getDiscountDeliveryAmount
().
intValue
();
orderAmount
+=
deliveryAmount
;
orderAmount
+=
deliveryAmount
;
}
}
log
.
info
(
"svcPrice:totalAmount:{},orderAmount:{},deliveryAmount:{}"
,
shoppingCartGoodsResponseVo
.
getTotalAmount
().
intValue
(),
orderAmount
,
deliveryAmount
);
if
(
svcTotalAmount
>
0
&&
svcTotalAmount
>
orderAmount
)
{
if
(
svcTotalAmount
>
0
&&
svcTotalAmount
>
orderAmount
)
{
svcPayAmount
=
orderAmount
;
svcPayAmount
=
orderAmount
;
shoppingCartGoodsResponseVo
.
setTotalAmount
(
0L
);
shoppingCartGoodsResponseVo
.
setTotalAmount
(
0L
);
}
}
else
if
(
svcTotalAmount
>
0
&&
svcTotalAmount
<=
orderAmount
)
{
else
if
(
svcTotalAmount
>
0
&&
svcTotalAmount
<=
orderAmount
)
{
svcPayAmount
=
svcTotalAmount
;
svcPayAmount
=
svcTotalAmount
;
shoppingCartGoodsResponseVo
.
setTotalAmount
(
orderAmount
.
longValue
()-
svcPayAmount
.
longValue
());
shoppingCartGoodsResponseVo
.
setTotalAmount
((
orderAmount
.
longValue
()-
svcPayAmount
.
longValue
()));
}
/**
BigDecimal svcPayAmount = BigDecimal.ZERO;
if (orderAmount >= amount1 + vamount) {
//throw new ServiceException(ResponseResult.USER_SVC_CARD_AMOUNT_DEFICIENCY);
svcPayAmount = new BigDecimal(amount1 + vamount).divide(new BigDecimal(100)).setScale(2, BigDecimal.ROUND_HALF_UP);
shoppingCartGoodsResponseVo.setTotalAmount(orderAmount - svcPayAmount.multiply(new BigDecimal(100)).longValue());
}
}
else {
BigDecimal
bigDecimal
=
new
BigDecimal
(
svcPayAmount
);
svcPayAmount = new BigDecimal(orderAmount - deliveryAmount).divide(new BigDecimal(100)).setScale(2, BigDecimal.ROUND_HALF_UP);
String
amountStr
=
bigDecimal
.
divide
(
new
BigDecimal
(
100
)).
setScale
(
2
,
BigDecimal
.
ROUND_HALF_UP
).
toString
();
shoppingCartGoodsResponseVo.setTotalAmount(deliveryAmount.longValue());
shoppingCartGoodsResponseVo
.
setSvcPayAmount
(
amountStr
);
}
shoppingCartGoodsResponseVo
.
setSvcDiscountDesc
(
"储值卡支付¥"
+
amountStr
);
*/
shoppingCartGoodsResponseVo
.
setSvcPayAmount
(
svcPayAmount
);
shoppingCartGoodsResponseVo
.
setSvcDiscountDesc
(
"储值卡支付¥"
+
svcPayAmount
);
//BigDecimal bigDecimal = new BigDecimal(orderAmount);
//String amountStr = bigDecimal.divide(new BigDecimal(100)).setScale(2, BigDecimal.ROUND_HALF_UP).toString();
//shoppingCartGoodsResponseVo.setTotalAmount(0L);
//shoppingCartGoodsResponseVo.setSvcDiscountDesc("储值卡支付¥" + amountStr);
}
}
/**
/**
...
...
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