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
b0f30ff7
Commit
b0f30ff7
authored
Oct 22, 2021
by
蒋小洋
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
卖券订单创建新增是否分账、券金额字段,获取支付分账门店信息,及预支付改feign调用
parent
c0123d50
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
190 additions
and
26 deletions
+190
-26
assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/request/order/ProductBindingCouponType.java
+7
-0
order-application-service/src/main/java/cn/freemud/adapter/OrderAdapter.java
+2
-6
order-application-service/src/main/java/cn/freemud/adapter/PointsMallOrderAdapter.java
+1
-0
order-application-service/src/main/java/cn/freemud/entities/dto/product/ProductInfo.java
+5
-1
order-application-service/src/main/java/cn/freemud/service/impl/CheckOrder.java
+92
-0
order-application-service/src/main/java/cn/freemud/service/impl/SellCouponOrderServiceImpl.java
+83
-19
No files found.
assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/request/order/ProductBindingCouponType.java
View file @
b0f30ff7
...
...
@@ -34,4 +34,11 @@ public class ProductBindingCouponType {
*/
// private int sequence;
//是否开启分账(0不开启,1开启)
private
Integer
isSplitAccount
;
//最大核销次数"
private
Integer
maxRedeemTimes
;
//券单价(分)
private
Integer
price
;
}
order-application-service/src/main/java/cn/freemud/adapter/OrderAdapter.java
View file @
b0f30ff7
...
...
@@ -19,8 +19,7 @@ import cn.freemud.entities.dto.activity.ShareDiscountActivityDto;
import
cn.freemud.entities.dto.order.CreateOrderAccountDto
;
import
cn.freemud.entities.dto.order.CreateOrderProductDto
;
import
cn.freemud.entities.dto.order.*
;
import
cn.freemud.entities.dto.pay.CombPayResponse
;
import
cn.freemud.entities.dto.pay.OrderPayResponse
;
import
cn.freemud.entities.dto.pay.*
;
import
cn.freemud.entities.dto.promotion.OrderBeanRequest
;
import
cn.freemud.entities.dto.promotion.ShoppingCartGoodsResponse
;
import
cn.freemud.entities.dto.shoppingCart.ActivityDiscountsDto
;
...
...
@@ -61,10 +60,7 @@ import com.freemud.application.sdk.api.ordercenter.request.OrderConditionsReq;
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.response.BaseDownLoadResponse
;
import
com.freemud.application.sdk.api.ordercenter.response.orderInfo.OrderPayItemResp
;
import
com.freemud.application.sdk.api.ordercenter.response.orderInfo.AfterSalesOrderResp
;
import
com.freemud.application.sdk.api.ordercenter.response.orderInfo.OrderInfoReqs
;
import
com.freemud.application.sdk.api.ordercenter.response.orderInfo.OrderSettlementResp
;
import
com.freemud.application.sdk.api.ordercenter.response.orderInfo.*
;
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
;
...
...
order-application-service/src/main/java/cn/freemud/adapter/PointsMallOrderAdapter.java
View file @
b0f30ff7
...
...
@@ -231,6 +231,7 @@ public class PointsMallOrderAdapter {
productBeans
.
add
(
productBean
);
}
}
requestDto
.
setProducts
(
productBeans
);
requestDto
.
setBody
(
payProductName
);
return
requestDto
;
}
...
...
order-application-service/src/main/java/cn/freemud/entities/dto/product/ProductInfo.java
View file @
b0f30ff7
...
...
@@ -13,7 +13,7 @@
package
cn
.
freemud
.
entities
.
dto
.
product
;
import
cn.freemud.entities.dto.ProductComboListDto
;
import
c
n.freemud.entities.dto.ProductGroupDto
;
import
c
om.freemud.sdk.api.assortment.order.request.order.ProductBindingCouponType
;
import
lombok.Data
;
import
java.util.List
;
...
...
@@ -84,4 +84,8 @@ public class ProductInfo {
//用于标识虚拟商品是否限制购买数量,0-否、1-是
private
Integer
isLimitNumProduct
;
//虚拟商品的券信息集合
private
List
<
ProductBindingCouponType
>
productBindingCouponTypes
;
}
order-application-service/src/main/java/cn/freemud/service/impl/CheckOrder.java
View file @
b0f30ff7
...
...
@@ -23,12 +23,17 @@ import cn.freemud.entities.dto.delivery.DeliveryBaseResponse;
import
cn.freemud.entities.dto.delivery.GetDeliveryFlagRequest
;
import
cn.freemud.entities.dto.delivery.GetDeliveryFlagResponseDto
;
import
cn.freemud.entities.dto.order.BusinessDate
;
import
cn.freemud.entities.dto.order.FacePayResponseDto
;
import
cn.freemud.entities.dto.pay.PayOrderDto
;
import
cn.freemud.entities.dto.pay.PayProductDto
;
import
cn.freemud.entities.dto.pay.UnifiedOrderRequestDto
;
import
cn.freemud.entities.dto.shoppingCart.GetShoppingCartGoodsApportionDto
;
import
cn.freemud.entities.dto.shoppingCart.ShoppingCartGoodsDto
;
import
cn.freemud.entities.dto.store.*
;
import
cn.freemud.entities.dto.user.CustomerPropertyBaseResponse
;
import
cn.freemud.entities.dto.user.GetSvcInfoByMemberIdResponseVo
;
import
cn.freemud.entities.dto.user.StatisticalScoreRequestVo
;
import
cn.freemud.entities.vo.CreateOrderResponseVo
;
import
cn.freemud.entities.vo.CreateOrderVo
;
import
cn.freemud.entities.vo.GetMemberCouponRequestVo
;
import
cn.freemud.entities.vo.ShoppingCartInfoRequestVo
;
...
...
@@ -55,6 +60,8 @@ import com.freemud.application.sdk.api.membercenter.request.QueryReceiveAddressR
import
com.freemud.application.sdk.api.membercenter.response.QueryReceiveAddressResponse
;
import
com.freemud.application.sdk.api.membercenter.service.MemberCenterService
;
import
com.freemud.application.sdk.api.ordercenter.enums.BizTypeEnum
;
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.paymentcenter.client.service.PaymentNewService
;
import
com.freemud.application.sdk.api.storecenter.request.QueryDeliveryRequest
;
import
com.freemud.application.sdk.api.storecenter.request.StoreInfoRequest
;
...
...
@@ -1334,5 +1341,90 @@ public class CheckOrder {
}
}
public
UnifiedOrderRequestDto
convert2UnifiedOrderRequestDto
(
OrderInfoReqs
orderInfo
,
String
openId
,
Long
cashPrice
,
Long
clientCode
,
String
reverseNotifyiDcUrl
,
String
payTimeOutTime
)
{
String
partnerId
=
orderInfo
.
getPartnerId
();
String
storeId
=
orderInfo
.
getStoreId
();
String
appId
=
orderInfo
.
getAppId
();
//现金支付唤起线上支付
UnifiedOrderRequestDto
requestDto
=
new
UnifiedOrderRequestDto
();
requestDto
.
setTransId
(
orderInfo
.
getOrderCode
());
requestDto
.
setPartnerId
(
partnerId
);
requestDto
.
setStoreId
(
storeId
);
requestDto
.
setAmount
(
cashPrice
);
String
businessDate
=
DateUtil
.
convert2String
(
new
Date
(),
"yyyyMMdd"
);
requestDto
.
setBusinessDate
(
businessDate
);
requestDto
.
setClientCode
(
clientCode
);
requestDto
.
setFoodOrderType
(
getFoodOrderType
(
1
));
requestDto
.
setNotifyUrl
(
reverseNotifyiDcUrl
);
requestDto
.
setOpenId
(
openId
);
requestDto
.
setPayTimeOutTime
(
payTimeOutTime
);
List
<
PayProductDto
>
productBeans
=
new
ArrayList
<>();
String
payProductName
=
""
;
if
(
org
.
apache
.
commons
.
collections
.
CollectionUtils
.
isNotEmpty
(
orderInfo
.
getOrderItemList
()))
{
for
(
OrderItemResp
orderProductBean
:
orderInfo
.
getOrderItemList
())
{
PayProductDto
productBean
=
new
PayProductDto
();
productBean
.
setId
(
orderProductBean
.
getProductId
());
productBean
.
setQuantity
(
orderProductBean
.
getProductQuantity
());
productBean
.
setPrice
(
orderProductBean
.
getProductPrice
().
longValue
());
if
(
StringUtils
.
isNotBlank
(
payProductName
))
{
payProductName
=
orderProductBean
.
getProductName
();
}
else
if
(
payProductName
.
endsWith
(
"..."
))
{
//不处理
}
else
{
payProductName
=
payProductName
+
"..."
;
}
productBean
.
setName
(
orderProductBean
.
getProductName
());
productBeans
.
add
(
productBean
);
}
}
requestDto
.
setProducts
(
productBeans
);
requestDto
.
setBody
(
payProductName
);
return
requestDto
;
}
/**
* 预支付接口获取类型
* @return
*/
private
String
getFoodOrderType
(
Integer
orderType
)
{
//1=外卖 4=自提,5=堂食
//qr_order(店内扫码点餐),pre_order(预点到店自提),home_delivery (外送到家)
String
foodOrderType
;
switch
(
orderType
)
{
case
1
:
foodOrderType
=
"home_delivery"
;
break
;
case
4
:
foodOrderType
=
"pre_order"
;
break
;
case
5
:
default
:
foodOrderType
=
"qr_order"
;
break
;
}
return
foodOrderType
;
}
public
void
convent2CreateOrderResponseVo
(
CreateOrderResponseVo
createOrderResponseVo
,
String
appId
,
FacePayResponseDto
response
){
createOrderResponseVo
.
setWxappId
(
appId
);
createOrderResponseVo
.
setFmId
(
response
.
getFmId
());
createOrderResponseVo
.
setPaySuccess
(
false
);
String
payOrderDto
=
response
.
getPayOrder
();
PayOrderDto
payOrder
=
JSONObject
.
parseObject
(
payOrderDto
,
PayOrderDto
.
class
);
if
(
payOrder
!=
null
)
{
createOrderResponseVo
.
setTimestamp
(
payOrder
.
getTimestamp
());
createOrderResponseVo
.
setNonceStr
(
payOrder
.
getNonceStr
());
createOrderResponseVo
.
setPackageX
(
payOrder
.
getPackageX
());
createOrderResponseVo
.
setSignType
(
payOrder
.
getSignType
());
createOrderResponseVo
.
setSign
(
payOrder
.
getPaySign
());
createOrderResponseVo
.
setOrderStr
(
payOrder
.
getAliPayOrder
());
}
}
}
order-application-service/src/main/java/cn/freemud/service/impl/SellCouponOrderServiceImpl.java
View file @
b0f30ff7
...
...
@@ -7,19 +7,19 @@ import cn.freemud.amp.service.SendCouponService;
import
cn.freemud.base.entity.BaseResponse
;
import
cn.freemud.base.util.DateUtil
;
import
cn.freemud.constant.CommonRedisKeyConstant
;
import
cn.freemud.constant.RedisKeyConstant
;
import
cn.freemud.constant.ResponseCodeConstant
;
import
cn.freemud.entities.Active
;
import
cn.freemud.entities.dto.*
;
import
cn.freemud.entities.dto.order.CreatePrepayRequestDto
;
import
cn.freemud.entities.dto.order.FacePayResponseDto
;
import
cn.freemud.entities.dto.pay.UnifiedOrderRequestDto
;
import
cn.freemud.entities.dto.product.GetValidateProductInfoDto
;
import
cn.freemud.entities.dto.product.ProductInfo
;
import
cn.freemud.entities.dto.product.ValidateProductInfosDto
;
import
cn.freemud.entities.dto.promotion.CalculationDiscountGoodsDto
;
import
cn.freemud.entities.dto.promotion.CalculationDiscountRequestDto
;
import
cn.freemud.entities.vo.CreateOrderVo
;
import
cn.freemud.entities.vo.NgsSellCouponCreateOrderVo
;
import
cn.freemud.entities.vo.PaysuccessNoticeMessage
;
import
cn.freemud.entities.vo.SellCouponCreateOrderVo
;
import
cn.freemud.entities.vo.*
;
import
cn.freemud.enums.*
;
import
cn.freemud.interceptor.ServiceException
;
import
cn.freemud.manager.BuyProductOnceManager
;
...
...
@@ -27,15 +27,17 @@ import cn.freemud.redis.RedisCache;
import
cn.freemud.service.CouponService
;
import
cn.freemud.service.OrderFactoryService
;
import
cn.freemud.service.business.OrderBusinessService
;
import
cn.freemud.service.thirdparty.PaymentNewClient
;
import
cn.freemud.service.thirdparty.PromotionDiscountClient
;
import
cn.freemud.service.thirdparty.StoreItemClient
;
import
cn.freemud.utils.AppLogUtil
;
import
cn.freemud.utils.ResponseUtil
;
import
com.alibaba.fastjson.JSONObject
;
import
com.freemud.api.assortment.datamanager.entity.db.AssortmentOpenPlatformIappWxappStore
;
import
com.freemud.api.assortment.datamanager.entity.db.AssortmentOpenPlatformPartnerConfig
;
import
com.freemud.api.assortment.datamanager.entity.vo.AssortmentCustomerInfoVo
;
import
com.freemud.api.assortment.datamanager.manager.AssortmentOpenPlatformPartnerConfigManager
;
import
com.freemud.application.sdk.api.base.SDKCommonBaseContextWare
;
import
com.freemud.application.sdk.api.constant.ResponseResultEnum
;
import
com.freemud.application.sdk.api.couponcenter.online.domain.ActiveDetailVO
;
import
com.freemud.application.sdk.api.couponcenter.online.domain.AppKeyVO
;
import
com.freemud.application.sdk.api.couponcenter.online.request.ActiveBatchQueryRequest
;
...
...
@@ -57,9 +59,6 @@ import com.freemud.application.sdk.api.ordercenter.response.OrderBaseResp;
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.service.OrderSdkService
;
import
com.freemud.application.sdk.api.productcenter.request.product.GetProductInfoRequest
;
import
com.freemud.application.sdk.api.productcenter.response.menu.GetMenuCategoryInfoResponse
;
import
com.freemud.application.sdk.api.productcenter.response.product.GetProductInfosResponse
;
import
com.freemud.application.sdk.api.productcenter.service.MenuService
;
import
com.freemud.application.sdk.api.promotioncenter.request.promotion.ActivityUpdateStockRequest
;
import
com.freemud.application.sdk.api.promotioncenter.response.PromotionResponseDTO
;
...
...
@@ -165,6 +164,12 @@ public class SellCouponOrderServiceImpl implements OrderFactoryService {
@Autowired
private
PayServiceImpl
payService
;
@Autowired
private
PaymentNewClient
paymentNewClient
;
@Value
(
"${saas.reverseNotifyiDcUrl}"
)
private
String
reverseNotifyiDcUrl
;
@Autowired
private
AssortmentOpenPlatformPartnerConfigManager
openPlatformPartnerConfigManager
;
/**
* 抖音卖券
...
...
@@ -283,6 +288,9 @@ public class SellCouponOrderServiceImpl implements OrderFactoryService {
String
partnerId
=
userLoginInfoDto
.
getPartnerId
();
String
storeId
=
requestVo
.
getShopId
();
String
userId
=
userLoginInfoDto
.
getMemberId
();
String
openId
=
userLoginInfoDto
.
getOpenId
();
String
appId
=
userLoginInfoDto
.
getAppId
();
//查询门店信息
StoreInfoRequest
storeInfoRequest
=
new
StoreInfoRequest
(
partnerId
,
storeId
,
null
);
StoreResponse
storeResponse
=
storeCenterService
.
getStoreInfo
(
storeInfoRequest
,
trackingNo
);
...
...
@@ -329,7 +337,13 @@ public class SellCouponOrderServiceImpl implements OrderFactoryService {
CreateOrderRequest
createOrderRequest
=
(
CreateOrderRequest
)
createOrderRequestResponse
.
getResult
();
//标准化平台虚拟商品特价活动计算,不包含蜜雪APP买虚拟商品
List
<
ActivityUpdateStockRequest
.
StockBeanDto
>
stockBeanDtos
=
calculationDiscount
(
partnerId
,
storeId
,
userLoginInfoDto
.
getMemberId
(),
productInfosDto
.
getData
().
getProducts
().
get
(
0
),
createOrderRequest
);
//查询虚拟商品卖券支付配置中的分账门店信息
//11-虚拟卖券门店
AssortmentOpenPlatformIappWxappStore
wxAppStore
=
payService
.
getIappWxappStoreInfo
(
userLoginInfoDto
.
getWxAppId
(),
"11"
);
if
((
wxAppStore
==
null
||
wxAppStore
.
getClientCode
()
==
null
))
{
return
ResponseUtil
.
error
(
ResponseCodeConstant
.
RESPONSE_ERROR_STR
,
"支付门店未配置"
);
}
createOrderRequest
.
setStoreId
(
wxAppStore
.
getStoreId
());
OrderBaseResp
<
OrderInfoReqs
>
orderInfoReqsBaseResponse
=
orderSdkService
.
createOrder
(
createOrderRequest
,
trackingNo
);
CreateOrderResponse
createOrderResponse
=
orderSdkAdapter
.
convent2NEWOrderInfoReqs
(
orderInfoReqsBaseResponse
);
if
(
createOrderResponse
==
null
||
createOrderResponse
.
getErrcode
()
!=
100
)
{
...
...
@@ -416,7 +430,28 @@ public class SellCouponOrderServiceImpl implements OrderFactoryService {
orderExtInfoDto
.
setFromAppId
(
userLoginInfoDto
.
getWxAppId
());
createPrepayRequestDto
.
setOrderExtInfoDTO
(
orderExtInfoDto
);
return
payService
.
createPrepayOrder
(
createPrepayRequestDto
);
//创建卖券预支付
OrderInfoReqs
result
=
orderInfoReqsBaseResponse
.
getResult
();
String
orderCode
=
result
.
getOrderCode
();
CreateOrderResponseVo
createOrderResponseVo
=
new
CreateOrderResponseVo
();
createOrderResponseVo
.
setOid
(
orderCode
);
//线上现金支付,创建预支付订单,唤起支付
com
.
freemud
.
application
.
sdk
.
api
.
base
.
BaseResponse
<
FacePayResponseDto
>
response
=
null
;
Long
payClientCode
=
Long
.
parseLong
(
wxAppStore
.
getClientCode
());
//实际支付金额
Long
cashPrice
=
createOrderRequest
.
getActualPayAmount
();
UnifiedOrderRequestDto
requestDto
=
checkOrder
.
convert2UnifiedOrderRequestDto
(
result
,
openId
,
cashPrice
,
payClientCode
,
reverseNotifyiDcUrl
,
getPartnerPayOvertime
(
partnerId
));
response
=
paymentNewClient
.
unifiedOrder
(
requestDto
);
if
(!
Objects
.
equals
(
ResponseCodeConstant
.
RESPONSE_SUCCESS_STR
,
response
.
getCode
()))
{
return
ResponseUtil
.
error
(
orderInfoReqsBaseResponse
.
getCode
(),
"支付异常"
);
}
if
(!
Objects
.
equals
(
ResponseCodeConstant
.
RESPONSE_SUCCESS
,
response
.
getData
().
getResultCode
()))
{
return
ResponseUtil
.
error
(
orderInfoReqsBaseResponse
.
getCode
(),
"支付异常,"
+
response
.
getData
().
getResultMsg
());
}
//唤起支付返回参数
checkOrder
.
convent2CreateOrderResponseVo
(
createOrderResponseVo
,
appId
,
response
.
getData
());
return
ResponseUtil
.
success
(
createOrderResponseVo
);
}
...
...
@@ -457,7 +492,7 @@ public class SellCouponOrderServiceImpl implements OrderFactoryService {
return
ResponseUtil
.
error
(
ResponseResult
.
STORE_ITEM_CHECK_VAILD_ERROR
);
}
GetProductInfoRequest
request
=
new
GetProductInfoRequest
();
/*
GetProductInfoRequest request = new GetProductInfoRequest();
request.setChannel(menuType);
request.setPartnerId(partnerId);
request.setProductInfoType(ProductInfoType.ALL.getCode());
...
...
@@ -467,14 +502,24 @@ public class SellCouponOrderServiceImpl implements OrderFactoryService {
com.freemud.application.sdk.api.base.BaseResponse<GetProductInfosResponse> productInfosByIds = menuService.getProductInfosByIds(request, trackingNo);
if (!ResponseCodeConstant.RESPONSE_SUCCESS_STR.equals(productInfosByIds.getCode()) || productInfosByIds.getData() == null || CollectionUtils.isEmpty(productInfosByIds.getData().getProducts())) {
return ResponseUtil.error(ResponseResultEnum.GET_PRODUCT_INFOS_ERROR.getCode(), ResponseResultEnum.GET_PRODUCT_INFOS_ERROR.getMessage());
}
}*/
//查询商品信息sdk改feign
GetProductInfoDto
request
=
new
GetProductInfoDto
();
request
.
setPartnerId
(
partnerId
);
request
.
setShopId
(
storeId
);
request
.
setProductInfoType
(
ProductInfoType
.
ALL
.
getCode
());
request
.
setProductIds
(
productIds
);
request
.
setChannel
(
menuType
);
ProductInfosDto
productInfos
=
storeItemClient
.
listProductInfos
(
request
);
//获取虚拟商品中的券信息
//效验商品券是否有效
List
<
GetMenuCategoryInfoResponse
.
RootNodeBean
.
ChildrenBeanFirst
.
ChildrenBeanSecond
.
ProductBean
.
ProductBindingCouponType
>
productBindingCoupons
=
productInfosById
s
.
getData
().
getProducts
().
get
(
0
).
getProductBindingCouponTypes
();
List
<
ProductBindingCouponType
>
productBindingCoupons
=
productInfo
s
.
getData
().
getProducts
().
get
(
0
).
getProductBindingCouponTypes
();
if
(
CollectionUtils
.
isEmpty
(
productBindingCoupons
))
{
return
ResponseUtil
.
error
(
ResponseResult
.
STORE_ITEM_CHECK_INVAILD
);
}
List
<
String
>
activityCodes
=
new
ArrayList
<>();
for
(
GetMenuCategoryInfoResponse
.
RootNodeBean
.
ChildrenBeanFirst
.
ChildrenBeanSecond
.
ProductBean
.
ProductBindingCouponType
productBindingCouponType
:
productBindingCoupons
)
{
for
(
ProductBindingCouponType
productBindingCouponType
:
productBindingCoupons
)
{
activityCodes
.
add
(
productBindingCouponType
.
getActivityCode
());
}
//批量查询活动详情
...
...
@@ -491,7 +536,7 @@ public class SellCouponOrderServiceImpl implements OrderFactoryService {
}
//转换CreateOrderRequest对象
CreateOrderRequest
createOrderRequest
=
convent2NEWCreateOrderRequest
(
userLoginInfoDto
,
productInfos
ByIds
.
getData
(),
productInfos
.
getData
(),
activeDetailVOS
,
storeResponse
.
getBizVO
(),
storeId
,
cardCode
,
skuId
,
menuType
,
bizType
);
return
ResponseUtil
.
success
(
createOrderRequest
);
...
...
@@ -662,7 +707,7 @@ public class SellCouponOrderServiceImpl implements OrderFactoryService {
/**
* 转换对象,从购买优惠券业务提出重写
* @param userLoginInfoDto
* @param
productInfosResponse
* @param
dataBean
* @param activeDetailVOS
* @param storeInfo
* @param shopId
...
...
@@ -673,7 +718,7 @@ public class SellCouponOrderServiceImpl implements OrderFactoryService {
* @return
*/
private
CreateOrderRequest
convent2NEWCreateOrderRequest
(
AssortmentCustomerInfoVo
userLoginInfoDto
,
GetProductInfosResponse
productInfosResponse
,
List
<
ActiveDetailVO
>
activeDetailVOS
,
ProductInfosDto
.
DataBean
dataBean
,
List
<
ActiveDetailVO
>
activeDetailVOS
,
StoreResponse
.
BizVO
storeInfo
,
String
shopId
,
String
cardCode
,
...
...
@@ -716,7 +761,7 @@ public class SellCouponOrderServiceImpl implements OrderFactoryService {
request
.
setPayChannel
(
"10102"
);
request
.
setPayChannelName
(
"储值卡支付"
);
}
GetMenuCategoryInfoResponse
.
RootNodeBean
.
ChildrenBeanFirst
.
ChildrenBeanSecond
.
ProductBean
productBean
=
productInfosResponse
.
getProducts
().
get
(
0
);
ProductInfo
productBean
=
dataBean
.
getProducts
().
get
(
0
);
//订单原始金额,单位分
//用户在界面上看到的支付金额
request
.
setSettlementAmount
(
productBean
.
getFinalPrice
());
...
...
@@ -744,13 +789,17 @@ public class SellCouponOrderServiceImpl implements OrderFactoryService {
OrderProductAddInfoDto
orderProductAddInfoDto
=
new
OrderProductAddInfoDto
();
List
<
ProductBindingCouponType
>
productBindingCoupons
=
new
ArrayList
<>();
for
(
GetMenuCategoryInfoResponse
.
RootNodeBean
.
ChildrenBeanFirst
.
ChildrenBeanSecond
.
ProductBean
.
ProductBindingCouponType
productBindingCouponType
:
productBean
.
getProductBindingCouponTypes
()){
for
(
ProductBindingCouponType
productBindingCouponType
:
productBean
.
getProductBindingCouponTypes
()){
for
(
ActiveDetailVO
activeDetailVO
:
activeDetailVOS
){
if
(
productBindingCouponType
.
getActivityCode
().
equals
(
activeDetailVO
.
getActiveCode
())){
ProductBindingCouponType
productBindingCouponType2
=
new
ProductBindingCouponType
();
productBindingCouponType2
.
setActivityCode
(
productBindingCouponType
.
getActivityCode
());
productBindingCouponType2
.
setNum
(
productBindingCouponType
.
getNum
());
productBindingCouponType2
.
setActivityName
(
activeDetailVO
.
getActiveName
());
//新增是否分账,核销次数和券单价
productBindingCouponType2
.
setIsSplitAccount
(
productBindingCouponType
.
getIsSplitAccount
());
productBindingCouponType2
.
setMaxRedeemTimes
(
productBindingCouponType
.
getMaxRedeemTimes
());
productBindingCouponType2
.
setPrice
(
productBindingCouponType
.
getPrice
());
productBindingCoupons
.
add
(
productBindingCouponType2
);
break
;
}
...
...
@@ -1031,4 +1080,19 @@ public class SellCouponOrderServiceImpl implements OrderFactoryService {
sendCouponService
.
sendCouponMq
(
orderInfo
);
return
result
;
}
/**
* 获取商户支付超时时间
* @param partnerId 商户Id
* @return 超时时间
*/
private
String
getPartnerPayOvertime
(
String
partnerId
)
{
return
Optional
.
ofNullable
(
openPlatformPartnerConfigManager
.
selectPartnerConfigByPartnerKey
(
partnerId
,
RedisKeyConstant
.
PARTNER_PAY_OVERTIME
))
.
orElseGet
(()
->
{
AssortmentOpenPlatformPartnerConfig
config
=
new
AssortmentOpenPlatformPartnerConfig
();
config
.
setPartnerValue
(
"30"
);
openPlatformPartnerConfigManager
.
addPartnerConfig
(
partnerId
,
RedisKeyConstant
.
PARTNER_PAY_OVERTIME
,
config
);
return
config
;
}).
getPartnerValue
();
}
}
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