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
cc28149a
Commit
cc28149a
authored
Apr 13, 2022
by
胡敬轩
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
多储值卡支付 创建预支付改成支付新接口 整个流程增加多卡字段cardCodes
parent
8080ae02
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
278 additions
and
1 deletions
+278
-1
assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/request/payment/MultiPayRequest.java
+83
-0
order-application-service/src/main/java/cn/freemud/adapter/OrderAdapter.java
+61
-0
order-application-service/src/main/java/cn/freemud/entities/dto/order/CreatePrepayRequestDto.java
+9
-1
order-application-service/src/main/java/cn/freemud/entities/dto/pay/MultiPayResponse.java
+106
-0
order-application-service/src/main/java/cn/freemud/service/impl/PayServiceImpl.java
+0
-0
order-application-service/src/main/java/cn/freemud/service/thirdparty/ComPayClient.java
+9
-0
ordercenter-sdk/src/main/java/com/freemud/application/sdk/api/ordercenter/response/orderInfo/OrderPayItemResp.java
+4
-0
shopping-cart-application-service/src/main/java/cn/freemud/entities/vo/ShoppingCartInfoRequestVo.java
+6
-0
No files found.
assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/request/payment/MultiPayRequest.java
0 → 100644
View file @
cc28149a
package
com
.
freemud
.
sdk
.
api
.
assortment
.
order
.
request
.
payment
;
import
lombok.Data
;
import
java.util.List
;
@Data
public
class
MultiPayRequest
{
private
List
<
PayPlatformVO
>
platforms
;
/**
* 用户标识
*/
private
String
open_id
;
/**
* 回调通知地址
*/
private
String
notify_url
;
/**
* 是否需要开发票:1为需要
*/
private
Integer
invoice_flag
;
/**
* 支付总金额,以分为单位
*/
private
Long
amount
;
/**
* 会员支付金额,以分为单位
*/
private
Long
vip_amount
;
/**
* 不可打折金额,以分为单位
*/
private
Integer
undis_amount
;
/**
* 订单描述
*/
private
String
body
;
/**
* 外部交易流水号,由上游系统生成,需保证唯一
*/
private
String
out_order_no
;
private
List
<
ProductVO
>
products
;
private
String
goodsTag
;
/**
* 商户编号(由非码提供)
*/
private
String
partner_id
;
/**
* 商家门店号(在线支付需要提前定义)
*/
private
String
store_id
;
/**
* 业务日期
*/
private
String
business_date
;
/**
* 营业员编号(可以使用固定值)
*/
private
String
operator_id
=
"1"
;
/**
* 商家POS机编号(可以使用固定值,扫码付必传)
*/
private
String
station_id
=
"1"
;;
private
String
appId
;
private
String
payCode
;
private
String
payTimeOutTime
;
private
String
ebCode
;
private
Boolean
disable_service_goods_tag
=
false
;
private
String
request_source
=
"V1"
;
private
String
ver
=
"10"
;
private
String
storeName
;
private
Long
merchantDiscount
;
/**
* @see com.freemud
* 下单所用小程序类型:1微信,2支付宝,3抖音")
*/
private
Integer
applicationType
;
//储值卡支付列表
private
List
<
String
>
cardItems
;
}
order-application-service/src/main/java/cn/freemud/adapter/OrderAdapter.java
View file @
cc28149a
...
...
@@ -77,6 +77,7 @@ import com.freemud.sdk.api.assortment.order.entities.promption.SubtractStockVO;
import
com.freemud.sdk.api.assortment.order.enums.*
;
import
com.freemud.sdk.api.assortment.order.request.order.*
;
import
com.freemud.sdk.api.assortment.order.request.payment.CombPayRequest
;
import
com.freemud.sdk.api.assortment.order.request.payment.MultiPayRequest
;
import
com.freemud.sdk.api.assortment.order.request.payment.PayPlatformVO
;
import
com.freemud.sdk.api.assortment.order.request.payment.ProductVO
;
import
com.freemud.sdk.api.assortment.order.response.order.QueryOrderByIdResponse
;
...
...
@@ -3358,6 +3359,7 @@ public class OrderAdapter {
requestDto
.
setOpenId
(
userLoginInfoDto
.
getOpenId
());
requestDto
.
setFaceCode
(
createOrderVo
.
getFaceCode
());
requestDto
.
setCardCode
(
createOrderVo
.
getCardCode
());
requestDto
.
setCardCodes
(
createOrderVo
.
getCardCodes
());
requestDto
.
setPayCode
(
null
);
requestDto
.
setFatherOrderBean
(
createOrderOperateDto
.
getFatherOrderBean
());
requestDto
.
setProductOrderBean
(
createOrderOperateDto
.
getProductOrderBean
());
...
...
@@ -4031,4 +4033,63 @@ public class OrderAdapter {
return
payItems
;
}
public
MultiPayRequest
convent2MultiPayOrderRequest
(
List
<
String
>
cardCodes
,
OrderBeanV1
orderBean
,
PaymentRequest
paymentRequest
,
String
partnerPayOvertime
,
String
orderClient
,
String
channel
,
Integer
totalAmount
)
{
MultiPayRequest
orderPayDto
=
new
MultiPayRequest
();
orderPayDto
.
setEbCode
(
paymentRequest
.
getPayCode
());
orderPayDto
.
setPartner_id
(
orderBean
.
getCompanyId
());
orderPayDto
.
setBody
(
paymentRequest
.
getPrincipalName
());
orderPayDto
.
setNotify_url
(
paymentRequest
.
getReverseNotifyiDcUrl
());
orderPayDto
.
setStore_id
(
orderBean
.
getShopId
());
orderPayDto
.
setOpen_id
(
paymentRequest
.
getOpenId
());
String
businessDate
=
com
.
freemud
.
application
.
sdk
.
api
.
util
.
DateUtil
.
convert2String
(
new
Date
(),
"yyyyMMdd"
);
orderPayDto
.
setBusiness_date
(
businessDate
);
orderPayDto
.
setAmount
(
totalAmount
.
longValue
());
orderPayDto
.
setVip_amount
(
0L
);
orderPayDto
.
setAppId
(
paymentRequest
.
getWxAppId
());
orderPayDto
.
setPayCode
(
paymentRequest
.
getPayCode
());
orderPayDto
.
setVer
(
"V1"
);
orderPayDto
.
setStoreName
(
orderBean
.
getShopName
());
orderPayDto
.
setPayTimeOutTime
(
StringUtils
.
defaultIfBlank
(
partnerPayOvertime
,
"30"
));
List
<
ProductVO
>
productVOS
=
new
ArrayList
<
ProductVO
>();
if
(
CollectionUtils
.
isNotEmpty
(
orderBean
.
getProductList
()))
{
for
(
ProductBeanV1
product
:
orderBean
.
getProductList
())
{
ProductVO
productBean
=
new
ProductVO
();
productBean
.
setId
(
product
.
getProductId
());
productBean
.
setQuantity
(
product
.
getNumber
());
productBean
.
setSeq
(
product
.
getSequence
());
productBean
.
setSalesType
(
"NORMAL"
);
productBean
.
setPrice
(
product
.
getPrice
());
productBean
.
setName
(
product
.
getProductName
());
productVOS
.
add
(
productBean
);
}
}
orderPayDto
.
setMerchantDiscount
(
orderBean
.
getOriginalAmount
().
longValue
()
-
orderBean
.
getAmount
());
orderPayDto
.
setProducts
(
productVOS
);
List
<
PayPlatformVO
>
platforms
=
new
ArrayList
<>();
PayPlatformVO
payPlatformVO
=
new
PayPlatformVO
();
payPlatformVO
.
setClientCode
(
PayChannelType
.
SVC
.
getEbcode
());
payPlatformVO
.
setEbcode
(
PayChannelType
.
SVC
.
getEbcode
());
payPlatformVO
.
setAmount
(
0L
);
platforms
.
add
(
payPlatformVO
);
String
ebcode
=
PayChannelType
.
getByIndex
(
Byte
.
parseByte
(
channel
)).
getEbcode
();
payPlatformVO
=
new
PayPlatformVO
();
payPlatformVO
.
setAmount
(
0L
);
payPlatformVO
.
setClientCode
(
orderClient
);
payPlatformVO
.
setEbcode
(
ebcode
);
platforms
.
add
(
payPlatformVO
);
orderPayDto
.
setPlatforms
(
platforms
);
orderPayDto
.
setOut_order_no
(
orderBean
.
getOid
());
orderPayDto
.
setCardItems
(
cardCodes
);
//多卡支付
orderPayDto
.
setApplicationType
(
getPayApplicationType
(
orderBean
.
getOrderClient
()));
return
orderPayDto
;
}
}
order-application-service/src/main/java/cn/freemud/entities/dto/order/CreatePrepayRequestDto.java
View file @
cc28149a
...
...
@@ -7,6 +7,8 @@ import com.freemud.application.sdk.api.ordercenter.enums.OrderClientType;
import
com.freemud.application.sdk.api.ordercenter.request.OrderExtInfoDto
;
import
lombok.Data
;
import
java.util.List
;
@Data
public
class
CreatePrepayRequestDto
{
/**
...
...
@@ -26,9 +28,15 @@ public class CreatePrepayRequestDto {
*/
private
String
faceCode
;
/**
* 会员卡code
* 会员卡code
储值卡
*/
private
String
cardCode
;
/**
* 储值卡
*/
private
List
<
String
>
cardCodes
;
/**
* 支付渠道码
*/
...
...
order-application-service/src/main/java/cn/freemud/entities/dto/pay/MultiPayResponse.java
0 → 100644
View file @
cc28149a
/**
* All rights Reserved, Designed By www.freemud.cn
*
* @Title: OrderPayResponseDto
* @Package cn.freemud.entities.dto
* @Description:
* @author: liming.guo
* @date: 2018/5/25 17:10
* @version V1.0
* @Copyright: 2018 www.freemud.cn Inc. All rights reserved.
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
*/
package
cn
.
freemud
.
entities
.
dto
.
pay
;
import
com.fasterxml.jackson.annotation.JsonProperty
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
lombok.ToString
;
import
java.util.List
;
@NoArgsConstructor
@Data
@ToString
public
class
MultiPayResponse
{
private
int
code
;
@ApiModelProperty
(
value
=
"提示信息"
)
private
String
msg
;
private
PayPlatforms
data
;
@Data
public
static
class
PayPlatforms
{
private
List
<
PayPlatform
>
payPlatformResponseList
;
}
@Data
static
public
class
PayPlatform
{
@ApiModelProperty
(
value
=
"app_id编号(微信使用)"
)
private
String
appId
;
@ApiModelProperty
(
value
=
"支付渠道编号"
)
private
String
ebCode
;
@ApiModelProperty
(
value
=
"非码交易流水号"
)
private
String
fmTradeNo
;
@ApiModelProperty
(
value
=
"随机字符串(微信使用)"
)
private
String
nonceStr
;
@ApiModelProperty
(
value
=
"外部交易流水号,由上游系统生成,需保证唯一"
)
private
String
outOrderNo
;
@ApiModelProperty
(
value
=
"第三方支付交易序号"
)
private
String
platformTradeNo
;
@ApiModelProperty
(
value
=
"支付金额"
)
private
Integer
payAmount
;
@ApiModelProperty
(
value
=
"间联单号"
)
private
String
transId
;
//商户单号
private
String
endTransTradeNo
;
//储值卡类型:0一次性卡(礼品卡),3重复使用卡(储值卡)")
private
Integer
cardType
;
@ApiModelProperty
(
value
=
""
)
private
PayOrderBean
payOrder
;
//卡号 多卡支付multiPay接口返回
private
String
cardCode
;
@Data
public
static
class
PayOrderBean
{
/**
* appid : wx3ab08e23966343fe
* package : prepay_id=wx25143630149413bcd9fbad100070370076
* nonce_str : -610630281
* sign : D320B2B74D858EBE16841F43AE70E757
* timestamp : 1527230190
* signType : MD5
*/
private
String
appId
;
@JsonProperty
(
"package"
)
private
String
packageX
;
//@JsonProperty("nonce_str")
private
String
nonceStr
;
/**
* 支付签名
*/
private
String
paySign
;
private
String
timeStamp
;
/**
* 加密方式
*/
private
String
signType
;
private
String
aliPayOrder
;
}
}
}
order-application-service/src/main/java/cn/freemud/service/impl/PayServiceImpl.java
View file @
cc28149a
This diff is collapsed.
Click to expand it.
order-application-service/src/main/java/cn/freemud/service/thirdparty/ComPayClient.java
View file @
cc28149a
...
...
@@ -16,9 +16,11 @@ package cn.freemud.service.thirdparty;
import
cn.freemud.annotations.LogIgnoreFeign
;
import
cn.freemud.constant.ResponseCodeKeyConstant
;
import
cn.freemud.entities.dto.pay.CombPayResponse
;
import
cn.freemud.entities.dto.pay.MultiPayResponse
;
import
cn.freemud.entities.dto.pay.MultiQueryRequest
;
import
cn.freemud.entities.dto.pay.MultiQueryRespDto
;
import
com.freemud.sdk.api.assortment.order.request.payment.CombPayRequest
;
import
com.freemud.sdk.api.assortment.order.request.payment.MultiPayRequest
;
import
org.springframework.cloud.openfeign.FeignClient
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
...
...
@@ -44,4 +46,11 @@ public interface ComPayClient {
@PostMapping
(
"/payment/application/query"
)
MultiQueryRespDto
paymentApplicationQuery
(
@RequestBody
MultiQueryRequest
multiQueryRequest
,
@RequestHeader
(
"partnerId"
)
Integer
partnerId
);
/**
* 多卡支付统一下单
*/
@LogIgnoreFeign
(
logMessage
=
"multiPay"
,
messageFieldName
=
ResponseCodeKeyConstant
.
MSG
)
@PostMapping
(
"/payment/application/multiPay"
)
MultiPayResponse
multiPay
(
@RequestBody
MultiPayRequest
multiPayRequest
,
@RequestHeader
(
"partnerId"
)
String
partnerId
);
}
ordercenter-sdk/src/main/java/com/freemud/application/sdk/api/ordercenter/response/orderInfo/OrderPayItemResp.java
View file @
cc28149a
...
...
@@ -38,4 +38,7 @@ public class OrderPayItemResp {
* 支付交易号
*/
private
String
orderPayItemCode
;
//卡号 多卡支付multiPay接口返回
private
String
cardCode
;
}
\ No newline at end of file
shopping-cart-application-service/src/main/java/cn/freemud/entities/vo/ShoppingCartInfoRequestVo.java
View file @
cc28149a
...
...
@@ -120,6 +120,12 @@ public class ShoppingCartInfoRequestVo extends BaseRequestVo {
* svc 卡支付使用
*/
private
String
cardCode
;
/**
* svc 卡支付使用 多卡
*/
private
List
<
String
>
cardCodes
;
/**
* 收货地址ID、svc卡支付外卖订单必传
*/
...
...
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