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
fe98c8cb
Commit
fe98c8cb
authored
Aug 30, 2021
by
胡博文
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
解决买M件N券到算页不自动选最优券的问题
parent
cadf9167
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
16 changed files
with
126 additions
and
13 deletions
+126
-13
assortment-shoppingcart-sdk/src/main/java/com/freemud/sdk/api/assortment/shoppingcart/domain/CartGoods.java
+6
-0
assortment-shoppingcart-sdk/src/main/java/com/freemud/sdk/api/assortment/shoppingcart/domain/CartParamDto.java
+2
-0
assortment-shoppingcart-sdk/src/main/java/com/freemud/sdk/api/assortment/shoppingcart/service/ShoppingCartBaseService.java
+10
-0
assortment-shoppingcart-sdk/src/main/java/com/freemud/sdk/api/assortment/shoppingcart/service/impl/CollageCartBaseServiceImpl.java
+5
-0
assortment-shoppingcart-sdk/src/main/java/com/freemud/sdk/api/assortment/shoppingcart/service/impl/MealCartBaseServiceImpl.java
+5
-0
assortment-shoppingcart-sdk/src/main/java/com/freemud/sdk/api/assortment/shoppingcart/service/impl/ShoppingCartBaseServiceImpl.java
+26
-0
assortment-shoppingcart-sdk/src/main/java/com/freemud/sdk/api/assortment/shoppingcart/service/impl/ShoppingCartMallBaseServiceImpl.java
+5
-0
shopping-cart-application-service/src/main/java/cn/freemud/entities/vo/CartGoods.java
+7
-0
shopping-cart-application-service/src/main/java/cn/freemud/factory/AbstractShoppingCartImpl.java
+2
-2
shopping-cart-application-service/src/main/java/cn/freemud/service/ShoppingCartNewService.java
+1
-1
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/AssortmentSdkService.java
+34
-0
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/ShoppingCartCollageServiceImpl.java
+1
-1
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/ShoppingCartMallServiceImpl.java
+11
-6
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/ShoppingCartMealServiceImpl.java
+2
-2
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/ShoppingCartNewServiceImpl.java
+0
-0
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/calculate/CalculationSharingDiscountService.java
+9
-1
No files found.
assortment-shoppingcart-sdk/src/main/java/com/freemud/sdk/api/assortment/shoppingcart/domain/CartGoods.java
View file @
fe98c8cb
...
...
@@ -96,6 +96,12 @@ public class CartGoods {
* 商品券code
*/
private
String
couponCode
;
/**
* 0 可用 1 不可用 (结算页识别是否需要传买M赠N券code)
* 默认不可用,经过算价后进行更新。
*/
private
Integer
canUseCoupon
=
1
;
/**
* 商品券门槛金额
*/
...
...
assortment-shoppingcart-sdk/src/main/java/com/freemud/sdk/api/assortment/shoppingcart/domain/CartParamDto.java
View file @
fe98c8cb
...
...
@@ -36,6 +36,8 @@ public class CartParamDto {
private
String
cartGoodsUid
;
private
Integer
canUseCoupon
;
private
Integer
qty
;
private
MealClearOperationEnum
operationType
;
...
...
assortment-shoppingcart-sdk/src/main/java/com/freemud/sdk/api/assortment/shoppingcart/service/ShoppingCartBaseService.java
View file @
fe98c8cb
...
...
@@ -940,6 +940,16 @@ public interface ShoppingCartBaseService {
BaseResponse
<
List
<
CartGoods
>>
updateGoodsQty
(
CartParamDto
cartParamDto
,
String
trackingNo
);
/**
* 更新券状态
*
* @param cartParamDto
* @param trackingNo
* @return
*/
BaseResponse
updateGoodsCouponStatus
(
CartParamDto
cartParamDto
,
String
trackingNo
);
/**
* 查询组织机构
* @param partnerId
* @param storeId
...
...
assortment-shoppingcart-sdk/src/main/java/com/freemud/sdk/api/assortment/shoppingcart/service/impl/CollageCartBaseServiceImpl.java
View file @
fe98c8cb
...
...
@@ -194,6 +194,11 @@ public class CollageCartBaseServiceImpl implements ShoppingCartBaseService {
}
}
@Override
public
BaseResponse
updateGoodsCouponStatus
(
CartParamDto
cartParamDto
,
String
trackingNo
)
{
return
null
;
}
/**
* 获取当前购物车版本
* 默认0
...
...
assortment-shoppingcart-sdk/src/main/java/com/freemud/sdk/api/assortment/shoppingcart/service/impl/MealCartBaseServiceImpl.java
View file @
fe98c8cb
...
...
@@ -442,6 +442,11 @@ public class MealCartBaseServiceImpl implements ShoppingCartBaseService {
}
@Override
public
BaseResponse
updateGoodsCouponStatus
(
CartParamDto
cartParamDto
,
String
trackingNo
)
{
return
null
;
}
@Override
public
void
checkNoProductExistMenu
(
CheckCartRequest
checkCartRequest
,
Set
<
String
>
keySet
)
{
// 当商品不存在于菜单中且不是商品券时,需置空移除
List
<
String
>
removeList
=
new
ArrayList
<>();
...
...
assortment-shoppingcart-sdk/src/main/java/com/freemud/sdk/api/assortment/shoppingcart/service/impl/ShoppingCartBaseServiceImpl.java
View file @
fe98c8cb
...
...
@@ -248,6 +248,32 @@ public class ShoppingCartBaseServiceImpl implements ShoppingCartBaseService {
}
}
/**
* 更新购物车券状态
*
* @param cartParamDto
* @param trackingNo
* @return
*/
@Override
public
BaseResponse
updateGoodsCouponStatus
(
CartParamDto
cartParamDto
,
String
trackingNo
)
{
try
{
String
redisKey
=
getShoppingCartGoodsKey
(
cartParamDto
);
BoundHashOperations
<
String
,
String
,
CartGoods
>
operations
=
redisTemplate
.
boundHashOps
(
redisKey
);
CartGoods
cartGoods
=
operations
.
get
(
cartParamDto
.
getCartGoodsUid
());
if
(
cartGoods
!=
null
)
{
// 更新券状态
cartGoods
.
setCanUseCoupon
(
cartParamDto
.
getCanUseCoupon
());
operations
.
put
(
cartParamDto
.
getCartGoodsUid
(),
cartGoods
);
}
//return this.getCartGoodsList(cartParamDto, trackingNo);
}
catch
(
Exception
e
)
{
ShoppingSdkLogUtil
.
printErrorLog
(
"assortment-shoppingcart-sdk"
,
trackingNo
,
e
.
getMessage
(),
"updateGoodsCouponStatus"
,
cartParamDto
,
e
,
Level
.
ERROR
);
}
return
CartResponseUtil
.
success
();
}
@Override
public
BaseResponse
clear
(
CartParamDto
cartParamDto
,
String
trackingNo
)
{
try
{
...
...
assortment-shoppingcart-sdk/src/main/java/com/freemud/sdk/api/assortment/shoppingcart/service/impl/ShoppingCartMallBaseServiceImpl.java
View file @
fe98c8cb
...
...
@@ -128,6 +128,11 @@ public class ShoppingCartMallBaseServiceImpl implements ShoppingCartBaseService
}
@Override
public
BaseResponse
updateGoodsCouponStatus
(
CartParamDto
cartParamDto
,
String
trackingNo
)
{
return
null
;
}
@Override
public
BaseResponse
clear
(
CartParamDto
cartParamDto
,
String
trackingNo
)
{
try
{
redisTemplate
.
delete
(
this
.
getShoppingCartGoodsKey
(
cartParamDto
));
...
...
shopping-cart-application-service/src/main/java/cn/freemud/entities/vo/CartGoods.java
View file @
fe98c8cb
...
...
@@ -13,6 +13,7 @@
package
cn
.
freemud
.
entities
.
vo
;
import
com.fasterxml.jackson.annotation.JsonIgnore
;
import
com.freemud.sdk.api.assortment.shoppingcart.constant.CommonsConstant
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
...
...
@@ -85,6 +86,12 @@ public class CartGoods {
* 商品券code
*/
private
String
couponCode
;
/**
* 0 可用 1 不可用 (结算页识别是否需要传买M赠N券code)
*/
@JsonIgnore
private
Integer
canUseCoupon
=
1
;
/**
* 商品券名称
*/
...
...
shopping-cart-application-service/src/main/java/cn/freemud/factory/AbstractShoppingCartImpl.java
View file @
fe98c8cb
...
...
@@ -340,9 +340,9 @@ public abstract class AbstractShoppingCartImpl implements ShoppingCartNewService
//外卖场景下 查询门店配送信息
if
(
BusinessTypeEnum
.
SAAS_DELIVERY
.
getCode
().
equals
(
menuType
)){
calculationDiscountResult
=
this
.
getActivityCalculationDiscountResponse
(
partnerId
,
storeId
,
userId
,
appId
,
orderType
,
isMember
,
cartGoodsList
,
coupons
,
sendGoodsList
,
BusinessTypeEnum
.
getByType
(
menuType
).
getCode
(),
deliveryAmount
,
null
);
calculationDiscountResult
=
this
.
getActivityCalculationDiscountResponse
(
partnerId
,
storeId
,
userId
,
appId
,
orderType
,
isMember
,
cartGoodsList
,
coupons
,
sendGoodsList
,
BusinessTypeEnum
.
getByType
(
menuType
).
getCode
(),
deliveryAmount
,
null
,
null
);
}
else
{
calculationDiscountResult
=
this
.
getActivityCalculationDiscountResponse
(
partnerId
,
storeId
,
userId
,
appId
,
orderType
,
isMember
,
cartGoodsList
,
coupons
,
sendGoodsList
,
BusinessTypeEnum
.
getByType
(
menuType
).
getCode
(),
null
,
null
);
calculationDiscountResult
=
this
.
getActivityCalculationDiscountResponse
(
partnerId
,
storeId
,
userId
,
appId
,
orderType
,
isMember
,
cartGoodsList
,
coupons
,
sendGoodsList
,
BusinessTypeEnum
.
getByType
(
menuType
).
getCode
(),
null
,
null
,
null
);
}
return
calculationDiscountResult
;
...
...
shopping-cart-application-service/src/main/java/cn/freemud/service/ShoppingCartNewService.java
View file @
fe98c8cb
...
...
@@ -97,7 +97,7 @@ public interface ShoppingCartNewService {
boolean
isMember
,
List
<
CartGoods
>
cartGoodsList
,
List
<
ActivityCalculationDiscountRequestDto
.
CalculationDiscountCoupon
>
coupons
,
List
<
ShoppingCartInfoRequestVo
.
SendGoods
>
sendGoodsList
,
String
menuType
,
Long
distributionFee
,
Integer
bizType
);
List
<
ShoppingCartInfoRequestVo
.
SendGoods
>
sendGoodsList
,
String
menuType
,
Long
distributionFee
,
Integer
bizType
,
Integer
accountFlag
);
List
<
CartGoods
>
updateCartGoodsLegal
(
CartGoods
cartGoods
,
String
userId
,
ShoppingCartGoodsBaseResponseVo
shoppingCartGoodsResponseVo
,
AddShoppingCartGoodsRequestVo
addShoppingCartGoodsRequestVo
,
List
<
CartGoods
>
oldAllCartGoodsList
);
...
...
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/AssortmentSdkService.java
View file @
fe98c8cb
...
...
@@ -20,7 +20,9 @@ import com.freemud.application.sdk.api.base.SDKCommonBaseContextWare;
import
com.freemud.application.sdk.api.log.LogThreadLocal
;
import
com.freemud.application.sdk.api.productcenter.domain.ProductBeanDTO
;
import
com.freemud.sdk.api.assortment.shoppingcart.constant.CommonsConstant
;
import
com.freemud.sdk.api.assortment.shoppingcart.constant.RedisKeyConstant
;
import
com.freemud.sdk.api.assortment.shoppingcart.constant.ShoppingCartConstant
;
import
com.freemud.sdk.api.assortment.shoppingcart.enums.BizTypeEnum
;
import
com.freemud.sdk.api.assortment.shoppingcart.enums.BusinessTypeEnum
;
import
com.freemud.sdk.api.assortment.shoppingcart.request.CheckCartRequest
;
import
com.freemud.sdk.api.assortment.shoppingcart.request.GetProductInfoRequest
;
...
...
@@ -37,6 +39,7 @@ import cn.freemud.entities.dto.GetMenuResponseDto.DataBean.RootNodeBean.Children
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.Objects
;
import
java.util.concurrent.TimeUnit
;
import
java.util.stream.Collectors
;
...
...
@@ -101,6 +104,37 @@ public class AssortmentSdkService {
return
updateNowBuyGoodsQtyBySdk
(
buyType
,
partnerId
,
userId
,
storeId
,
cartGoodsUid
,
qty
,
tableNumber
,
shoppingCartService
,
bizType
);
}
/**
* 更新购物车 买M赠N券商品状态
*
* @param partnerId 商户号
* @param userId 用户id
* @param storeId 门店id
* @return
*/
public
void
updateGoodsCouponStatus
(
String
partnerId
,
String
userId
,
String
storeId
,
List
<
CartGoods
>
cartGoods
,
ShoppingCartBaseService
shoppingCartService
,
Integer
bizType
)
{
com
.
freemud
.
sdk
.
api
.
assortment
.
shoppingcart
.
domain
.
CartParamDto
cartParamDto
=
getCartParamDto
(
partnerId
,
storeId
,
userId
);
for
(
CartGoods
cartGood
:
cartGoods
)
{
int
buyType
=
0
;
cartParamDto
.
setCartGoodsUid
(
cartGood
.
getCartGoodsUid
());
// 0 表示券可用 1 表示不可用
cartParamDto
.
setCanUseCoupon
(
0
);
// cartParamDto.setTableNumber(tableNumber);
cartParamDto
.
setUserId
(
userId
);
cartParamDto
.
setBizType
(
bizType
);
//立即购买==1 ,设置新的缓存key
if
(
buyType
==
ShoppingCartConstant
.
NOW_BUY_TYPE
)
{
cartParamDto
.
setBuyType
(
buyType
);
}
shoppingCartService
.
updateGoodsCouponStatus
(
cartParamDto
,
LogThreadLocal
.
getTrackingNo
());
}
}
/**
* 调用聚合sdk获取缓存中购物车信息
*
...
...
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/ShoppingCartCollageServiceImpl.java
View file @
fe98c8cb
...
...
@@ -789,7 +789,7 @@ public class ShoppingCartCollageServiceImpl extends AbstractShoppingCartImpl imp
}
@Override
public
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
getActivityCalculationDiscountResponse
(
String
partnerId
,
String
storeId
,
String
userId
,
String
appId
,
Integer
orderType
,
boolean
isMember
,
List
<
CartGoods
>
cartGoodsList
,
List
<
ActivityCalculationDiscountRequestDto
.
CalculationDiscountCoupon
>
coupons
,
List
<
ShoppingCartInfoRequestVo
.
SendGoods
>
sendGoodsList
,
String
menuType
,
Long
distributionFee
,
Integer
bizType
)
{
public
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
getActivityCalculationDiscountResponse
(
String
partnerId
,
String
storeId
,
String
userId
,
String
appId
,
Integer
orderType
,
boolean
isMember
,
List
<
CartGoods
>
cartGoodsList
,
List
<
ActivityCalculationDiscountRequestDto
.
CalculationDiscountCoupon
>
coupons
,
List
<
ShoppingCartInfoRequestVo
.
SendGoods
>
sendGoodsList
,
String
menuType
,
Long
distributionFee
,
Integer
bizType
,
Integer
accoutFlag
)
{
ActivityCalculationDiscountRequestDto
activityCalculationDiscountRequestDto
=
getActivityCalculationDiscountRequestDto
(
partnerId
,
storeId
,
userId
,
appId
,
orderType
);
List
<
ActivityCalculationDiscountRequestDto
.
CalculationDiscountGoods
>
calculationDiscountGoodsList
=
new
ArrayList
<>();
// 校验后有效的商品券map
...
...
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/ShoppingCartMallServiceImpl.java
View file @
fe98c8cb
...
...
@@ -54,6 +54,7 @@ import com.freemud.sdk.api.assortment.shoppingcart.request.CheckCartRequest;
import
com.freemud.sdk.api.assortment.shoppingcart.service.ShoppingCartBaseService
;
import
com.freemud.sdk.api.assortment.shoppingcart.service.impl.ShoppingCartMallBaseServiceImpl
;
import
com.google.common.collect.Lists
;
import
io.swagger.models.auth.In
;
import
lombok.Data
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.lang.ObjectUtils
;
...
...
@@ -138,6 +139,7 @@ public class ShoppingCartMallServiceImpl implements ShoppingCartNewService {
String
menuType
=
addShoppingCartGoodsRequestVo
.
getMenuType
();
Integer
orderType
=
addShoppingCartGoodsRequestVo
.
getOrderType
();
addShoppingCartGoodsRequestVo
.
setShopId
(
storeId
);
Integer
accountType
=
0
;
//非结算页
//清空临时购物车
// 构造请求参数,进行清空购物车
if
(
ShoppingCartConstant
.
NOW_BUY_TYPE
==
addShoppingCartGoodsRequestVo
.
getBuyType
())
{
...
...
@@ -189,7 +191,7 @@ public class ShoppingCartMallServiceImpl implements ShoppingCartNewService {
ActivityQueryDto
activityQueryDto
=
activityAdapter
.
getActivityQueryDto
(
partnerId
,
storeId
,
userId
,
appId
,
addShoppingCartGoodsRequestVo
.
getOrderType
());
CalculationSharingDiscountResponseDto
.
CalculationDiscountResult
discountResult
=
null
;
discountResult
=
sharingDiscountService
.
getCalculationSharingDiscountResult
(
menuType
,
partnerId
,
storeId
,
userId
,
appId
,
orderType
,
assortmentCustomerInfoVo
.
isMemberPaid
(),
allCartGoodsList
,
new
ArrayList
<>(),
null
,
deliveryAmount
,
null
,
null
);
discountResult
=
sharingDiscountService
.
getCalculationSharingDiscountResult
(
menuType
,
partnerId
,
storeId
,
userId
,
appId
,
orderType
,
assortmentCustomerInfoVo
.
isMemberPaid
(),
allCartGoodsList
,
new
ArrayList
<>(),
null
,
deliveryAmount
,
null
,
null
,
accountType
);
sharingCartService
.
distribute
(
discountResult
,
allCartGoodsList
,
shoppingCartGoodsResponseVo
,
null
,
null
,
null
,
activityQueryDto
,
menuType
,
deliveryAmount
,
ShoppingCartConstant
.
ADD_AND_UPDATE
,
partnerId
,
null
,
userId
,
storeId
);
buildShoppingCartGoodsResponse
(
shoppingCartGoodsResponseVo
,
discountResult
,
null
,
partnerId
);
...
...
@@ -245,6 +247,7 @@ public class ShoppingCartMallServiceImpl implements ShoppingCartNewService {
String
receiveId
=
updateShoppingCartGoodsQtyRequestVo
.
getReceiveId
();
String
menuType
=
updateShoppingCartGoodsQtyRequestVo
.
getMenuType
();
Integer
orderType
=
updateShoppingCartGoodsQtyRequestVo
.
getOrderType
();
Integer
accountFlag
=
0
;
// 非结算页
// 先验证商品是否存在
CartGoods
cartGoods
=
assortmentSdkService
.
getCartGoodsBySdk
(
partnerId
,
userId
,
storeId
,
cartGoodsUid
,
""
,
shoppingCartBaseService
,
null
);
...
...
@@ -283,7 +286,7 @@ public class ShoppingCartMallServiceImpl implements ShoppingCartNewService {
,
new
ArrayList
()
//券
,
null
//加价购商品
,
deliveryAmount
,
null
,
null
);
,
null
,
null
,
accountFlag
);
sharingCartService
.
distribute
(
discountResult
,
cartGoodsList
...
...
@@ -364,6 +367,7 @@ public class ShoppingCartMallServiceImpl implements ShoppingCartNewService {
String
couponCode
=
shoppingCartInfoRequestVo
.
getCouponCode
();
String
activityCode
=
shoppingCartInfoRequestVo
.
getActivityCode
();
List
<
ChooseCouponVo
>
couponCodes
=
shoppingCartInfoRequestVo
.
getCouponCodes
();
Integer
accountFlag
=
shoppingCartInfoRequestVo
.
getFlag
();
// 兼容老版本
if
(
CollectionUtils
.
isNotEmpty
(
couponCodes
)
&&
StringUtils
.
isEmpty
(
couponCode
))
{
ChooseCouponVo
otherCouponCode
=
couponCodes
.
stream
()
...
...
@@ -441,7 +445,7 @@ public class ShoppingCartMallServiceImpl implements ShoppingCartNewService {
,
coupons
,
sendGoods
,
deliveryAmount
,
null
,
null
);
,
null
,
null
,
accountFlag
);
sharingCartService
.
distribute
(
calculationSharingDiscountResult
,
cartGoodsList
,
shoppingCartGoodsResponseVo
...
...
@@ -529,6 +533,7 @@ public class ShoppingCartMallServiceImpl implements ShoppingCartNewService {
String
storeId
=
shoppingCartInfoRequestVo
.
getShopId
();
String
couponCode
=
shoppingCartInfoRequestVo
.
getCouponCode
();
String
activityCode
=
shoppingCartInfoRequestVo
.
getActivityCode
();
Integer
accountFlag
=
shoppingCartInfoRequestVo
.
getFlag
();
List
<
ChooseCouponVo
>
couponCodes
=
shoppingCartInfoRequestVo
.
getCouponCodes
();
if
(
Objects
.
isNull
(
couponCode
)
&&
CollectionUtils
.
isNotEmpty
(
couponCodes
))
{
ChooseCouponVo
otherCouponCode
=
couponCodes
.
stream
()
...
...
@@ -598,7 +603,7 @@ public class ShoppingCartMallServiceImpl implements ShoppingCartNewService {
,
coupons
,
shoppingCartInfoRequestVo
.
getSendGoods
()
,
deliveryAmount
,
shoppingCartInfoRequestVo
,
null
);
,
shoppingCartInfoRequestVo
,
null
,
accountFlag
);
// 活动校验
calculationSharingValidatorService
.
validator
(
discountResult
...
...
@@ -630,8 +635,8 @@ public class ShoppingCartMallServiceImpl implements ShoppingCartNewService {
@Override
public
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
getActivityCalculationDiscountResponse
(
String
partnerId
,
String
storeId
,
String
userId
,
String
appId
,
Integer
orderType
,
boolean
isMember
,
List
<
CartGoods
>
cartGoodsList
,
List
<
ActivityCalculationDiscountRequestDto
.
CalculationDiscountCoupon
>
coupons
,
List
<
ShoppingCartInfoRequestVo
.
SendGoods
>
sendGoodsList
,
String
menuType
,
Long
distributionFee
,
Integer
bizType
)
{
String
partnerId
,
String
storeId
,
String
userId
,
String
appId
,
Integer
orderType
,
boolean
isMember
,
List
<
CartGoods
>
cartGoodsList
,
List
<
ActivityCalculationDiscountRequestDto
.
CalculationDiscountCoupon
>
coupons
,
List
<
ShoppingCartInfoRequestVo
.
SendGoods
>
sendGoodsList
,
String
menuType
,
Long
distributionFee
,
Integer
bizType
,
Integer
accountFlag
)
{
return
null
;
}
...
...
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/ShoppingCartMealServiceImpl.java
View file @
fe98c8cb
...
...
@@ -427,7 +427,7 @@ public class ShoppingCartMealServiceImpl implements ShoppingCartNewService {
if
(
CollectionUtils
.
isEmpty
(
cartGoodsList
))
{
return
;
}
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
calculationDiscountResult
=
this
.
getActivityCalculationDiscountResponse
(
partnerId
,
storeId
,
userId
,
appId
,
orderType
,
isMember
,
cartGoodsList
,
new
ArrayList
<>(),
new
ArrayList
<>(),
BusinessTypeEnum
.
SAAS_MALL
.
getCode
(),
0L
,
null
);
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
calculationDiscountResult
=
this
.
getActivityCalculationDiscountResponse
(
partnerId
,
storeId
,
userId
,
appId
,
orderType
,
isMember
,
cartGoodsList
,
new
ArrayList
<>(),
new
ArrayList
<>(),
BusinessTypeEnum
.
SAAS_MALL
.
getCode
(),
0L
,
null
,
null
);
if
(
calculationDiscountResult
==
null
)
{
return
;
}
...
...
@@ -556,7 +556,7 @@ public class ShoppingCartMealServiceImpl implements ShoppingCartNewService {
@Override
public
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
getActivityCalculationDiscountResponse
(
String
partnerId
,
String
storeId
,
String
userId
,
String
appId
,
Integer
orderType
,
boolean
isMember
,
List
<
CartGoods
>
cartGoodsList
,
List
<
ActivityCalculationDiscountRequestDto
.
CalculationDiscountCoupon
>
coupons
,
List
<
ShoppingCartInfoRequestVo
.
SendGoods
>
sendGoodsList
,
String
menuType
,
Long
distributionFee
,
Integer
bizType
)
{
List
<
CartGoods
>
cartGoodsList
,
List
<
ActivityCalculationDiscountRequestDto
.
CalculationDiscountCoupon
>
coupons
,
List
<
ShoppingCartInfoRequestVo
.
SendGoods
>
sendGoodsList
,
String
menuType
,
Long
distributionFee
,
Integer
bizType
,
Integer
accountFlag
)
{
ActivityCalculationDiscountRequestDto
activityCalculationDiscountRequestDto
=
getActivityCalculationDiscountRequestDto
(
partnerId
,
storeId
,
userId
,
appId
,
orderType
);
List
<
ActivityCalculationDiscountRequestDto
.
CalculationDiscountGoods
>
calculationDiscountGoodsList
=
new
ArrayList
<>();
cartGoodsList
=
cartGoodsList
.
stream
().
filter
(
t
->
!
isWeightProduct
(
t
)).
collect
(
Collectors
.
toList
());
...
...
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/ShoppingCartNewServiceImpl.java
View file @
fe98c8cb
This diff is collapsed.
Click to expand it.
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/calculate/CalculationSharingDiscountService.java
View file @
fe98c8cb
...
...
@@ -3,6 +3,7 @@ package cn.freemud.service.impl.calculate;
import
cn.freemud.base.util.JsonUtil
;
import
cn.freemud.constant.ApplicationConstant
;
import
cn.freemud.constant.ResponseCodeConstant
;
import
cn.freemud.entities.dto.ActivityCalculationDiscountRequestDto
;
import
cn.freemud.entities.dto.CheckSpqInfoRequestDto
;
import
cn.freemud.entities.dto.CheckSpqInfoResponseDto
;
import
cn.freemud.entities.dto.calculate.CalculationSharingDiscountRequestDto
;
...
...
@@ -85,7 +86,7 @@ public class CalculationSharingDiscountService {
,
List
<
CalculationSharingDiscountRequestDto
.
CalculationDiscountCoupon
>
coupons
,
List
<
ShoppingCartInfoRequestVo
.
SendGoods
>
sendGoodsList
,
Long
deliveryAmount
,
ShoppingCartInfoRequestVo
shoppingCartInfoRequestVo
,
Integer
bizType
)
{
,
ShoppingCartInfoRequestVo
shoppingCartInfoRequestVo
,
Integer
bizType
,
Integer
accountFlag
)
{
CalculationSharingDiscountRequestDto
calculationSharingDiscountRequestDto
=
this
.
commonSharingDto
(
partnerId
,
storeId
,
userId
,
appId
,
orderType
);
...
...
@@ -157,9 +158,16 @@ public class CalculationSharingDiscountService {
coupon
.
setCode
(
checkSpqInfo
.
getCouponCode
());
coupon
.
setActivityCode
(
checkSpqInfo
.
getActiveCode
());
CalculationSharingDiscountRequestDto
.
CalculationDiscountCoupon
calculationDiscountCoupon
=
coupons
.
stream
().
filter
(
p
->
coupon
.
getActivityCode
().
equals
(
p
.
getActivityCode
())
&&
coupon
.
getCode
().
equals
(
p
.
getCode
())).
findFirst
().
orElse
(
null
);
//避免不满足使用券的商品 再才传给促销算价(目前只促销只支持单张券的算价)
if
(
calculationDiscountCoupon
==
null
)
{
if
(
GoodsTypeEnum
.
BUY_M_SEND_N_COUPON
.
getGoodsType
().
equals
(
cartGoods
.
getGoodsType
())
&&
accountFlag
==
1
){
if
(
cartGoods
.
getCanUseCoupon
()
==
0
)
{
coupons
.
add
(
coupon
);
}
}
else
{
coupons
.
add
(
coupon
);
}
}
// 添加商品券代表的商品放入促销
String
goodsId
=
StringUtils
.
isNotBlank
(
checkSpqInfo
.
getSkuId
())
?
checkSpqInfo
.
getSkuId
()
:
checkSpqInfo
.
getSpuId
();
this
.
setSpqDiscountGoods
(
calculationDiscountGoodsList
,
cartGoods
,
goodsId
,
checkSpqInfo
.
getPrice
(),
couponCode
);
...
...
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