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
98829eb6
Commit
98829eb6
authored
Nov 06, 2020
by
xiaoer.li@freemud.com
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
混合支付Beta
parent
7e17bcbb
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
245 additions
and
12 deletions
+245
-12
assortment-ordercenter-sdk/pom.xml
+2
-2
order-application-service/pom.xml
+1
-1
order-application-service/src/main/java/cn/freemud/adapter/OrderAdapter.java
+141
-8
order-application-service/src/main/java/cn/freemud/entities/dto/order/CreatePrepayRequestDto.java
+15
-0
order-application-service/src/main/java/cn/freemud/entities/dto/pay/CombPayResponse.java
+85
-0
ordercenter-sdk/pom.xml
+1
-1
No files found.
assortment-ordercenter-sdk/pom.xml
View file @
98829eb6
...
...
@@ -10,7 +10,7 @@
<modelVersion>
4.0.0
</modelVersion>
<artifactId>
assortment-ordercenter-sdk
</artifactId>
<version>
2.
0.16-RELEASE
</version>
<version>
2.
2.21106-SNAPSHOT
</version>
<dependencies>
<dependency>
<groupId>
org.springframework.boot
</groupId>
...
...
@@ -38,7 +38,7 @@
<dependency>
<groupId>
cn.freemud
</groupId>
<artifactId>
ordercenter-sdk
</artifactId>
<version>
1.3.
18.RELEASE
</version>
<version>
1.3.
2001.SNAPSHOT
</version>
</dependency>
<dependency>
<groupId>
com.freemud.application.service.sdk
</groupId>
...
...
order-application-service/pom.xml
View file @
98829eb6
...
...
@@ -40,7 +40,7 @@
<dependency>
<groupId>
cn.freemud
</groupId>
<artifactId>
assortment-ordercenter-sdk
</artifactId>
<version>
2.
0.16-RELEASE
</version>
<version>
2.
2.21106-SNAPSHOT
</version>
</dependency>
<dependency>
<groupId>
com.freemud.application.service.sdk
</groupId>
...
...
order-application-service/src/main/java/cn/freemud/adapter/OrderAdapter.java
View file @
98829eb6
...
...
@@ -20,6 +20,7 @@ import cn.freemud.entities.dto.activity.ShareDiscountActivityDto;
import
cn.freemud.entities.dto.order.*
;
import
cn.freemud.entities.dto.order.CreateOrderAccountDto
;
import
cn.freemud.entities.dto.order.CreateOrderProductDto
;
import
cn.freemud.entities.dto.pay.CombPayResponse
;
import
cn.freemud.entities.dto.promotion.OrderBeanRequest
;
import
cn.freemud.entities.dto.promotion.ShoppingCartGoodsResponse
;
import
cn.freemud.entities.dto.shoppingCart.ActivityDiscountsDto
;
...
...
@@ -55,11 +56,15 @@ import com.freemud.application.sdk.api.ordercenter.enums.OrderSettlementType;
import
com.freemud.application.sdk.api.ordercenter.enums.ProductTypeEnum
;
import
com.freemud.application.sdk.api.ordercenter.request.OrderExtInfoDto
;
import
com.freemud.application.sdk.api.ordercenter.request.OrderExtendedReq
;
import
com.freemud.application.sdk.api.ordercenter.request.create.OrderPayItemCreateReq
;
import
com.freemud.application.sdk.api.promotioncenter.dto.promotion.GoodsStockDTO
;
import
com.freemud.application.sdk.api.promotioncenter.request.promotion.ActivityUpdateStockRequest
;
import
com.freemud.application.sdk.api.storecenter.response.StoreResponse
;
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.PayPlatformVO
;
import
com.freemud.sdk.api.assortment.order.request.payment.ProductVO
;
import
com.freemud.sdk.api.assortment.order.response.order.CreateOrderFlowResponse
;
import
com.freemud.sdk.api.assortment.order.response.order.QueryOrderByIdResponse
;
import
com.freemud.sdk.api.assortment.order.response.order.QueryOrdersResponse
;
...
...
@@ -75,7 +80,6 @@ import org.apache.commons.lang.StringUtils;
import
org.apache.commons.lang.time.FastDateFormat
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.data.redis.core.RedisTemplate
;
import
org.springframework.stereotype.Component
;
import
java.awt.geom.Point2D
;
...
...
@@ -301,7 +305,7 @@ public class OrderAdapter {
createOrderDto
.
setActivityUpdateStockRequest
(
activityUpdateStockRequest
);
}
createOrderDto
.
setPayChannelType
(
createOrderVo
.
getPayChannelType
());
createOrderDto
.
setOrderPayItemCreateReqList
(
createOrderVo
.
getOrderPayItemCreateReqList
());
// createOrderDto.setOtherInfo(getOrderOtherInfo(shoppingCartGoodsDto));
return
createOrderDto
;
}
...
...
@@ -3329,12 +3333,38 @@ public class OrderAdapter {
public
CreatePrepayRequestDto
convertToCreatePrepayRequestDto
(
AssortmentCustomerInfoVo
userLoginInfoDto
,
CreateOrderVo
createOrderVo
,
CreateOrderOperateDto
createOrderOperateDto
,
OrderExtInfoDto
orderExtInfoDTO
){
return
this
.
convertToCreatePrepayRequestDto
(
createOrderVo
.
getPartnerId
(),
userLoginInfoDto
.
getWxAppId
(),
userLoginInfoDto
.
getOpenId
(),
createOrderVo
.
getFaceCode
(),
createOrderVo
.
getCardCode
(),
null
,
createOrderOperateDto
.
getFatherOrderBean
(),
createOrderOperateDto
.
getProductOrderBean
(),
createOrderOperateDto
.
getTotalAmount
()
==
null
?
0
:
createOrderOperateDto
.
getTotalAmount
(),
createOrderOperateDto
.
getCardAmount
()
==
null
?
0
:
createOrderOperateDto
.
getCardAmount
(),
orderExtInfoDTO
,
createOrderOperateDto
.
getFatherOrderBean
().
getOid
(),
null
,
createOrderVo
.
getUnionPayCard
());
return
this
.
convertToCreatePrepayRequestDto
(
createOrderVo
.
getPartnerId
()
,
userLoginInfoDto
.
getWxAppId
()
,
userLoginInfoDto
.
getOpenId
()
,
createOrderVo
.
getFaceCode
()
,
createOrderVo
.
getCardCode
()
,
null
,
createOrderOperateDto
.
getFatherOrderBean
()
,
createOrderOperateDto
.
getProductOrderBean
()
,
createOrderOperateDto
.
getTotalAmount
()
==
null
?
0
:
createOrderOperateDto
.
getTotalAmount
()
,
createOrderOperateDto
.
getCardAmount
()
==
null
?
0
:
createOrderOperateDto
.
getCardAmount
()
,
orderExtInfoDTO
,
createOrderOperateDto
.
getFatherOrderBean
().
getOid
()
,
null
,
createOrderVo
.
getUnionPayCard
()
);
}
public
CreatePrepayRequestDto
convertToCreatePrepayRequestDto
(
AssortmentCustomerInfoVo
userLoginInfoDto
,
CreateOrderOperateDto
createOrderOperateDto
,
CreateOrderVo
createOrderVo
)
{
CreatePrepayRequestDto
requestDto
=
new
CreatePrepayRequestDto
();
requestDto
.
setPartnerId
(
createOrderVo
.
getPartnerId
());
requestDto
.
setWxAppId
(
userLoginInfoDto
.
getWxAppId
());
requestDto
.
setOpenId
(
userLoginInfoDto
.
getOpenId
());
requestDto
.
setCardCode
(
createOrderVo
.
getCardCode
());
requestDto
.
setCashAmount
(
createOrderVo
.
getCashAmount
());
requestDto
.
setSvcAmount
(
createOrderVo
.
getSvcAmount
());
requestDto
.
setTotalAmount
(
createOrderOperateDto
.
getTotalAmount
());
requestDto
.
setTransId
(
createOrderOperateDto
.
getFatherOrderBean
().
getOid
());
requestDto
.
setFatherOrderBean
(
createOrderOperateDto
.
getFatherOrderBean
());
requestDto
.
setOrderPayItemCreateReqList
(
createOrderVo
.
getOrderPayItemCreateReqList
());
requestDto
.
setStoreId
(
createOrderVo
.
getShopId
());
return
requestDto
;
}
/**
...
...
@@ -3437,4 +3467,107 @@ public class OrderAdapter {
deleteOrderDto
.
setOrderId
(
oId
);
return
deleteOrderDto
;
}
/**
* svc卡支付+现金支付
* @param cashAmount
* @param svcAmount
* @param payChannelType
* @return
*/
public
List
<
OrderPayItemCreateReq
>
setOrderPayItem
(
BigDecimal
cashAmount
,
BigDecimal
svcAmount
,
Byte
payChannelType
){
List
<
OrderPayItemCreateReq
>
orderPayItemCreateReqs
=
new
ArrayList
<>(
0
);
OrderPayItemCreateReq
orderPayItemCreateReqSvc
=
new
OrderPayItemCreateReq
();
//svc卡
orderPayItemCreateReqSvc
.
setPayAmount
(
svcAmount
);
orderPayItemCreateReqSvc
.
setPayChannelType
(
PayChannelType
.
SVC
.
getIndex
().
intValue
());
orderPayItemCreateReqSvc
.
setPayChannelName
(
PayChannelType
.
SVC
.
getName
());
orderPayItemCreateReqSvc
.
setPayEbCode
(
PayChannelType
.
SVC
.
getEbcode
());
orderPayItemCreateReqs
.
add
(
orderPayItemCreateReqSvc
);
//现金支付
OrderPayItemCreateReq
orderPayItemCreateReqOther
=
new
OrderPayItemCreateReq
();
orderPayItemCreateReqOther
.
setPayAmount
(
cashAmount
);
orderPayItemCreateReqOther
.
setPayChannelType
(
PayChannelType
.
getByIndex
(
payChannelType
).
getIndex
().
intValue
());
orderPayItemCreateReqOther
.
setPayChannelName
(
PayChannelType
.
getByIndex
(
payChannelType
).
getName
());
orderPayItemCreateReqOther
.
setPayEbCode
(
PayChannelType
.
getByIndex
(
payChannelType
).
getEbcode
());
orderPayItemCreateReqs
.
add
(
orderPayItemCreateReqOther
);
return
orderPayItemCreateReqs
;
}
/**
* 混合支付预支付信息转换
*/
public
CombPayRequest
convent2CombPayOrderRequest
(
PaymentRequest
paymentRequest
,
CreatePrepayRequestDto
createPrepayRequestDto
,
String
partnerPayOvertime
)
{
CombPayRequest
orderPayDto
=
new
CombPayRequest
();
orderPayDto
.
setEbCode
(
paymentRequest
.
getPayCode
());
orderPayDto
.
setPartner_id
(
createPrepayRequestDto
.
getPartnerId
());
orderPayDto
.
setBody
(
paymentRequest
.
getPrincipalName
());
orderPayDto
.
setNotify_url
(
paymentRequest
.
getReverseNotifyiDcUrl
());
//orderPayDto.setStore_id(createPrepayRequestDto.getStoreId());
orderPayDto
.
setStore_id
(
"999999998"
);
orderPayDto
.
setOpen_id
(
paymentRequest
.
getOpenId
());
String
businessDate
=
com
.
freemud
.
application
.
sdk
.
api
.
util
.
DateUtil
.
convert2String
(
new
Date
(),
"yyyyMMdd"
);
orderPayDto
.
setBusiness_date
(
businessDate
);
orderPayDto
.
setAmount
(
createPrepayRequestDto
.
getTotalAmount
());
orderPayDto
.
setVip_amount
(
0L
);
orderPayDto
.
setAppId
(
paymentRequest
.
getWxAppId
());
orderPayDto
.
setPayCode
(
paymentRequest
.
getPayCode
());
orderPayDto
.
setPayTimeOutTime
(
StringUtils
.
defaultIfBlank
(
partnerPayOvertime
,
"30"
));
List
<
ProductVO
>
productVOS
=
new
ArrayList
<
ProductVO
>();
if
(
CollectionUtils
.
isNotEmpty
(
createPrepayRequestDto
.
getFatherOrderBean
().
getProductList
()))
{
for
(
QueryOrdersResponse
.
DataBean
.
OrderBean
.
ProductBean
product
:
createPrepayRequestDto
.
getFatherOrderBean
().
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
.
setProducts
(
productVOS
);
List
<
PayPlatformVO
>
platforms
=
new
ArrayList
<>();
if
(
null
!=
createPrepayRequestDto
.
getOrderPayItemCreateReqList
()
&&
createPrepayRequestDto
.
getOrderPayItemCreateReqList
().
size
()>
0
){
for
(
OrderPayItemCreateReq
orderPayItemCreateReq
:
createPrepayRequestDto
.
getOrderPayItemCreateReqList
())
{
PayPlatformVO
payPlatformVO
=
new
PayPlatformVO
();
payPlatformVO
.
setAmount
(
orderPayItemCreateReq
.
getPayAmount
().
longValue
());
payPlatformVO
.
setEbcode
(
orderPayItemCreateReq
.
getPayEbCode
());
platforms
.
add
(
payPlatformVO
);
}
}
orderPayDto
.
setPlatforms
(
platforms
);
orderPayDto
.
setOut_order_no
(
createPrepayRequestDto
.
getFatherOrderBean
().
getOid
());
orderPayDto
.
setCardCode
(
createPrepayRequestDto
.
getCardCode
());
return
orderPayDto
;
}
/**
* 混合支付返回的支付参数
* @param payPlatform
* @return
*/
public
OrderPayResponse
convent2OrderCombPayResponse
(
CombPayResponse
.
PayPlatform
payPlatform
)
{
OrderPayResponse
responseDto
=
new
OrderPayResponse
();
responseDto
.
setFmId
(
payPlatform
.
getFmTradeNo
());
responseDto
.
setMsg
(
"succ"
);
responseDto
.
setPayEbcode
(
payPlatform
.
getEbCode
());
responseDto
.
setPayId
(
""
);
OrderPayResponse
.
PayOrderBean
payBean
=
new
OrderPayResponse
.
PayOrderBean
();
payBean
.
setAppid
(
payPlatform
.
getAppId
());
payBean
.
setNonceStr
(
payPlatform
.
getNonceStr
());
payBean
.
setPackageX
(
payPlatform
.
get_package
());
payBean
.
setSign
(
payPlatform
.
getSign
());
payBean
.
setSignType
(
payPlatform
.
getPaySignType
());
payBean
.
setTimestamp
(
payPlatform
.
getTimestamp
());
//payBean.setAliPayOrder(payOrderBean.getAliPayOrder());
responseDto
.
setPayOrder
(
payBean
);
responseDto
.
setPayTransId
(
payPlatform
.
getTransId
());
return
responseDto
;
}
}
order-application-service/src/main/java/cn/freemud/entities/dto/order/CreatePrepayRequestDto.java
View file @
98829eb6
...
...
@@ -3,9 +3,13 @@ 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.request.OrderExtInfoDto
;
import
com.freemud.application.sdk.api.ordercenter.request.create.OrderPayItemCreateReq
;
import
com.freemud.sdk.api.assortment.order.response.order.QueryOrdersResponse
;
import
lombok.Data
;
import
java.math.BigDecimal
;
import
java.util.List
;
@Data
public
class
CreatePrepayRequestDto
{
/**
...
...
@@ -67,4 +71,15 @@ public class CreatePrepayRequestDto {
* 使用电子风味卡
*/
private
CreateOrderVo
.
UnionPayCard
unionPayCard
;
private
List
<
OrderPayItemCreateReq
>
orderPayItemCreateReqList
;
/**
* svc支付金额
*/
private
BigDecimal
svcAmount
;
/**
* 现金支付金额
*/
private
BigDecimal
cashAmount
;
private
String
storeId
;
}
order-application-service/src/main/java/cn/freemud/entities/dto/pay/CombPayResponse.java
0 → 100644
View file @
98829eb6
/**
* 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
CombPayResponse
{
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
sign
;
@ApiModelProperty
(
value
=
"非码交易流水号"
)
private
String
fmTradeNo
;
@ApiModelProperty
(
value
=
"随机字符串(微信使用)"
)
private
String
nonceStr
;
@ApiModelProperty
(
value
=
"外部交易流水号,由上游系统生成,需保证唯一"
)
private
String
outOrderNo
;
@ApiModelProperty
(
value
=
"包名(微信使用)"
)
@JsonProperty
(
"package"
)
private
String
_package
;
@ApiModelProperty
(
value
=
"支付帐号"
)
private
String
payAccount
;
@ApiModelProperty
(
value
=
"签名(微信使用)"
)
private
String
paySign
;
@ApiModelProperty
(
value
=
"签名类型(微信使用)"
)
private
String
paySignType
;
@ApiModelProperty
(
value
=
"支付渠道描述"
)
private
String
platformDesc
;
@ApiModelProperty
(
value
=
"第三方支付交易序号"
)
private
String
platformTradeNo
;
@ApiModelProperty
(
value
=
"预订单编号"
)
private
String
prepayId
;
@ApiModelProperty
(
value
=
"时间戳(微信使用)"
)
private
String
timestamp
;
@ApiModelProperty
(
value
=
"间联单号"
)
private
String
transId
;
}
}
ordercenter-sdk/pom.xml
View file @
98829eb6
...
...
@@ -8,7 +8,7 @@
<version>
1.0.0
</version>
</parent>
<modelVersion>
4.0.0
</modelVersion>
<version>
1.3.
18.RELEASE
</version>
<version>
1.3.
2001.SNAPSHOT
</version>
<artifactId>
ordercenter-sdk
</artifactId>
<dependencies>
...
...
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