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
12c89263
Commit
12c89263
authored
Aug 17, 2021
by
ping.wu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
买M赠N券
parent
2e6f613c
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
89 additions
and
1 deletions
+89
-1
assortment-shoppingcart-sdk/src/main/java/com/freemud/sdk/api/assortment/shoppingcart/constant/GoodsTypeEnum.java
+5
-0
assortment-shoppingcart-sdk/src/main/java/com/freemud/sdk/api/assortment/shoppingcart/service/ShoppingCartBaseService.java
+3
-1
shopping-cart-application-service/src/main/java/cn/freemud/enums/ActivityTypeEnum.java
+1
-0
shopping-cart-application-service/src/main/java/cn/freemud/enums/ShoppingCartPromotionEnum.java
+1
-0
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/BuyMSendNCouponDiscountServiceImpl.java
+79
-0
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/ShoppingCartNewServiceImpl.java
+0
-0
No files found.
assortment-shoppingcart-sdk/src/main/java/com/freemud/sdk/api/assortment/shoppingcart/constant/GoodsTypeEnum.java
View file @
12c89263
...
@@ -21,6 +21,11 @@ public enum GoodsTypeEnum {
...
@@ -21,6 +21,11 @@ public enum GoodsTypeEnum {
SET_MEAL_GOODS
(
3
,
"套餐商品"
),
SET_MEAL_GOODS
(
3
,
"套餐商品"
),
SKU_GOODS
(
4
,
"sku商品"
),
SKU_GOODS
(
4
,
"sku商品"
),
SPU_GOODS
(
5
,
"spu商品"
),
SPU_GOODS
(
5
,
"spu商品"
),
REDUCE_PRICE_GOODS
(
6
,
"超值加购商品"
),
ALL_COUPON_GOODS
(
8
,
"万能券商品"
),
VIRTUAL_GOODS
(
9
,
"虚拟商品"
),
BUY_M_SEND_N_COUPON
(
10
,
"买M送N券"
),
MATERIAL
(
88
,
"有加料的商品"
),
EXCEPTION_GOODS
(
99
,
"异常商品:商品菜单变化导致和购物车不商品匹配"
);
EXCEPTION_GOODS
(
99
,
"异常商品:商品菜单变化导致和购物车不商品匹配"
);
private
Integer
goodsType
;
private
Integer
goodsType
;
...
...
assortment-shoppingcart-sdk/src/main/java/com/freemud/sdk/api/assortment/shoppingcart/service/ShoppingCartBaseService.java
View file @
12c89263
...
@@ -232,7 +232,9 @@ public interface ShoppingCartBaseService {
...
@@ -232,7 +232,9 @@ public interface ShoppingCartBaseService {
CartGoodsStates
cartGoodsStates
=
new
CartGoodsStates
();
CartGoodsStates
cartGoodsStates
=
new
CartGoodsStates
();
for
(
CartGoods
cartGoods
:
checkCartRequest
.
getCartGoodsList
())
{
for
(
CartGoods
cartGoods
:
checkCartRequest
.
getCartGoodsList
())
{
// 当goodsId为空或商品是商品券时直接跳过
// 当goodsId为空或商品是商品券时直接跳过
if
(
StringUtils
.
isEmpty
(
cartGoods
.
getGoodsId
())
||
Objects
.
equals
(
cartGoods
.
getGoodsType
(),
GoodsTypeEnum
.
COUPON_GOODS
.
getGoodsType
())
||
Objects
.
equals
(
cartGoods
.
getGoodsType
(),
GoodsTypeEnum
.
HG_COUPON_GOODS
.
getGoodsType
()))
{
if
(
StringUtils
.
isEmpty
(
cartGoods
.
getGoodsId
())
||
Objects
.
equals
(
cartGoods
.
getGoodsType
(),
GoodsTypeEnum
.
COUPON_GOODS
.
getGoodsType
())
||
Objects
.
equals
(
cartGoods
.
getGoodsType
(),
GoodsTypeEnum
.
HG_COUPON_GOODS
.
getGoodsType
())
||
Objects
.
equals
(
cartGoods
.
getGoodsType
(),
GoodsTypeEnum
.
BUY_M_SEND_N_COUPON
.
getGoodsType
()))
{
continue
;
continue
;
}
}
shoppingCartAdapter
.
updateCartGoodsInfoNew
(
cartGoods
,
productList
);
shoppingCartAdapter
.
updateCartGoodsInfoNew
(
cartGoods
,
productList
);
...
...
shopping-cart-application-service/src/main/java/cn/freemud/enums/ActivityTypeEnum.java
View file @
12c89263
...
@@ -36,6 +36,7 @@ public enum ActivityTypeEnum {
...
@@ -36,6 +36,7 @@ public enum ActivityTypeEnum {
TYPE_31
(
31
,
"折扣券"
),
TYPE_31
(
31
,
"折扣券"
),
TYPE_32
(
32
,
"商品券"
),
TYPE_32
(
32
,
"商品券"
),
TYPE_33
(
33
,
"换购券"
),
TYPE_33
(
33
,
"换购券"
),
TYPE_330
(
330
,
"买M赠N券"
),
TYPE_34
(
34
,
"配送券"
),
TYPE_34
(
34
,
"配送券"
),
TYPE_37
(
37
,
"月享卡种子券"
),
TYPE_37
(
37
,
"月享卡种子券"
),
TYPE_35
(
35
,
"买3赠1券"
),
TYPE_35
(
35
,
"买3赠1券"
),
...
...
shopping-cart-application-service/src/main/java/cn/freemud/enums/ShoppingCartPromotionEnum.java
View file @
12c89263
...
@@ -28,6 +28,7 @@ public enum ShoppingCartPromotionEnum {
...
@@ -28,6 +28,7 @@ public enum ShoppingCartPromotionEnum {
Material
(
12
,
"MaterialPromotionService"
),
Material
(
12
,
"MaterialPromotionService"
),
// 集点活动类
// 集点活动类
GATHER_SPOT
(
13
,
"gatherSpotPromotionService"
),
GATHER_SPOT
(
13
,
"gatherSpotPromotionService"
),
BUY_M_SEND_N_COUPON
(
14
,
"buyMSendNCouponDiscountService"
),
MEMBER_DISCOUNT_NEw
(
27
,
"memberDiscountService"
);
MEMBER_DISCOUNT_NEw
(
27
,
"memberDiscountService"
);
private
Integer
type
;
private
Integer
type
;
...
...
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/BuyMSendNCouponDiscountServiceImpl.java
0 → 100644
View file @
12c89263
package
cn
.
freemud
.
service
.
impl
;
import
cn.freemud.entities.dto.ActivityCalculationDiscountResponseDto
;
import
cn.freemud.entities.dto.UserLoginInfoDto
;
import
cn.freemud.entities.dto.activity.ActivityQueryDto
;
import
cn.freemud.entities.dto.shoppingCart.ShoppingCartGoodsDto
;
import
cn.freemud.entities.vo.*
;
import
cn.freemud.enums.ActivityTypeEnum
;
import
cn.freemud.service.IPromotionService
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.stereotype.Service
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.Objects
;
import
java.util.stream.Collectors
;
@Service
(
"buyMSendNCouponDiscountService"
)
public
class
BuyMSendNCouponDiscountServiceImpl
implements
IPromotionService
{
@Override
public
void
updateShoppingCartGoodsDiscount
(
CouponPromotionVO
couponPromotionVO
,
ActivityQueryDto
activityQueryDto
,
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
calculationDiscountResult
,
List
<
CartGoods
>
cartGoodsList
,
ShoppingCartGoodsResponseVo
shoppingCartGoodsResponseVo
,
UserLoginInfoDto
userLoginInfoDto
,
ShoppingCartInfoRequestVo
shoppingCartInfoRequestVo
)
{
if
(
calculationDiscountResult
==
null
||
CollectionUtils
.
isEmpty
(
calculationDiscountResult
.
getCouponDiscounts
()))
{
return
;
}
List
<
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
.
CouponResults
>
couponResultsList
=
calculationDiscountResult
.
getCouponDiscounts
();
List
<
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
.
CouponResults
>
collect
=
couponResultsList
.
stream
().
filter
(
c
->
ActivityTypeEnum
.
TYPE_330
.
getCode
().
equals
(
c
.
getActivityType
())).
collect
(
Collectors
.
toList
());
if
(
CollectionUtils
.
isEmpty
(
collect
))
{
return
;
}
for
(
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
.
Goods
goods
:
calculationDiscountResult
.
getGoods
()){
if
(
CollectionUtils
.
isEmpty
(
goods
.
getDiscounts
())){
continue
;
}
List
<
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
.
Goods
.
GoodsDiscount
>
goodsDiscounts
=
goods
.
getDiscounts
().
stream
().
filter
(
c
->
ActivityTypeEnum
.
TYPE_330
.
getCode
().
equals
(
c
.
getType
())).
collect
(
Collectors
.
toList
());
if
(
CollectionUtils
.
isEmpty
(
goodsDiscounts
)){
continue
;
}
List
<
CartGoods
>
addSendGoodsList
=
new
ArrayList
<>();
for
(
CartGoods
cartGoods
:
cartGoodsList
)
{
if
(
Objects
.
equals
(
goods
.
getCartGoodsUid
(),
cartGoods
.
getCartGoodsUid
())){
Integer
actualGoodsNumber
=
goodsDiscounts
.
get
(
0
).
getActualGoodsNumber
();
if
(
cartGoods
.
getQty
()
>
actualGoodsNumber
){
CartGoods
cartGood
=
new
CartGoods
();
BeanUtils
.
copyProperties
(
cartGoods
,
cartGood
);
cartGood
.
setQty
(
actualGoodsNumber
);
cartGood
.
setAmount
(
0L
);
cartGoods
.
setQty
(
cartGoods
.
getQty
()-
actualGoodsNumber
);
cartGoods
.
setAmount
(
cartGoods
.
getAmount
()-
goodsDiscounts
.
get
(
0
).
getDiscount
());
addSendGoodsList
.
add
(
cartGood
);
}
if
(
cartGoods
.
getQty
()
==
actualGoodsNumber
){
cartGoods
.
setAmount
(
0L
);
}
}
}
cartGoodsList
.
addAll
(
addSendGoodsList
);
}
}
@Override
public
void
updateShoppingCartGoodsApportion
(
ShoppingCartGoodsResponseVo
shoppingCartGoodsResponseVo
,
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
calculationDiscountResult
,
ShoppingCartGoodsDto
shoppingCartGoodsDto
,
CreateOrderVo
.
PremiumExchangeActivity
premiumExchangeActivity
,
ShoppingCartInfoRequestVo
shoppingCartInfoRequestVo
)
{
}
}
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/ShoppingCartNewServiceImpl.java
View file @
12c89263
This diff is collapsed.
Click to expand it.
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