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
ef2565a0
Commit
ef2565a0
authored
Nov 04, 2021
by
周晓航
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
新增字段用于优惠券使用门槛
Signed-off-by: 周晓航 <xiaohang.zhou@freemud.com>
parent
8b9e5538
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
33 additions
and
5 deletions
+33
-5
shopping-cart-application-service/src/main/java/cn/freemud/entities/vo/ShoppingCartGoodsResponseVo.java
+6
-0
shopping-cart-application-service/src/main/java/cn/freemud/enums/GoodsTypeEnum.java
+9
-2
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/ShoppingCartNewServiceImpl.java
+18
-3
No files found.
shopping-cart-application-service/src/main/java/cn/freemud/entities/vo/ShoppingCartGoodsResponseVo.java
View file @
ef2565a0
...
...
@@ -220,6 +220,12 @@ public class ShoppingCartGoodsResponseVo extends ShoppingCartGoodsBaseResponseV
*/
private
CartGoodsStates
cartGoodsStates
;
/**
* fisherman 一单多券, 剔除购物车内券商品的使用门槛
*
*/
private
Long
useCouponThreshold
;
@Data
public
static
class
chooseGood
{
...
...
shopping-cart-application-service/src/main/java/cn/freemud/enums/GoodsTypeEnum.java
View file @
ef2565a0
...
...
@@ -13,6 +13,9 @@
package
cn
.
freemud
.
enums
;
import
java.util.Arrays
;
import
java.util.List
;
public
enum
GoodsTypeEnum
{
COMMON_GOODS
(
1
,
"正常商品"
),
...
...
@@ -21,15 +24,19 @@ public enum GoodsTypeEnum {
SET_MEAL_GOODS
(
3
,
"套餐商品"
),
SKU_GOODS
(
4
,
"sku商品"
),
SPU_GOODS
(
5
,
"spu商品"
),
REDUCE_PRICE_GOODS
(
6
,
"超值加购商品"
),
REDUCE_PRICE_GOODS
(
6
,
"超值加购商品"
),
ALL_COUPON_GOODS
(
8
,
"万能券商品"
),
VIRTUAL_GOODS
(
9
,
"虚拟商品"
),
VIRTUAL_GOODS
(
9
,
"虚拟商品"
),
BUY_M_SEND_N_COUPON
(
10
,
"买M送N券"
),
MATERIAL
(
88
,
"有加料的商品"
),
EXCEPTION_GOODS
(
99
,
"异常商品:商品菜单变化导致和购物车不商品匹配"
);
private
Integer
goodsType
;
private
String
desc
;
public
static
List
<
Integer
>
couponTypeList
=
Arrays
.
asList
(
GoodsTypeEnum
.
COUPON_GOODS
.
getGoodsType
(),
GoodsTypeEnum
.
HG_COUPON_GOODS
.
getGoodsType
(),
GoodsTypeEnum
.
BUY_M_SEND_N_COUPON
.
getGoodsType
());
GoodsTypeEnum
(
Integer
goodsType
,
String
desc
)
{
this
.
goodsType
=
goodsType
;
this
.
desc
=
desc
;
...
...
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/ShoppingCartNewServiceImpl.java
View file @
ef2565a0
...
...
@@ -23,8 +23,6 @@ import cn.freemud.constant.ShoppingCartConstant;
import
cn.freemud.demo.controller.ShoppingCartDemoController
;
import
cn.freemud.demo.entities.dto.goods.add.list.BaseListCartGoodsVO
;
import
cn.freemud.entities.dto.*
;
import
cn.freemud.entities.dto.calculate.ActivityCalculationDiscountRequestDto
;
import
cn.freemud.entities.dto.calculate.ActivityCalculationDiscountResponseDto
;
import
cn.freemud.entities.dto.GetMenuResponseDto.DataBean.RootNodeBean.ChildrenBeanFirst.ChildrenBeanSecond.ProductBean
;
import
cn.freemud.entities.dto.activity.ActivityQueryDto
;
import
cn.freemud.entities.dto.activity.ActivityQueryResponseDto
;
...
...
@@ -869,7 +867,8 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
updateForPopupWindow
(
shoppingCartGoodsResponseVo
,
premiumExchangeResponseVoBaseResponse
.
getResult
().
getShowType
(),
chooseSendGoodList
,
shoppingCartInfoRequestVo
.
getSendGoods
());
}
// 设置优惠券的使用门槛金额, 需要排除券的金额
Long
useCouponThreshold
=
this
.
getUseCouponThreshold
(
shoppingCartGoodsResponseVo
.
getProducts
());
shoppingCartGoodsResponseVo
.
setUseCouponThreshold
(
useCouponThreshold
);
// 校验入参券是否可用
if
(!
checkAvailableCoupon
(
shoppingCartGoodsResponseVo
,
shoppingCartInfoRequestVo
.
getCouponCode
()))
{
return
ResponseUtil
.
error
(
ResponseResult
.
SHOPPING_CART_COUPON_NOT_USE
);
...
...
@@ -877,6 +876,22 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
return
ResponseUtil
.
success
(
shoppingCartGoodsResponseVo
);
}
/**
* 获取 券使用的门槛信息
* @param products
* @return
*/
private
Long
getUseCouponThreshold
(
List
<
CartGoods
>
products
)
{
Long
useCouponThreshold
=
0L
;
if
(
CollectionUtils
.
isNotEmpty
(
products
))
{
// 过滤出 活动商品 以及 优惠券商品 求和
return
products
.
stream
().
filter
(
p
->
!
GoodsTypeEnum
.
couponTypeList
.
contains
(
p
.
getGoodsType
())
&&
Objects
.
isNull
(
p
.
getActivityType
()))
.
mapToLong
(
CartGoods:
:
getOriginalAmount
)
.
sum
();
}
return
useCouponThreshold
;
}
public
void
updateForPopupWindow
(
ShoppingCartGoodsResponseVo
shoppingCartGoodsResponseVo
,
Integer
showType
,
List
<
PremiumExchangeResponseVo
.
PremiumExchangeProduct
>
chooseSendGoodList
,
List
<
ShoppingCartInfoRequestVo
.
SendGoods
>
sendGoods
)
{
if
(
Integer
.
valueOf
(
"5"
).
equals
(
showType
)
&&
!
org
.
springframework
.
util
.
CollectionUtils
.
isEmpty
(
chooseSendGoodList
))
{
...
...
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