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
jenkins
order-group
Commits
09d25a80
Commit
09d25a80
authored
Dec 25, 2019
by
ping.wu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
扫脸支付下单
parent
2720a26f
Show whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
378 additions
and
0 deletions
+378
-0
order-application-service/src/main/java/cn/freemud/controller/OrderController.java
+9
-0
order-application-service/src/main/java/cn/freemud/entities/dto/order/CreateOrderOperateDto.java
+30
-0
order-application-service/src/main/java/cn/freemud/entities/dto/order/FacePayRequestDto.java
+37
-0
order-application-service/src/main/java/cn/freemud/entities/dto/order/FacePayResponseDto.java
+30
-0
order-application-service/src/main/java/cn/freemud/entities/vo/CreateOrderVo.java
+5
-0
order-application-service/src/main/java/cn/freemud/service/Orderservice.java
+2
-0
order-application-service/src/main/java/cn/freemud/service/impl/OrderServiceImpl.java
+233
-0
order-application-service/src/main/java/cn/freemud/service/thirdparty/PaymentNewClient.java
+32
-0
No files found.
order-application-service/src/main/java/cn/freemud/controller/OrderController.java
View file @
09d25a80
...
@@ -71,6 +71,15 @@ public class OrderController {
...
@@ -71,6 +71,15 @@ public class OrderController {
}
}
/**
/**
* 扫脸支付下单
*/
@ApiAnnotation
(
logMessage
=
"scanFaceCreateOrder"
)
@PostMapping
(
"/scanFaceCreateOrder"
)
public
BaseResponse
scanFaceCreateOrder
(
@Validated
@LogParams
@RequestBody
CreateOrderVo
createOrderVo
)
{
return
orderservice
.
scanFaceCreateOrder
(
createOrderVo
);
}
/**
* 订单支付成功后通知
* 订单支付成功后通知
*/
*/
@ApiAnnotation
(
logMessage
=
"paySuccessCallback"
)
@ApiAnnotation
(
logMessage
=
"paySuccessCallback"
)
...
...
order-application-service/src/main/java/cn/freemud/entities/dto/order/CreateOrderOperateDto.java
0 → 100644
View file @
09d25a80
package
cn
.
freemud
.
entities
.
dto
.
order
;
import
com.freemud.sdk.api.assortment.order.response.order.QueryOrdersResponse
;
import
lombok.Data
;
/**
* All rights Reserved, Designed By www.freemud.cn
*
* @version V1.0
* @Title: CreateOrderOperateDto
* @Package cn.freemud.entities.dto.order
* @Description:
* @author: ping1.wu
* @date: 2019/12/25 18:00
* @Copyright: 2019 www.freemud.cn Inc. All rights reserved.
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
*/
@Data
public
class
CreateOrderOperateDto
{
//支付总金额(父子订单时包括购买会员卡订单金额)
private
Long
totalAmount
;
//会员卡支付金额
private
Integer
cardAmount
;
//父子订单父订单
private
QueryOrdersResponse
.
DataBean
.
OrderBean
fatherOrderBean
;
//父子订单商品订单
private
QueryOrdersResponse
.
DataBean
.
OrderBean
productOrderBean
;
}
order-application-service/src/main/java/cn/freemud/entities/dto/order/FacePayRequestDto.java
0 → 100644
View file @
09d25a80
package
cn
.
freemud
.
entities
.
dto
.
order
;
import
lombok.Data
;
/**
* All rights Reserved, Designed By www.freemud.cn
*
* @version V1.0
* @Title: FacePayRequestDto
* @Package cn.freemud.entities.dto.order
* @Description:
* @author: ping1.wu
* @date: 2019/12/25 19:28
* @Copyright: 2019 www.freemud.cn Inc. All rights reserved.
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
*/
@Data
public
class
FacePayRequestDto
{
private
String
ver
;
private
String
body
;
private
String
cardCode
;
private
String
divideDetail
;
private
String
partnerId
;
private
String
storeId
;
private
String
frontTransId
;
private
String
stationId
;
private
String
operatorId
;
private
String
transId
;
private
String
businessDate
;
private
Long
amount
;
private
Long
clientCode
;
private
String
code
;
private
Long
undisAmount
;
// private List<CodePayRequest.PayProduct> products;
}
order-application-service/src/main/java/cn/freemud/entities/dto/order/FacePayResponseDto.java
0 → 100644
View file @
09d25a80
package
cn
.
freemud
.
entities
.
dto
.
order
;
import
lombok.Data
;
/**
* All rights Reserved, Designed By www.freemud.cn
*
* @version V1.0
* @Title: FacePayResponseDto
* @Package cn.freemud.entities.dto.order
* @Description:
* @author: ping1.wu
* @date: 2019/12/25 19:23
* @Copyright: 2019 www.freemud.cn Inc. All rights reserved.
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
*/
@Data
public
class
FacePayResponseDto
{
private
Integer
resultCode
;
private
String
resultMsg
;
private
String
fmId
;
private
String
payTransId
;
private
String
payCode
;
private
String
userId
;
private
String
originalChannel
;
private
Integer
merchantCoupon
;
private
Integer
platformCoupon
;
}
order-application-service/src/main/java/cn/freemud/entities/vo/CreateOrderVo.java
View file @
09d25a80
...
@@ -170,6 +170,11 @@ public class CreateOrderVo {
...
@@ -170,6 +170,11 @@ public class CreateOrderVo {
*/
*/
private
String
cardCode
;
private
String
cardCode
;
/**
* 扫脸支付使用
*/
private
String
faceCode
;
@Data
@Data
public
static
class
PremiumExchangeActivity
{
public
static
class
PremiumExchangeActivity
{
@NotNull
(
message
=
"activityCode 不能为空"
)
@NotNull
(
message
=
"activityCode 不能为空"
)
...
...
order-application-service/src/main/java/cn/freemud/service/Orderservice.java
View file @
09d25a80
...
@@ -22,6 +22,8 @@ public interface Orderservice {
...
@@ -22,6 +22,8 @@ public interface Orderservice {
*/
*/
BaseResponse
createOrderNew
(
CreateOrderVo
createOrderVo
);
BaseResponse
createOrderNew
(
CreateOrderVo
createOrderVo
);
BaseResponse
scanFaceCreateOrder
(
CreateOrderVo
createOrderVo
);
/**
/**
* 支付成功后回调通知
* 支付成功后回调通知
*/
*/
...
...
order-application-service/src/main/java/cn/freemud/service/impl/OrderServiceImpl.java
View file @
09d25a80
...
@@ -28,6 +28,9 @@ import cn.freemud.entities.dto.PayAccessResponse;
...
@@ -28,6 +28,9 @@ import cn.freemud.entities.dto.PayAccessResponse;
import
cn.freemud.entities.dto.QueryOrdersResponseDto.DataBean.OrderBean
;
import
cn.freemud.entities.dto.QueryOrdersResponseDto.DataBean.OrderBean
;
import
cn.freemud.entities.dto.activity.PayGiftCheckAndJoinResponseDto
;
import
cn.freemud.entities.dto.activity.PayGiftCheckAndJoinResponseDto
;
import
cn.freemud.entities.dto.activity.PayGitCheckAndJoinRequestDto
;
import
cn.freemud.entities.dto.activity.PayGitCheckAndJoinRequestDto
;
import
cn.freemud.entities.dto.order.CreateOrderOperateDto
;
import
cn.freemud.entities.dto.order.FacePayRequestDto
;
import
cn.freemud.entities.dto.order.FacePayResponseDto
;
import
cn.freemud.entities.dto.product.AttributeValue
;
import
cn.freemud.entities.dto.product.AttributeValue
;
import
cn.freemud.entities.dto.product.ProductAttributeGroup
;
import
cn.freemud.entities.dto.product.ProductAttributeGroup
;
import
cn.freemud.entities.dto.shoppingCart.NewShoppingCartClearDto
;
import
cn.freemud.entities.dto.shoppingCart.NewShoppingCartClearDto
;
...
@@ -195,6 +198,8 @@ public class OrderServiceImpl implements Orderservice {
...
@@ -195,6 +198,8 @@ public class OrderServiceImpl implements Orderservice {
private
PaymentNewService
paymentNewService
;
private
PaymentNewService
paymentNewService
;
@Autowired
@Autowired
private
ActivityApplicationClient
activityApplicationClient
;
private
ActivityApplicationClient
activityApplicationClient
;
@Autowired
private
PaymentNewClient
paymentNewClient
;
...
@@ -263,6 +268,27 @@ public class OrderServiceImpl implements Orderservice {
...
@@ -263,6 +268,27 @@ public class OrderServiceImpl implements Orderservice {
}
}
/**
/**
* 扫脸支付下单
*/
@Override
public
BaseResponse
scanFaceCreateOrder
(
CreateOrderVo
createOrderVo
)
{
String
trackingNo
=
LogThreadLocal
.
getTrackingNo
();
// 查询用户信息、校验svc卡,余额购物车校验
UserLoginInfoDto
userLoginInfoDto
=
checkOrder
.
checkOrderByMember
(
createOrderVo
,
trackingNo
);
// 查询门店信息 营业时间、营业状态,服务器当前时间在营业时间内 点餐桌号
StoreResponse
.
BizVO
storeResponseDto
=
checkOrder
.
checkOrderByStore
(
createOrderVo
,
trackingNo
);
// 查询购物车(内部校验券点餐方式,券是否可用) 校验当前订单类型的下单参数
ShoppingCartGoodsDto
shoppingCartGoodsDto
=
checkOrder
.
getShoppingCartGoodsDto
(
createOrderVo
);
// 查询小程序自提外卖配置信息 校验当前订单类型的下单参数 校验外卖是否满足起送条件
Integer
pushOrderTime
=
checkOrder
.
checkOrderByOrderType
(
createOrderVo
,
userLoginInfoDto
,
storeResponseDto
,
shoppingCartGoodsDto
.
getTotalAmount
(),
trackingNo
);
//1.5.4版本,商品库存校验与扣库存
//List<String> stockProductIds = checkOrder.getStockProductIdList(createOrderVo, shoppingCartGoodsDto);
OrderExtInfoDTO
extInfo
=
getExtInfo
(
userLoginInfoDto
,
storeResponseDto
,
pushOrderTime
,
createOrderVo
);
//下单并支付
return
this
.
createOrderAndPay
(
createOrderVo
,
storeResponseDto
,
shoppingCartGoodsDto
,
userLoginInfoDto
,
extInfo
);
}
/**
* 获取预支付成功,将信息放入死心队列,当支付成功没有回掉的时候处理
* 获取预支付成功,将信息放入死心队列,当支付成功没有回掉的时候处理
*
*
* @param partnerId
* @param partnerId
...
@@ -2058,4 +2084,211 @@ public class OrderServiceImpl implements Orderservice {
...
@@ -2058,4 +2084,211 @@ public class OrderServiceImpl implements Orderservice {
}
}
}
}
/**
* 下单支付
*/
private
BaseResponse
createOrderAndPay
(
CreateOrderVo
createOrderVo
,
StoreResponse
.
BizVO
storeResponseDto
,
ShoppingCartGoodsDto
shoppingCartGoodsDto
,
UserLoginInfoDto
userLoginInfoDto
,
OrderExtInfoDTO
orderExtInfoDTO
)
{
//创建订单--包括下单购买会员卡创建父子订单
CreateOrderOperateDto
operateDto
=
createOrder
(
createOrderVo
,
storeResponseDto
,
shoppingCartGoodsDto
);
long
totalAmount
=
operateDto
.
getTotalAmount
();
int
cardAmount
=
operateDto
.
getCardAmount
();
QueryOrdersResponse
.
DataBean
.
OrderBean
fatherOrderBean
=
operateDto
.
getFatherOrderBean
();
QueryOrdersResponse
.
DataBean
.
OrderBean
productOrderBean
=
operateDto
.
getProductOrderBean
();
//支付-- 包含商品券无需支付、唤起微信支付、储值卡支付直接支付、扫脸支付
OrderPayResponse
orderPayResponse
=
pay
(
userLoginInfoDto
,
createOrderVo
,
totalAmount
,
cardAmount
,
fatherOrderBean
);
if
(
orderPayResponse
==
null
)
{
if
(
createOrderVo
.
getFaceCode
()
!=
null
){
createOrderVo
.
setCardCode
(
createOrderVo
.
getFaceCode
());
}
return
failPreOrderPay
(
LogThreadLocal
.
getTrackingNo
(),
productOrderBean
,
createOrderVo
.
getCardCode
());
}
//更新订单extinfo信息
BaseResponse
baseEditResponse
=
this
.
updateOrderInfo
(
orderPayResponse
,
orderExtInfoDTO
,
productOrderBean
,
LogThreadLocal
.
getTrackingNo
());
if
(
baseEditResponse
!=
null
)
{
return
baseEditResponse
;
}
CreateOrderResponseVo
createOrderResponse
=
orderAdapter
.
convent2CreateFatherSonOrderResponseVo
(
orderPayResponse
,
productOrderBean
);
// 推荐优惠插件用户下单数据上报
wechatPushProcessor
.
statusOrderCreate
(
userLoginInfoDto
,
createOrderResponse
.
getOid
(),
createOrderVo
.
getPartnerId
());
//设置是否唤起微信支付
if
(
totalAmount
>
0
&&
StringUtils
.
isBlank
(
createOrderVo
.
getCardCode
())
&&
StringUtils
.
isBlank
(
createOrderVo
.
getFaceCode
()))
{
createOrderResponse
.
setPaySuccess
(
false
);
}
else
{
createOrderResponse
.
setPaySuccess
(
true
);
}
if
(!
createOrderResponse
.
getPaySuccess
())
{
return
ResponseUtil
.
success
(
createOrderResponse
);
}
else
{
//如果是商品券支付0元,调用回调接口
PaysuccessNoticeMessage
message
=
new
PaysuccessNoticeMessage
();
message
.
setResult_code
(
100
);
message
.
setOut_trade_no
(
createOrderResponse
.
getFmId
());
message
.
setTrans_id
(
createOrderResponse
.
getOid
());
message
.
setTotal_fee
(
0
);
message
.
setOpenid
(
userLoginInfoDto
.
getOpenId
());
message
.
setPlatform_coupon
(
0
);
message
.
setMerchant_coupon
(
0
);
//0元订单内部调支付成功
this
.
paySuccessCallback
(
message
);
return
ResponseUtil
.
success
(
createOrderResponse
);
}
}
/**
* 创建订单
*/
private
CreateOrderOperateDto
createOrder
(
CreateOrderVo
createOrderVo
,
StoreResponse
.
BizVO
storeResponseDto
,
ShoppingCartGoodsDto
shoppingCartGoodsDto
){
CreateOrderOperateDto
response
=
new
CreateOrderOperateDto
();
OrderExtendedReq
orderExtendedReq
=
orderAdapter
.
saveStoreInfo
(
storeResponseDto
);
String
orderWarnTime
=
storeResponseDto
.
getOrderWarnTime
();
//创建普通订单
Function
<
Object
,
CreateOrderResponse
>
createOrder
=
(
var
->
{
BaseCreateOrderRequest
baseCreateOrderRequest
=
orderAdapter
.
convent2CreateOrderDto
(
createOrderVo
,
shoppingCartGoodsDto
,
orderWarnTime
);
//查询第三方商品编号
baseCreateOrderRequest
=
getProductCustomerCode
(
baseCreateOrderRequest
);
//保存门店渠道信息
baseCreateOrderRequest
.
setOrderExtended
(
orderExtendedReq
);
CreateOrderRequest
createOrderRequest
=
new
CreateOrderRequest
();
baseCreateOrderRequest
.
setTrackingNo
(
LogThreadLocal
.
getTrackingNo
());
createOrderRequest
.
setBaseCreateOrderRequest
(
baseCreateOrderRequest
);
MqMessageRequest
mqMessageRequest
=
new
MqMessageRequest
();
mqMessageRequest
.
setBackOrdersNotifyActivityExchange
(
backOrdersNotifyActivityExchange
);
mqMessageRequest
.
setBackOrdersNotifyActivityQueue
(
backOrdersChangeOrderStatusConsumerQueue
);
createOrderRequest
.
setMqMessageRequest
(
mqMessageRequest
);
createOrderRequest
.
setTrackingNo
(
LogThreadLocal
.
getTrackingNo
());
return
orderCenterSdkService
.
createOrderFlow
(
createOrderRequest
);
});
//创建父子订单
Function
<
Object
,
CreateFatherSonOrderResponse
>
createFatherSonOrder
=
(
var
->
{
CreateFatherSonOrderRequest
createFatherSonOrderRequest
=
orderAdapter
.
convertFatherSonOrderRequest
(
createOrderVo
,
shoppingCartGoodsDto
,
orderExtendedReq
,
orderWarnTime
);
//查询第三方商品编号
createFatherSonOrderRequest
=
getProductCustomerCodeNew
(
createFatherSonOrderRequest
);
MqMessageRequest
mqMessageRequest
=
new
MqMessageRequest
();
mqMessageRequest
.
setBackOrdersNotifyActivityExchange
(
backOrdersNotifyActivityExchange
);
mqMessageRequest
.
setBackOrdersNotifyActivityQueue
(
backOrdersChangeOrderStatusConsumerQueue
);
createFatherSonOrderRequest
.
setMqMessageRequest
(
mqMessageRequest
);
return
orderCenterSdkService
.
createFatherSonOrder
(
createFatherSonOrderRequest
);
});
long
totalAmount
=
0
;
int
cardAmount
=
0
;
QueryOrdersResponse
.
DataBean
.
OrderBean
orderBean
=
new
QueryOrdersResponse
.
DataBean
.
OrderBean
();
QueryOrdersResponse
.
DataBean
.
OrderBean
fatherBeanListOne
=
new
QueryOrdersResponse
.
DataBean
.
OrderBean
();
QueryOrdersResponse
.
DataBean
.
OrderBean
productBeanListOne
=
new
QueryOrdersResponse
.
DataBean
.
OrderBean
();
if
(
createOrderVo
.
getBuyMemberCard
()
!=
null
&&
StringUtils
.
isNotEmpty
(
createOrderVo
.
getBuyMemberCard
().
getRuleId
())
&&
StringUtils
.
isNotEmpty
(
createOrderVo
.
getBuyMemberCard
().
getPaidId
()))
{
//父子订单
int
cardOriginalAmount
=
shoppingCartGoodsDto
.
getCardOriginalAmount
()
==
null
?
0
:
shoppingCartGoodsDto
.
getCardOriginalAmount
();
int
cardDiscountAmount
=
shoppingCartGoodsDto
.
getCardDiscountAmount
()
==
null
?
0
:
shoppingCartGoodsDto
.
getCardDiscountAmount
();
cardAmount
=
cardOriginalAmount
-
cardDiscountAmount
;
//创建父子订单
CreateFatherSonOrderResponse
createFatherSonOrderResponse
=
createFatherSonOrder
.
apply
(
null
);
if
(
ObjectUtils
.
notEqual
(
Integer
.
valueOf
(
ResponseResult
.
SUCCESS
.
getCode
()),
createFatherSonOrderResponse
.
getErrcode
()))
{
throw
new
ServiceException
(
ResponseResult
.
ORDER_CREATE_ERROR
);
}
List
<
QueryOrdersResponse
.
DataBean
.
OrderBean
>
orderBeanList
=
createFatherSonOrderResponse
.
getOrderBeanList
();
List
<
QueryOrdersResponse
.
DataBean
.
OrderBean
>
fatherBeanList
=
orderBeanList
.
stream
().
filter
(
orderBeanTemp
->
orderBeanTemp
.
getIsParent
()).
collect
(
Collectors
.
toList
());
List
<
QueryOrdersResponse
.
DataBean
.
OrderBean
>
productBeanList
=
orderBeanList
.
stream
().
filter
(
orderBeanTemp
->
1
==
orderBeanTemp
.
getBizType
()).
collect
(
Collectors
.
toList
());
if
(
CollectionUtils
.
isNotEmpty
(
fatherBeanList
))
fatherBeanListOne
=
fatherBeanList
.
get
(
0
);
if
(
CollectionUtils
.
isNotEmpty
(
productBeanList
))
productBeanListOne
=
productBeanList
.
get
(
0
);
//订单总金额 商品+会员卡
totalAmount
=
orderBeanList
.
stream
().
mapToLong
(
QueryOrdersResponse
.
DataBean
.
OrderBean
::
getAmount
).
count
();
}
else
{
//创建普通订单
CreateOrderResponse
createOrderFlowResponse
=
createOrder
.
apply
(
null
);
if
(
ObjectUtils
.
notEqual
(
Integer
.
valueOf
(
ResponseResult
.
SUCCESS
.
getCode
()),
createOrderFlowResponse
.
getErrcode
()))
{
throw
new
ServiceException
(
ResponseResult
.
ORDER_CREATE_ERROR
);
}
fatherBeanListOne
=
createOrderFlowResponse
.
getData
();
productBeanListOne
=
createOrderFlowResponse
.
getData
();
totalAmount
=
orderBean
.
getAmount
();
}
response
.
setTotalAmount
(
totalAmount
);
response
.
setCardAmount
(
cardAmount
);
response
.
setFatherOrderBean
(
fatherBeanListOne
);
response
.
setProductOrderBean
(
productBeanListOne
);
return
response
;
}
/**
* 支付
* 包含唤起微信支付、储值卡支付直接支付、扫脸支付、商品券无需支付
*/
private
OrderPayResponse
pay
(
UserLoginInfoDto
userLoginInfoDto
,
CreateOrderVo
createOrderVo
,
long
totalAmount
,
int
cardAmount
,
QueryOrdersResponse
.
DataBean
.
OrderBean
fatherBeanListOne
){
//<!---创建订单公共方法执行逻辑--->
OrderPayResponse
orderPayResponse
=
null
;
PaymentRequest
paymentRequest
=
orderBodyConvertToPaymentBody
(
userLoginInfoDto
,
createOrderVo
.
getPartnerId
());
//支付金额异常
if
(
totalAmount
<
0
)
{
throw
new
ServiceException
(
ResponseResult
.
PAY_AMOUNT_ERROR
);
}
//唤起微信支付
if
(
totalAmount
>
0
&&
StringUtils
.
isBlank
(
createOrderVo
.
getCardCode
())
&&
StringUtils
.
isNotBlank
(
createOrderVo
.
getFaceCode
()))
{
orderPayResponse
=
getPreOrderPay
(
fatherBeanListOne
,
paymentRequest
,
LogThreadLocal
.
getTrackingNo
(),
cardAmount
);
return
orderPayResponse
;
}
//储值卡支付
if
(
totalAmount
>
0
&&
StringUtils
.
isNotBlank
(
createOrderVo
.
getCardCode
()))
{
//svc卡支付
orderPayResponse
=
svcPay
(
createOrderVo
.
getCardCode
(),
fatherBeanListOne
,
paymentRequest
,
LogThreadLocal
.
getTrackingNo
());
return
orderPayResponse
;
}
//扫脸支付
if
(
totalAmount
>
0
&&
StringUtils
.
isNotBlank
(
createOrderVo
.
getFaceCode
()))
{
//svc卡支付
orderPayResponse
=
facePay
(
createOrderVo
.
getFaceCode
(),
fatherBeanListOne
,
paymentRequest
,
LogThreadLocal
.
getTrackingNo
());
return
orderPayResponse
;
}
//0元订单,商品券订单等等
if
(
totalAmount
==
0
){
// 0元订单如果不需要支付,自定义支付单号
String
fmId
=
"SPAY"
+
ValidationCode
.
getRandomUuid
();
orderPayResponse
=
orderAdapter
.
getOrderPayResponse
(
fatherBeanListOne
.
getCompanyId
(),
paymentRequest
,
fatherBeanListOne
.
getOid
(),
fmId
);
return
orderPayResponse
;
}
return
orderPayResponse
;
}
/**
* 扫脸支付
*/
public
OrderPayResponse
facePay
(
String
cardCode
,
QueryOrdersResponse
.
DataBean
.
OrderBean
orderBean
,
PaymentRequest
paymentRequest
,
String
trackingNo
)
{
// CodePayRequest request = new CodePayRequest();
FacePayRequestDto
request
=
new
FacePayRequestDto
();
String
partnerId
=
orderBean
.
getCompanyId
();
request
.
setBody
(
orderBean
.
getShopName
());
request
.
setBusinessDate
(
DateUtil
.
convert2String
(
new
Date
(),
DateUtil
.
FORMAT_YYYY_MM_DD_HHMMSS
));
request
.
setCode
(
cardCode
);
request
.
setPartnerId
(
partnerId
);
request
.
setStoreId
(
orderBean
.
getShopId
());
request
.
setAmount
(
orderBean
.
getAmount
());
request
.
setTransId
(
orderBean
.
getOid
());
request
.
setStationId
(
"1"
);
request
.
setOperatorId
(
"1"
);
request
.
setVer
(
"2"
);
//支付服务扫脸付接口
LogUtil
.
info
(
"facePay_request"
,
JSONObject
.
toJSON
(
request
),
null
);
com
.
freemud
.
application
.
sdk
.
api
.
base
.
BaseResponse
<
FacePayResponseDto
>
responseDto
=
null
;
try
{
responseDto
=
paymentNewClient
.
facePay
(
request
);
LogUtil
.
info
(
"facePay_response"
,
null
,
JSONObject
.
toJSON
(
responseDto
));
}
catch
(
Exception
e
){
LogUtil
.
error
(
"facePay_error"
,
null
,
null
,
e
);
}
if
(
responseDto
==
null
||
!
ResponseCodeConstant
.
RESPONSE_SUCCESS_STR
.
equals
(
responseDto
.
getCode
())
||
responseDto
.
getData
()
==
null
)
{
return
null
;
}
FacePayResponseDto
response
=
responseDto
.
getData
();
OrderPayResponse
orderPayResponse
=
new
OrderPayResponse
();
orderPayResponse
.
setFmId
(
response
.
getFmId
());
orderPayResponse
.
setPayTransId
(
response
.
getPayTransId
());
orderPayResponse
.
setWxAppid
(
paymentRequest
.
getWxAppId
());
orderPayResponse
.
setOpenId
(
paymentRequest
.
getOpenId
());
orderPayResponse
.
setPartnerId
(
orderBean
.
getCompanyId
());
orderPayResponse
.
setOrderId
(
orderBean
.
getOid
());
return
orderPayResponse
;
}
}
}
order-application-service/src/main/java/cn/freemud/service/thirdparty/PaymentNewClient.java
0 → 100644
View file @
09d25a80
package
cn
.
freemud
.
service
.
thirdparty
;
import
cn.freemud.entities.dto.order.FacePayRequestDto
;
import
cn.freemud.entities.dto.order.FacePayResponseDto
;
import
org.springframework.cloud.netflix.feign.FeignClient
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
/**
* All rights Reserved, Designed By www.freemud.cn
*
* @version V1.0
* @Title: PaymentNewClient
* @Package cn.freemud.service.thirdparty
* @Description:
* @author: ping1.wu
* @date: 2019/12/25 19:09
* @Copyright: 2019 www.freemud.cn Inc. All rights reserved.
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
*/
@FeignClient
(
name
=
"payment-service-new"
,
url
=
"${payment.new.baseUrl}"
)
@RequestMapping
(
produces
=
{
"application/json;charset=UTF-8"
})
public
interface
PaymentNewClient
{
/**
* 扫脸支付
*/
@PostMapping
(
"/paymentcenter/face"
)
com
.
freemud
.
application
.
sdk
.
api
.
base
.
BaseResponse
<
FacePayResponseDto
>
facePay
(
@RequestBody
FacePayRequestDto
orderPayDto
);
}
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