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
7d033456
Commit
7d033456
authored
Jan 12, 2021
by
yu.sun
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
sunyu::update::new function about p5v1
parent
60cb0f5a
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
87 additions
and
9 deletions
+87
-9
shopping-cart-application-service/src/main/java/cn/freemud/entities/vo/CartGoods.java
+4
-0
shopping-cart-application-service/src/main/java/cn/freemud/entities/vo/MonthCardVo.java
+28
-0
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/mcoffee/ShoppingCartMCoffeeServiceImpl.java
+45
-5
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/mcoffee/entity/MCoffeeAddGoodsRequestVo.java
+10
-4
No files found.
shopping-cart-application-service/src/main/java/cn/freemud/entities/vo/CartGoods.java
View file @
7d033456
...
...
@@ -200,6 +200,10 @@ public class CartGoods {
*/
private
Boolean
isTableware
=
false
;
/**
* 是否是月享卡商品
*/
private
int
isMonthCard
=
0
;
/**
* 第三方商品编码
*/
private
String
customerCode
;
...
...
shopping-cart-application-service/src/main/java/cn/freemud/entities/vo/MonthCardVo.java
0 → 100644
View file @
7d033456
package
cn
.
freemud
.
entities
.
vo
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
/**
* All rights Reserved, Designed By sunary.site
*
* @version v1.0
* @Title: IntelliJ IDEA
* @Package cn.freemud.entities.vo
* @Description: 请简单描述下这个类是做什么用的
* @author: yu.sun
* @date: 2021-01-11 15:18:36
* @Copyright: 2019 www.freemud.cn Inc. All rights reserved.
*/
@Data
@NoArgsConstructor
public
class
MonthCardVo
{
/**
* 卡号
*/
private
String
no
;
/**
* 月享卡类型:1.月享卡(单商品购买);2.月享卡(多商品购买);3.普通月卡
*/
private
Integer
type
;
}
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/mcoffee/ShoppingCartMCoffeeServiceImpl.java
View file @
7d033456
...
...
@@ -170,14 +170,21 @@ public class ShoppingCartMCoffeeServiceImpl {
if
(
CollectionUtils
.
isEmpty
(
oldCartGoodsList
))
{
oldCartGoodsList
=
new
ArrayList
<>();
}
if
(
mcCafeTablewareSkuId
.
equals
(
skuId
))
{
//餐具和月享卡数量限制
if
(
mcCafeTablewareSkuId
.
equals
(
skuId
)
||
Objects
.
equals
(
addShoppingCartGoodsRequestVo
.
getIsMonthCard
(),
1
))
{
for
(
CartGoods
cartGoods
:
oldCartGoodsList
)
{
if
(
mcCafeTablewareSkuId
.
equals
(
cartGoods
.
getSkuId
()))
{
if
(
mcCafeTablewareSkuId
.
equals
(
cartGoods
.
getSkuId
()))
{
return
ResponseUtil
.
error
(
ResponseResult
.
SHOPPING_CART_ADD_ERROR
.
getCode
(),
"不能重复添加餐具商品"
);
}
if
(
Objects
.
equals
(
addShoppingCartGoodsRequestVo
.
getIsMonthCard
(),
1
)
&&
cartGoods
.
getQty
()>
9
){
shoppingCartGoodsResponseVo
.
setChanged
(
false
);
shoppingCartGoodsResponseVo
.
setToastMsg
(
"月享卡最多购买10张"
);
return
ResponseUtil
.
success
(
shoppingCartGoodsResponseVo
);
}
}
}
//商品券已添加情况校验
List
<
ActivityCalculationDiscountRequestDto
.
CalculationDiscountCoupon
>
coupons
=
checkGoodsCoupon
(
oldCartGoodsList
,
operationType
,
couponCode
,
goodsId
,
addShoppingCartGoodsRequestVo
);
CartGoods
addCartGoods
=
convent2CartGoods
(
addShoppingCartGoodsRequestVo
,
goodsId
,
vo
);
...
...
@@ -196,6 +203,14 @@ public class ShoppingCartMCoffeeServiceImpl {
addCartGoods
.
setCouponName
(
couponName
);
}
if
(
Objects
.
equals
(
1
,
addShoppingCartGoodsRequestVo
.
getIsMonthCard
())){
CustomerInfoVo
userLoginInfoDto
=
getCustomerInfoVo
(
sessionId
);
couponName
=
getCouponNameByCode
(
addShoppingCartGoodsRequestVo
.
getMonthCardInfo
().
getNo
(),
userLoginInfoDto
,
BusinessTypeEnum
.
getByType
(
addShoppingCartGoodsRequestVo
.
getMenuType
()).
getCode
(),
storeId
);
addCartGoods
.
setCouponName
(
couponName
);
assortmentSdkService
.
setShoppingCartCouponCode
(
partnerId
,
storeId
,
userId
,
addShoppingCartGoodsRequestVo
.
getMonthCardInfo
().
getNo
(),
shoppingCartBaseService
,
SaveCouponType
.
MON_COUPON
.
getCode
());
}
// 如果购物车中有商品券,则当前添加的商品是特价商品时,需要提示“已选商品券,与其他优惠商品不同享,商品将恢复原价”
boolean
haveCouponProduct
=
oldCartGoodsList
.
parallelStream
().
anyMatch
(
k
->
k
.
getCartGoodsUid
().
startsWith
(
CommonsConstant
.
COUPON_PREFIX
));
if
(
haveCouponProduct
&&
isSpecialGoods
(
partnerId
,
storeId
,
userId
,
appId
,
goodsId
,
orderType
))
{
...
...
@@ -206,9 +221,12 @@ public class ShoppingCartMCoffeeServiceImpl {
// 购物车数据更新(保存商品原价)
List
<
CartGoods
>
newCartGoods
=
updateCartGoodsLegal
(
partnerId
,
storeId
,
orderType
,
tableNumber
,
menuType
,
userId
,
addCartGoods
,
shoppingCartGoodsResponseVo
,
oldCartGoodsList
);
//月享卡购卡费用
Long
payCardPrice
=
newCartGoods
.
stream
().
filter
(
goods
->
Objects
.
equals
(
1
,
goods
.
getIsMonthCard
())).
mapToLong
(
CartGoods:
:
getOriginalPrice
).
sum
();
// 促销活动等价格计算
calculationService
.
updateShoppingCartGoodsDiscount
(
partnerId
,
storeId
,
userId
,
appId
,
orderType
,
assortmentCustomerInfoVo
.
isMemberPaid
(),
menuType
,
receiveId
,
null
,
newCartGoods
,
coupons
,
new
ArrayList
<>(),
shoppingCartGoodsResponseVo
,
null
);
newCartGoods
,
coupons
,
new
ArrayList
<>(),
shoppingCartGoodsResponseVo
,
payCardPrice
);
// 返回购物车数据
setAddAndUpdateResponse
(
shoppingCartGoodsResponseVo
,
newCartGoods
,
null
,
ShoppingCartConstant
.
ADD_AND_UPDATE
,
null
);
...
...
@@ -423,19 +441,36 @@ public class ShoppingCartMCoffeeServiceImpl {
temList
.
addAll
(
checkCartGoods
(
partnerId
,
storeId
,
orderType
,
menuType
,
shoppingCartGoodsResponseVo
,
Arrays
.
asList
(
goods
)));
}
cartGoodsList
=
temList
;
//如果是餐具商品,则放到最后
if
(
CollectionUtils
.
isNotEmpty
(
cartGoodsList
))
{
int
size
=
cartGoodsList
.
size
();
Boolean
hasTableWareSku
=
false
;
for
(
int
i
=
0
;
i
<
size
;
i
++)
{
//如果是餐具商品,则放到最后
if
(
cartGoodsList
.
get
(
i
).
getSkuId
().
equals
(
mcCafeTablewareSkuId
))
{
CartGoods
cartGoods
=
cartGoodsList
.
get
(
i
);
cartGoods
.
setIsTableware
(
true
);
hasTableWareSku
=
true
;
if
(
i
!=
size
-
1
)
{
cartGoodsList
.
remove
(
i
);
cartGoodsList
.
add
(
cartGoods
);
break
;
}
}
//如果有餐具,月享卡放倒数第二; 没有餐具,月享卡放最后
if
(
Objects
.
equals
(
1
,
cartGoodsList
.
get
(
i
).
getIsMonthCard
()))
{
CartGoods
cartGoods
=
cartGoodsList
.
get
(
i
);
if
(
hasTableWareSku
&&
i
!=
size
-
2
)
{
cartGoodsList
.
remove
(
i
);
cartGoodsList
.
add
(
cartGoods
);
break
;
}
else
{
if
(
i
!=
size
-
1
)
{
cartGoods
.
setIsMonthCard
(
1
);
cartGoodsList
.
add
(
cartGoods
);
break
;
}
}
}
}
}
// 重新存储最新购物车
...
...
@@ -1410,6 +1445,7 @@ public class ShoppingCartMCoffeeServiceImpl {
cartGoods
.
setSpuId
(
spuId
);
cartGoods
.
setSkuId
(
skuId
);
cartGoods
.
setQty
(
qty
);
cartGoods
.
setIsMonthCard
(
addShoppingCartGoodsRequestVo
.
getIsMonthCard
());
cartGoods
.
setCouponCode
(
addShoppingCartGoodsRequestVo
.
getCouponCode
());
Integer
goodsType
=
StringUtils
.
isEmpty
(
skuId
)
||
ObjectUtils
.
equals
(
spuId
,
skuId
)
?
GoodsTypeEnum
.
SPU_GOODS
.
getGoodsType
()
:
GoodsTypeEnum
.
SKU_GOODS
.
getGoodsType
();
if
(
spuId
.
startsWith
(
CommonsConstant
.
COUPON_PREFIX
))
{
...
...
@@ -1420,12 +1456,16 @@ public class ShoppingCartMCoffeeServiceImpl {
// cartGoods.setCartGoodsUid(spuId);
}
else
if
(
CollectionUtils
.
isNotEmpty
(
addShoppingCartGoodsRequestVo
.
getProductComboList
())
||
CollectionUtils
.
isNotEmpty
(
addShoppingCartGoodsRequestVo
.
getProductGroupList
()))
{
goodsType
=
GoodsTypeEnum
.
SET_MEAL_GOODS
.
getGoodsType
();
}
else
if
(
CommonsConstant
.
COUPON_TYPE
==
addShoppingCartGoodsRequestVo
.
getCouponType
(
)){
}
else
if
(
CommonsConstant
.
COUPON_TYPE
.
equals
(
addShoppingCartGoodsRequestVo
.
getCouponType
()
)){
goodsType
=
GoodsTypeEnum
.
ALL_COUPON_GOODS
.
getGoodsType
();
}
if
(
addShoppingCartGoodsRequestVo
.
getOperationType
()
!=
null
&&
addShoppingCartGoodsRequestVo
.
getOperationType
()
==
2
)
{
goodsType
=
GoodsTypeEnum
.
REDUCE_PRICE_GOODS
.
getGoodsType
();
}
//月享卡卡号
if
(
null
!=
addShoppingCartGoodsRequestVo
.
getMonthCardInfo
()){
cartGoods
.
setCouponCode
(
addShoppingCartGoodsRequestVo
.
getMonthCardInfo
().
getNo
());
}
cartGoods
.
setGoodsType
(
goodsType
);
cartGoods
.
setExtra
(
addShoppingCartGoodsRequestVo
.
getExtra
());
cartGoods
.
setSpecialExtra
(
addShoppingCartGoodsRequestVo
.
getSpecialExtra
());
...
...
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/mcoffee/entity/MCoffeeAddGoodsRequestVo.java
View file @
7d033456
package
cn
.
freemud
.
service
.
impl
.
mcoffee
.
entity
;
import
cn.freemud.entities.vo.CartGoods
;
import
cn.freemud.entities.vo.ComboxGoodsRequestVo
;
import
cn.freemud.entities.vo.MaterialRequestVo
;
import
cn.freemud.entities.vo.ShoppingCartInfoRequestVo
;
import
cn.freemud.entities.vo.*
;
import
lombok.Data
;
import
org.hibernate.validator.constraints.NotEmpty
;
...
...
@@ -133,4 +130,13 @@ public class MCoffeeAddGoodsRequestVo {
*/
private
String
groupName
;
/**
* 当前商品是否为月享卡,0:否,1:是
*/
private
int
isMonthCard
=
0
;
/**
* 月享卡加购信息
*/
private
MonthCardVo
monthCardInfo
;
}
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