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
4fe245a5
Commit
4fe245a5
authored
Aug 20, 2020
by
vega
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat:createOrder:新增银联礼品卡支付方式,暂存,等待支付给文档
parent
2bb63b8a
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
84 additions
and
14 deletions
+84
-14
order-application-service/src/main/java/cn/freemud/adapter/OrderAdapter.java
+15
-7
order-application-service/src/main/java/cn/freemud/entities/dto/order/CreatePrepayRequestDto.java
+2
-1
order-application-service/src/main/java/cn/freemud/entities/vo/CreateOrderVo.java
+16
-2
order-application-service/src/main/java/cn/freemud/service/impl/OrderServiceImpl.java
+51
-4
No files found.
order-application-service/src/main/java/cn/freemud/adapter/OrderAdapter.java
View file @
4fe245a5
...
@@ -490,7 +490,7 @@ public class OrderAdapter {
...
@@ -490,7 +490,7 @@ public class OrderAdapter {
createOrderDto
.
setLongitude
(
longitude
);
createOrderDto
.
setLongitude
(
longitude
);
createOrderDto
.
setOrderType
(
convent2OrderTypeEnum
(
orderType
));
createOrderDto
.
setOrderType
(
convent2OrderTypeEnum
(
orderType
));
createOrderDto
.
setPayType
(
QueryPayType
.
ONLINE_PAY
);
createOrderDto
.
setPayType
(
QueryPayType
.
ONLINE_PAY
);
if
(
Objects
.
nonNull
(
createOrderVo
.
getU
seUnionPayCard
())
&&
createOrderVo
.
getUseUnionPayCard
(
))
{
if
(
Objects
.
nonNull
(
createOrderVo
.
getU
nionPayCard
()
))
{
createOrderDto
.
setPayChannel
(
PayChannel
.
UPC
.
getCode
());
createOrderDto
.
setPayChannel
(
PayChannel
.
UPC
.
getCode
());
createOrderDto
.
setPayChannelName
(
PayChannel
.
UPC
.
getDesc
());
createOrderDto
.
setPayChannelName
(
PayChannel
.
UPC
.
getDesc
());
}
else
if
(
StringUtils
.
isNotBlank
(
createOrderVo
.
getCardCode
())){
}
else
if
(
StringUtils
.
isNotBlank
(
createOrderVo
.
getCardCode
())){
...
@@ -548,7 +548,7 @@ public class OrderAdapter {
...
@@ -548,7 +548,7 @@ public class OrderAdapter {
productOrderInfo
.
setBizType
(
1
);
productOrderInfo
.
setBizType
(
1
);
productOrderInfo
.
setOrderType
(
orderType
);
productOrderInfo
.
setOrderType
(
orderType
);
productOrderInfo
.
setPayType
(
QueryPayType
.
ONLINE_PAY
);
productOrderInfo
.
setPayType
(
QueryPayType
.
ONLINE_PAY
);
if
(
Objects
.
nonNull
(
createOrderVo
.
getU
seUnionPayCard
())
&&
createOrderVo
.
getUseUnionPayCard
(
))
{
if
(
Objects
.
nonNull
(
createOrderVo
.
getU
nionPayCard
()
))
{
productOrderInfo
.
setPayChannel
(
PayChannel
.
UPC
.
getCode
());
productOrderInfo
.
setPayChannel
(
PayChannel
.
UPC
.
getCode
());
productOrderInfo
.
setPayChannelName
(
PayChannel
.
UPC
.
getDesc
());
productOrderInfo
.
setPayChannelName
(
PayChannel
.
UPC
.
getDesc
());
}
else
if
(
StringUtils
.
isNotBlank
(
createOrderVo
.
getCardCode
())){
}
else
if
(
StringUtils
.
isNotBlank
(
createOrderVo
.
getCardCode
())){
...
@@ -681,7 +681,7 @@ public class OrderAdapter {
...
@@ -681,7 +681,7 @@ public class OrderAdapter {
memberOrderInfo
.
setOrderType
(
orderType
);
memberOrderInfo
.
setOrderType
(
orderType
);
memberOrderInfo
.
setIsParent
(
false
);
memberOrderInfo
.
setIsParent
(
false
);
memberOrderInfo
.
setOrderClient
(
OrderClientType
.
I_MEMBER
.
getIndex
());
memberOrderInfo
.
setOrderClient
(
OrderClientType
.
I_MEMBER
.
getIndex
());
if
(
Objects
.
nonNull
(
createOrderVo
.
getU
seUnionPayCard
())
&&
createOrderVo
.
getUseUnionPayCard
(
))
{
if
(
Objects
.
nonNull
(
createOrderVo
.
getU
nionPayCard
()
))
{
memberOrderInfo
.
setPayChannel
(
PayChannel
.
UPC
.
getCode
());
memberOrderInfo
.
setPayChannel
(
PayChannel
.
UPC
.
getCode
());
memberOrderInfo
.
setPayChannelName
(
PayChannel
.
UPC
.
getDesc
());
memberOrderInfo
.
setPayChannelName
(
PayChannel
.
UPC
.
getDesc
());
}
else
if
(
StringUtils
.
isNotBlank
(
createOrderVo
.
getCardCode
())){
}
else
if
(
StringUtils
.
isNotBlank
(
createOrderVo
.
getCardCode
())){
...
@@ -724,7 +724,7 @@ public class OrderAdapter {
...
@@ -724,7 +724,7 @@ public class OrderAdapter {
fatherOrderInfo
.
setIsParent
(
true
);
fatherOrderInfo
.
setIsParent
(
true
);
fatherOrderInfo
.
setOrderClient
(
OrderClientType
.
SAAS
.
getIndex
());
fatherOrderInfo
.
setOrderClient
(
OrderClientType
.
SAAS
.
getIndex
());
fatherOrderInfo
.
setOrderType
(
orderType
);
fatherOrderInfo
.
setOrderType
(
orderType
);
if
(
Objects
.
nonNull
(
createOrderVo
.
getU
seUnionPayCard
())
&&
createOrderVo
.
getUseUnionPayCard
(
))
{
if
(
Objects
.
nonNull
(
createOrderVo
.
getU
nionPayCard
()
))
{
fatherOrderInfo
.
setPayChannel
(
PayChannel
.
UPC
.
getCode
());
fatherOrderInfo
.
setPayChannel
(
PayChannel
.
UPC
.
getCode
());
fatherOrderInfo
.
setPayChannelName
(
PayChannel
.
UPC
.
getDesc
());
fatherOrderInfo
.
setPayChannelName
(
PayChannel
.
UPC
.
getDesc
());
}
else
if
(
StringUtils
.
isNotBlank
(
createOrderVo
.
getCardCode
())){
}
else
if
(
StringUtils
.
isNotBlank
(
createOrderVo
.
getCardCode
())){
...
@@ -2841,7 +2841,15 @@ public class OrderAdapter {
...
@@ -2841,7 +2841,15 @@ public class OrderAdapter {
public
CreatePrepayRequestDto
convertToCreatePrepayRequestDto
(
String
partnerId
,
String
wxAppId
,
String
openId
,
public
CreatePrepayRequestDto
convertToCreatePrepayRequestDto
(
String
partnerId
,
String
wxAppId
,
String
openId
,
String
faceCode
,
String
cardCode
,
String
payCode
,
QueryOrdersResponse
.
DataBean
.
OrderBean
fatherOrderBean
,
String
faceCode
,
String
cardCode
,
String
payCode
,
QueryOrdersResponse
.
DataBean
.
OrderBean
fatherOrderBean
,
QueryOrdersResponse
.
DataBean
.
OrderBean
productOrderBean
,
long
totalAmount
,
int
cardAmount
,
OrderExtInfoDto
orderExtInfoDTO
,
QueryOrdersResponse
.
DataBean
.
OrderBean
productOrderBean
,
long
totalAmount
,
int
cardAmount
,
OrderExtInfoDto
orderExtInfoDTO
,
String
transId
,
OrderClientType
orderClient
,
Boolean
useUnionPayCard
){
String
transId
,
OrderClientType
orderClient
){
return
convertToCreatePrepayRequestDto
(
partnerId
,
wxAppId
,
openId
,
faceCode
,
cardCode
,
payCode
,
fatherOrderBean
,
productOrderBean
,
totalAmount
,
cardAmount
,
orderExtInfoDTO
,
transId
,
orderClient
,
null
);
}
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
,
OrderClientType
orderClient
,
CreateOrderVo
.
UnionPayCard
unionPayCard
){
CreatePrepayRequestDto
requestDto
=
new
CreatePrepayRequestDto
();
CreatePrepayRequestDto
requestDto
=
new
CreatePrepayRequestDto
();
requestDto
.
setPartnerId
(
partnerId
);
requestDto
.
setPartnerId
(
partnerId
);
requestDto
.
setWxAppId
(
wxAppId
);
requestDto
.
setWxAppId
(
wxAppId
);
...
@@ -2856,7 +2864,7 @@ public class OrderAdapter {
...
@@ -2856,7 +2864,7 @@ public class OrderAdapter {
requestDto
.
setOrderExtInfoDTO
(
orderExtInfoDTO
);
requestDto
.
setOrderExtInfoDTO
(
orderExtInfoDTO
);
requestDto
.
setTransId
(
transId
);
requestDto
.
setTransId
(
transId
);
requestDto
.
setOrderClient
(
orderClient
);
requestDto
.
setOrderClient
(
orderClient
);
requestDto
.
setU
seUnionPayCard
(
useU
nionPayCard
);
requestDto
.
setU
nionPayCard
(
u
nionPayCard
);
return
requestDto
;
return
requestDto
;
}
}
...
@@ -2867,7 +2875,7 @@ public class OrderAdapter {
...
@@ -2867,7 +2875,7 @@ public class OrderAdapter {
createOrderOperateDto
.
getFatherOrderBean
(),
createOrderOperateDto
.
getProductOrderBean
(),
createOrderOperateDto
.
getFatherOrderBean
(),
createOrderOperateDto
.
getProductOrderBean
(),
createOrderOperateDto
.
getTotalAmount
()
==
null
?
0
:
createOrderOperateDto
.
getTotalAmount
(),
createOrderOperateDto
.
getTotalAmount
()
==
null
?
0
:
createOrderOperateDto
.
getTotalAmount
(),
createOrderOperateDto
.
getCardAmount
()
==
null
?
0
:
createOrderOperateDto
.
getCardAmount
(),
orderExtInfoDTO
,
createOrderOperateDto
.
getCardAmount
()
==
null
?
0
:
createOrderOperateDto
.
getCardAmount
(),
orderExtInfoDTO
,
createOrderOperateDto
.
getFatherOrderBean
().
getOid
(),
null
,
createOrderVo
.
getU
seU
nionPayCard
());
createOrderOperateDto
.
getFatherOrderBean
().
getOid
(),
null
,
createOrderVo
.
getUnionPayCard
());
}
}
/**
/**
...
...
order-application-service/src/main/java/cn/freemud/entities/dto/order/CreatePrepayRequestDto.java
View file @
4fe245a5
package
cn
.
freemud
.
entities
.
dto
.
order
;
package
cn
.
freemud
.
entities
.
dto
.
order
;
import
cn.freemud.entities.vo.CreateOrderVo
;
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.request.OrderExtInfoDto
;
import
com.freemud.application.sdk.api.ordercenter.request.OrderExtInfoDto
;
import
com.freemud.sdk.api.assortment.order.response.order.QueryOrdersResponse
;
import
com.freemud.sdk.api.assortment.order.response.order.QueryOrdersResponse
;
...
@@ -61,5 +62,5 @@ public class CreatePrepayRequestDto {
...
@@ -61,5 +62,5 @@ public class CreatePrepayRequestDto {
/**
/**
* 使用银联礼品卡
* 使用银联礼品卡
*/
*/
private
Boolean
useU
nionPayCard
;
private
CreateOrderVo
.
UnionPayCard
u
nionPayCard
;
}
}
order-application-service/src/main/java/cn/freemud/entities/vo/CreateOrderVo.java
View file @
4fe245a5
...
@@ -206,9 +206,23 @@ public class CreateOrderVo {
...
@@ -206,9 +206,23 @@ public class CreateOrderVo {
private
String
channelType
;
private
String
channelType
;
/**
/**
*
使用银联礼品卡 true 使用, null or false 不
使用
*
是否使用银联礼品卡,如果不为空则为
使用
*/
*/
private
Boolean
useUnionPayCard
;
@Valid
private
UnionPayCard
unionPayCard
;
/**
* 银联礼品卡
*/
@Data
public
static
class
UnionPayCard
{
@NotNull
(
message
=
"银联礼品卡手机号必传"
)
private
String
phoneNumber
;
@NotNull
(
message
=
"银联礼品卡密码必传"
)
private
String
password
;
}
/**
/**
* 微信配送地址信息
* 微信配送地址信息
...
...
order-application-service/src/main/java/cn/freemud/service/impl/OrderServiceImpl.java
View file @
4fe245a5
...
@@ -130,6 +130,7 @@ import org.apache.commons.collections4.CollectionUtils;
...
@@ -130,6 +130,7 @@ import org.apache.commons.collections4.CollectionUtils;
import
org.apache.commons.lang.ObjectUtils
;
import
org.apache.commons.lang.ObjectUtils
;
import
org.apache.commons.lang.StringUtils
;
import
org.apache.commons.lang.StringUtils
;
import
org.apache.commons.lang.builder.ToStringBuilder
;
import
org.apache.commons.lang.builder.ToStringBuilder
;
import
org.aspectj.weaver.ast.Or
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Qualifier
;
import
org.springframework.beans.factory.annotation.Qualifier
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.beans.factory.annotation.Value
;
...
@@ -138,6 +139,9 @@ import tk.mybatis.mapper.util.StringUtil;
...
@@ -138,6 +139,9 @@ import tk.mybatis.mapper.util.StringUtil;
import
java.math.BigDecimal
;
import
java.math.BigDecimal
;
import
java.text.SimpleDateFormat
;
import
java.text.SimpleDateFormat
;
import
java.time.Instant
;
import
java.time.LocalDateTime
;
import
java.time.format.DateTimeFormatter
;
import
java.util.*
;
import
java.util.*
;
import
java.util.concurrent.TimeUnit
;
import
java.util.concurrent.TimeUnit
;
import
java.util.function.Function
;
import
java.util.function.Function
;
...
@@ -1802,9 +1806,9 @@ public class OrderServiceImpl implements Orderservice {
...
@@ -1802,9 +1806,9 @@ public class OrderServiceImpl implements Orderservice {
String
transId
=
createPrepayRequestDto
.
getTransId
();
String
transId
=
createPrepayRequestDto
.
getTransId
();
if
(
totalAmount
<
0
)
{
if
(
totalAmount
<
0
)
{
throw
new
ServiceException
(
ResponseResult
.
PAY_AMOUNT_ERROR
);
throw
new
ServiceException
(
ResponseResult
.
PAY_AMOUNT_ERROR
);
}
else
if
(
totalAmount
>
0
&&
Objects
.
nonNull
(
createPrepayRequestDto
.
getU
seUnionPayCard
())
&&
createPrepayRequestDto
.
getUseUnionPayCard
(
))
{
}
else
if
(
totalAmount
>
0
&&
Objects
.
nonNull
(
createPrepayRequestDto
.
getU
nionPayCard
()
))
{
// 银联礼品卡支付
// 银联礼品卡支付
orderPayResponse
=
upcPay
(
createPrepayRequestDto
.
getFatherOrderBean
(),
paymentRequest
,
transId
,
LogThreadLocal
.
getTrackingNo
());
orderPayResponse
=
upcPay
(
createPrepayRequestDto
.
getFatherOrderBean
(),
paymentRequest
,
transId
,
LogThreadLocal
.
getTrackingNo
()
,
createPrepayRequestDto
.
getUnionPayCard
()
);
}
else
if
(
totalAmount
>
0
&&
StringUtils
.
isBlank
(
cardCode
))
{
}
else
if
(
totalAmount
>
0
&&
StringUtils
.
isBlank
(
cardCode
))
{
orderPayResponse
=
getPreOrderPay
(
createPrepayRequestDto
.
getFatherOrderBean
(),
paymentRequest
,
LogThreadLocal
.
getTrackingNo
(),
createPrepayRequestDto
.
getCardAmount
(),
transId
);
orderPayResponse
=
getPreOrderPay
(
createPrepayRequestDto
.
getFatherOrderBean
(),
paymentRequest
,
LogThreadLocal
.
getTrackingNo
(),
createPrepayRequestDto
.
getCardAmount
(),
transId
);
}
else
if
(
totalAmount
>
0
&&
StringUtils
.
isNotBlank
(
cardCode
))
{
}
else
if
(
totalAmount
>
0
&&
StringUtils
.
isNotBlank
(
cardCode
))
{
...
@@ -1847,8 +1851,47 @@ public class OrderServiceImpl implements Orderservice {
...
@@ -1847,8 +1851,47 @@ public class OrderServiceImpl implements Orderservice {
}
}
}
}
private
OrderPayResponse
upcPay
(
QueryOrdersResponse
.
DataBean
.
OrderBean
orderBean
,
PaymentRequest
paymentRequest
,
String
transId
,
String
trackingNo
)
{
/**
return
null
;
* unionPay card pay
* @param orderBean
* @param paymentRequest
* @param transId
* @param trackingNo
* @param unionPayCard
* @return
*/
private
OrderPayResponse
upcPay
(
QueryOrdersResponse
.
DataBean
.
OrderBean
orderBean
,
PaymentRequest
paymentRequest
,
String
transId
,
String
trackingNo
,
CreateOrderVo
.
UnionPayCard
unionPayCard
)
{
OrderPayResponse
orderPayResponse
=
new
OrderPayResponse
();
if
(
Objects
.
isNull
(
unionPayCard
)
||
StringUtils
.
isBlank
(
unionPayCard
.
getPhoneNumber
())
||
StringUtils
.
isBlank
(
unionPayCard
.
getPassword
()))
{
orderPayResponse
.
setMsg
(
"银联礼品卡信息缺失"
);
return
orderPayResponse
;
}
CodePayRequest
request
=
new
CodePayRequest
();
String
partnerId
=
orderBean
.
getCompanyId
();
request
.
setBody
(
orderBean
.
getShopName
());
request
.
setBusinessDate
(
DateTimeFormatter
.
ofPattern
(
DateUtil
.
FORMAT_YYYY_MM_DD_HHMMSS
).
format
(
LocalDateTime
.
now
()));
// request.setCode(unionPayCard.getPhoneNumber());
request
.
setCode
(
paymentRequest
.
getOpenId
());
request
.
setPartnerId
(
partnerId
);
request
.
setStoreId
(
orderBean
.
getShopId
());
request
.
setAmount
(
orderBean
.
getAmount
());
request
.
setTransId
(
transId
);
request
.
setStationId
(
"2"
);
request
.
setOperatorId
(
"2"
);
request
.
setVer
(
"2"
);
com
.
freemud
.
application
.
sdk
.
api
.
base
.
BaseResponse
<
CodePayResponse
>
responseBase
=
paymentNewService
.
codePay
(
request
,
trackingNo
);
if
(
responseBase
==
null
||
!
ResponseCodeConstant
.
RESPONSE_SUCCESS_STR
.
equals
(
responseBase
.
getCode
())
||
responseBase
.
getData
().
getData
()
==
null
)
{
orderPayResponse
.
setMsg
(
Objects
.
isNull
(
responseBase
)
?
"银联礼品卡支付异常"
:
responseBase
.
getMessage
());
}
else
{
CodePayResponse
.
CodePayDate
codePayResponse
=
responseBase
.
getData
().
getData
();
orderPayResponse
.
setFmId
(
codePayResponse
.
getFmId
());
orderPayResponse
.
setPayTransId
(
codePayResponse
.
getPayTransId
());
orderPayResponse
.
setWxAppid
(
paymentRequest
.
getWxAppId
());
orderPayResponse
.
setOpenId
(
paymentRequest
.
getOpenId
());
orderPayResponse
.
setPartnerId
(
orderBean
.
getCompanyId
());
orderPayResponse
.
setOrderId
(
orderBean
.
getOid
());
}
return
orderPayResponse
;
}
}
/**
/**
...
@@ -2367,6 +2410,10 @@ public class OrderServiceImpl implements Orderservice {
...
@@ -2367,6 +2410,10 @@ public class OrderServiceImpl implements Orderservice {
if
(
totalAmount
<
0
)
{
if
(
totalAmount
<
0
)
{
throw
new
ServiceException
(
ResponseResult
.
PAY_AMOUNT_ERROR
);
throw
new
ServiceException
(
ResponseResult
.
PAY_AMOUNT_ERROR
);
}
}
//银联礼品卡支付
if
(
totalAmount
>
0
&&
Objects
.
nonNull
(
createOrderVo
.
getUnionPayCard
()))
{
return
upcPay
(
fatherBeanListOne
,
paymentRequest
,
fatherBeanListOne
.
getOid
(),
LogThreadLocal
.
getTrackingNo
(),
createOrderVo
.
getUnionPayCard
());
}
//唤起微信支付
//唤起微信支付
if
(
totalAmount
>
0
&&
StringUtils
.
isBlank
(
createOrderVo
.
getCardCode
())
&&
StringUtils
.
isBlank
(
createOrderVo
.
getFaceCode
()))
{
if
(
totalAmount
>
0
&&
StringUtils
.
isBlank
(
createOrderVo
.
getCardCode
())
&&
StringUtils
.
isBlank
(
createOrderVo
.
getFaceCode
()))
{
orderPayResponse
=
getPreOrderPay
(
fatherBeanListOne
,
paymentRequest
,
LogThreadLocal
.
getTrackingNo
(),
cardAmount
,
fatherBeanListOne
.
getOid
());
orderPayResponse
=
getPreOrderPay
(
fatherBeanListOne
,
paymentRequest
,
LogThreadLocal
.
getTrackingNo
(),
cardAmount
,
fatherBeanListOne
.
getOid
());
...
...
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