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
d96ac350
Commit
d96ac350
authored
Mar 11, 2021
by
chongfu.liang
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'feature/20210311-频次券bugfix-lcf'
parents
17c72501
9d022a57
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
40 additions
and
9 deletions
+40
-9
shopping-cart-application-service/src/main/java/cn/freemud/entities/dto/CheckSpqInfoResponseDto.java
+3
-0
shopping-cart-application-service/src/main/java/cn/freemud/service/ShoppingCartNewService.java
+5
-4
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/CouponServiceImpl.java
+10
-0
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/ShoppingCartMealServiceImpl.java
+3
-1
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/ShoppingCartNewServiceImpl.java
+19
-4
No files found.
shopping-cart-application-service/src/main/java/cn/freemud/entities/dto/CheckSpqInfoResponseDto.java
View file @
d96ac350
...
...
@@ -37,4 +37,7 @@ public class CheckSpqInfoResponseDto {
*/
private
Integer
couponType
;
private
List
<
CartGoods
.
CartGoodsExtra
>
extras
;
private
Boolean
isMultiCoupon
;
}
shopping-cart-application-service/src/main/java/cn/freemud/service/ShoppingCartNewService.java
View file @
d96ac350
...
...
@@ -17,6 +17,7 @@ import com.alibaba.fastjson.JSON;
import
com.freemud.application.sdk.api.base.SDKCommonBaseContextWare
;
import
com.freemud.application.sdk.api.productcenter.domain.ProductBeanDTO
;
import
com.freemud.sdk.api.assortment.shoppingcart.constant.CommonsConstant
;
import
javafx.util.Pair
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.lang.StringUtils
;
...
...
@@ -114,7 +115,7 @@ public interface ShoppingCartNewService {
* @param productIds
* @return
*/
default
String
validCoupon
(
String
partnerId
default
Pair
<
String
,
Boolean
>
validCoupon
(
String
partnerId
,
String
storeId
,
String
couponCode
,
List
<
Long
>
productIds
...
...
@@ -132,7 +133,7 @@ public interface ShoppingCartNewService {
}
productIds
.
add
(
Long
.
parseLong
(
checkSpqInfoResponseDto
.
getSkuId
()));
spuId2
=
checkSpqInfoResponseDto
.
getSkuId
();
return
spuId2
;
return
new
Pair
(
spuId2
,
checkSpqInfoResponseDto
.
getIsMultiCoupon
())
;
}
/**
...
...
@@ -146,7 +147,7 @@ public interface ShoppingCartNewService {
* @param goodsId
* @return
*/
default
String
validCoupon
(
String
partnerId
default
Pair
<
String
,
Boolean
>
validCoupon
(
String
partnerId
,
String
storeId
,
String
couponCode
,
List
<
Long
>
productIds
...
...
@@ -164,7 +165,7 @@ public interface ShoppingCartNewService {
productIds
.
add
(
Long
.
parseLong
(
checkSpqInfoResponseDto
.
getSkuId
()));
couponProductDto
.
setType
(
checkSpqInfoResponseDto
.
getCouponType
());
spuId2
=
checkSpqInfoResponseDto
.
getSkuId
();
return
spuId2
;
return
new
Pair
(
spuId2
,
checkSpqInfoResponseDto
.
getIsMultiCoupon
())
;
}
/**
...
...
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/CouponServiceImpl.java
View file @
d96ac350
...
...
@@ -750,6 +750,11 @@ public class CouponServiceImpl implements CouponService {
dto
.
setActiveCode
(
couponDetailResponseDto
.
getDetails
().
get
(
0
).
getActive
().
getActiveCode
());
dto
.
setCouponName
(
couponDetailResponseDto
.
getDetails
().
get
(
0
).
getTitle
());
dto
.
setActivityName
(
couponDetailResponseDto
.
getDetails
().
get
(
0
).
getActive
().
getActiveName
());
if
(
couponDetailResponseDto
.
getDetails
().
get
(
0
).
getActive
().
getMaxRedeemTimes
()
!=
null
&&
couponDetailResponseDto
.
getDetails
().
get
(
0
).
getActive
().
getMaxRedeemTimes
()
>
1
){
dto
.
setIsMultiCoupon
(
true
);
}
else
{
dto
.
setIsMultiCoupon
(
false
);
}
dto
.
setPrice
(
productsVo
.
getFinalPrice
());
dto
.
setSpuId
(
productsVo
.
getSpuId
());
dto
.
setSpuName
(
productsVo
.
getSkuName
());
...
...
@@ -912,6 +917,11 @@ public class CouponServiceImpl implements CouponService {
return
null
;
}
CheckSpqInfoResponseDto
dto
=
new
CheckSpqInfoResponseDto
();
if
(
couponDetailResponseDto
.
getDetails
().
get
(
0
).
getActive
().
getMaxRedeemTimes
()
!=
null
&&
couponDetailResponseDto
.
getDetails
().
get
(
0
).
getActive
().
getMaxRedeemTimes
()
>
1
){
dto
.
setIsMultiCoupon
(
true
);
}
else
{
dto
.
setIsMultiCoupon
(
false
);
}
dto
.
setCouponCode
(
couponCode
);
dto
.
setActiveCode
(
couponActivityDetail
.
getActive
().
getActiveCode
());
dto
.
setCouponName
(
couponActivityDetail
.
getTitle
());
...
...
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/ShoppingCartMealServiceImpl.java
View file @
d96ac350
...
...
@@ -43,6 +43,7 @@ import com.freemud.sdk.api.assortment.shoppingcart.domain.CartParamDto;
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.service.impl.MealCartBaseServiceImpl
;
import
javafx.util.Pair
;
import
org.apache.commons.lang.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
...
...
@@ -121,7 +122,8 @@ public class ShoppingCartMealServiceImpl implements ShoppingCartNewService {
productIds
.
add
(
Long
.
parseLong
(
goodsId
));
}
else
{
//校验券是否有效
spuId2
=
validCoupon
(
partnerId
,
storeId
,
spuId
,
productIds
,
BusinessTypeEnum
.
getByType
(
requestVo
.
getMenuType
()).
getCode
(),
null
);
Pair
<
String
,
Boolean
>
pair
=
validCoupon
(
partnerId
,
storeId
,
spuId
,
productIds
,
BusinessTypeEnum
.
getByType
(
requestVo
.
getMenuType
()).
getCode
(),
null
,
null
);
spuId2
=
pair
.
getKey
();
}
// 获取商品信息
List
<
ProductBeanDTO
>
productBeanListSpuClass
=
...
...
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/ShoppingCartNewServiceImpl.java
View file @
d96ac350
...
...
@@ -75,6 +75,8 @@ 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.ShoppingCartBaseServiceImpl
;
import
com.google.common.collect.Lists
;
import
com.sun.org.apache.xpath.internal.operations.Bool
;
import
javafx.util.Pair
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.lang.ObjectUtils
;
...
...
@@ -291,16 +293,21 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
//商品skuId或者商品券的商品id
String
spuId2
=
spuId
;
CouponProductDto
couponProductDto
=
new
CouponProductDto
();
Boolean
isMultiCoupon
=
false
;
if
(
StringUtils
.
isBlank
(
couponCode
))
{
productIds
.
add
(
Long
.
parseLong
(
goodsId
));
}
else
{
//校验券是否有效 这里是新的商品券支持多商品及换购券
if
(
StringUtils
.
isNotBlank
(
skuId
))
{
spuId2
=
validCoupon
(
partnerId
,
storeId
,
couponCode
,
productIds
,
BusinessTypeEnum
.
getByType
(
addShoppingCartGoodsRequestVo
.
getMenuType
()).
getCode
(),
skuId
,
couponProductDto
);
Pair
<
String
,
Boolean
>
pair
=
validCoupon
(
partnerId
,
storeId
,
couponCode
,
productIds
,
BusinessTypeEnum
.
getByType
(
addShoppingCartGoodsRequestVo
.
getMenuType
()).
getCode
(),
skuId
,
couponProductDto
);
spuId2
=
pair
.
getKey
();
isMultiCoupon
=
pair
.
getValue
();
cartGoods
.
setGoodsId
(
spuId
);
}
else
{
// 老版本商品券
spuId2
=
validCoupon
(
partnerId
,
storeId
,
couponCode
,
productIds
,
BusinessTypeEnum
.
getByType
(
addShoppingCartGoodsRequestVo
.
getMenuType
()).
getCode
(),
couponProductDto
);
Pair
<
String
,
Boolean
>
pair
=
validCoupon
(
partnerId
,
storeId
,
couponCode
,
productIds
,
BusinessTypeEnum
.
getByType
(
addShoppingCartGoodsRequestVo
.
getMenuType
()).
getCode
(),
couponProductDto
);
spuId2
=
pair
.
getKey
();
isMultiCoupon
=
pair
.
getValue
();
}
}
// 获取商品详细信息
...
...
@@ -342,7 +349,7 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
}
else
{
// 当商品是商品券,里面会判断如果购物车中已有商品券,会将cartGoods的CartGoodsUid设为null
this
.
addProductGoods
(
addShoppingCartGoodsRequestVo
,
cartGoods
,
spuId2
,
userId
,
shoppingCartGoodsResponseVo
,
spuId
,
allCartGoodsList
,
productBeanListSpuClass
,
couponProductDto
,
couponCode
);
spuId
,
allCartGoodsList
,
productBeanListSpuClass
,
couponProductDto
,
couponCode
,
isMultiCoupon
);
}
Long
deliveryAmount
=
calculateDeliveryAmount
(
receiveId
,
partnerId
,
storeId
,
userLoginInfoDto
.
getWxAppid
(),
shoppingCartGoodsResponseVo
,
addShoppingCartGoodsRequestVo
.
getOrderType
());
...
...
@@ -1721,7 +1728,9 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
*/
private
void
addProductGoods
(
AddShoppingCartGoodsRequestVo
addShoppingCartGoodsRequestVo
,
CartGoods
cartGoods
,
String
spuId2
,
String
userId
,
ShoppingCartGoodsResponseVo
shoppingCartGoodsResponseVo
,
String
spuId
,
List
<
CartGoods
>
allCartGoodsList
,
List
<
ProductBean
>
productBeanListSpuClass
,
CouponProductDto
couponProductDto
,
String
couponCode
)
{
,
List
<
CartGoods
>
allCartGoodsList
,
List
<
ProductBean
>
productBeanListSpuClass
,
CouponProductDto
couponProductDto
,
String
couponCode
,
Boolean
isMultiCoupon
)
{
// 设置商品类型为商品券
if
(
CouponTypeEnum
.
TYPE_4
.
getCode
().
equals
(
couponProductDto
.
getType
()))
{
...
...
@@ -1736,6 +1745,12 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
}
// 商品券Id
String
spqId
=
spuId
.
substring
(
CommonsConstant
.
COUPON_PREFIX
.
length
());
if
(
CollectionUtils
.
isNotEmpty
(
allCartGoodsList
)
&&
!
isMultiCoupon
){
CartGoods
sameCartGoods
=
allCartGoodsList
.
stream
().
filter
(
p
->
p
.
getSpuId
().
equals
(
spqId
)).
findFirst
().
orElse
(
null
);
if
(
sameCartGoods
!=
null
&&
sameCartGoods
.
getQty
()
!=
null
&&
sameCartGoods
.
getQty
()
>
0
){
throw
new
ServiceException
(
ResponseResult
.
SHOPPING_CART_GOODS_COUPON_CAN_NOT_USE
);
}
}
cartGoods
.
setSpuId
(
spqId
);
cartGoods
.
setSkuId
(
spuId2
);
cartGoods
.
setOriginalPrice
(
0L
);
...
...
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