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
9c9a10b4
Commit
9c9a10b4
authored
Oct 28, 2021
by
查志伟
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
赠品添加属性
parent
f6d924c5
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
40 additions
and
10 deletions
+40
-10
shopping-cart-application-service/src/main/java/cn/freemud/service/active/impl/PlatformActiveServiceImpl.java
+10
-2
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/BuyAndGiftsPromotionService.java
+29
-7
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/ShoppingCartNewServiceImpl.java
+1
-1
No files found.
shopping-cart-application-service/src/main/java/cn/freemud/service/active/impl/PlatformActiveServiceImpl.java
View file @
9c9a10b4
...
@@ -13,14 +13,19 @@
...
@@ -13,14 +13,19 @@
package
cn
.
freemud
.
service
.
active
.
impl
;
package
cn
.
freemud
.
service
.
active
.
impl
;
import
cn.freemud.entities.dto.calculate.*
;
import
cn.freemud.entities.dto.calculate.ActivityCalculationDiscountRequestDto
;
import
cn.freemud.entities.dto.calculate.CalculationDiscountResult
;
import
cn.freemud.entities.dto.calculate.Goods
;
import
cn.freemud.entities.dto.calculate.GoodsDiscount
;
import
cn.freemud.entities.vo.CartGoods
;
import
cn.freemud.entities.vo.CartGoods
;
import
cn.freemud.entities.vo.ShoppingCartInfoRequestVo
;
import
cn.freemud.entities.vo.ShoppingCartInfoRequestVo
;
import
cn.freemud.enums.ActivityTypeEnum
;
import
cn.freemud.enums.ActivityTypeEnum
;
import
cn.freemud.enums.CalculationGoodsType
;
import
cn.freemud.enums.CalculationGoodsType
;
import
cn.freemud.service.active.ActiveService
;
import
cn.freemud.service.active.ActiveService
;
import
cn.freemud.service.impl.BuyAndGiftsPromotionService
;
import
com.freemud.application.sdk.api.productcenter.domain.ProductBeanDTO
;
import
com.freemud.application.sdk.api.productcenter.domain.ProductBeanDTO
;
import
org.apache.commons.lang.ObjectUtils
;
import
org.apache.commons.lang.ObjectUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
...
@@ -32,6 +37,9 @@ import java.util.stream.Collectors;
...
@@ -32,6 +37,9 @@ import java.util.stream.Collectors;
@Service
(
"platformActiveService"
)
@Service
(
"platformActiveService"
)
public
class
PlatformActiveServiceImpl
implements
ActiveService
{
public
class
PlatformActiveServiceImpl
implements
ActiveService
{
@Autowired
private
BuyAndGiftsPromotionService
buyAndGiftsPromotionService
;
/**
/**
* 用户选择的商品和数量都要传给促销
* 用户选择的商品和数量都要传给促销
* @param calculationSharingDiscountRequestDto
* @param calculationSharingDiscountRequestDto
...
@@ -107,7 +115,7 @@ public class PlatformActiveServiceImpl implements ActiveService {
...
@@ -107,7 +115,7 @@ public class PlatformActiveServiceImpl implements ActiveService {
cartGood
.
setClassificationName
(
product
.
getCategoryName
());
cartGood
.
setClassificationName
(
product
.
getCategoryName
());
// nodeId标识activeCode,用于计算均摊时每个商品在每个活动上均摊金额
// nodeId标识activeCode,用于计算均摊时每个商品在每个活动上均摊金额
cartGood
.
setNodeId
(
discount
.
getActivityCode
());
cartGood
.
setNodeId
(
discount
.
getActivityCode
());
addcartGoodsList
.
add
(
cartGood
);
addcartGoodsList
.
add
All
(
buyAndGiftsPromotionService
.
setGiftExtra
(
cartGood
,
product
,
addcartGoodsList
)
);
}
}
}
}
...
...
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/BuyAndGiftsPromotionService.java
View file @
9c9a10b4
...
@@ -17,6 +17,7 @@ import com.freemud.sdk.api.assortment.shoppingcart.service.impl.ShoppingCartBase
...
@@ -17,6 +17,7 @@ import com.freemud.sdk.api.assortment.shoppingcart.service.impl.ShoppingCartBase
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.lang.ObjectUtils
;
import
org.apache.commons.lang.ObjectUtils
;
import
org.apache.commons.lang.StringUtils
;
import
org.apache.commons.lang.StringUtils
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
...
@@ -99,9 +100,7 @@ public class BuyAndGiftsPromotionService implements IPromotionService {
...
@@ -99,9 +100,7 @@ public class BuyAndGiftsPromotionService implements IPromotionService {
cartGoods
.
setNodeId
(
sendActivity
.
getActivityCode
());
cartGoods
.
setNodeId
(
sendActivity
.
getActivityCode
());
cartGoods
.
setOriginalGoodsUid
(
sendGoods
.
getOriginalGoodsUid
());
cartGoods
.
setOriginalGoodsUid
(
sendGoods
.
getOriginalGoodsUid
());
cartGoods
.
setIsSendGoods
(
true
);
cartGoods
.
setIsSendGoods
(
true
);
cartGoodsList
.
addAll
(
this
.
setGiftExtra
(
cartGoods
,
product
,
cartGoodsList
));
this
.
setGiftExtra
(
cartGoods
,
product
,
cartGoodsList
);
cartGoodsList
.
add
(
cartGoods
);
totalGiftAmount
+=
product
.
getFinalPrice
()
*
sendGoods
.
getSendNumber
();
totalGiftAmount
+=
product
.
getFinalPrice
()
*
sendGoods
.
getSendNumber
();
}
}
}
}
...
@@ -202,7 +201,17 @@ public class BuyAndGiftsPromotionService implements IPromotionService {
...
@@ -202,7 +201,17 @@ public class BuyAndGiftsPromotionService implements IPromotionService {
}
}
private
void
setGiftExtra
(
CartGoods
cartGoods
,
ProductBeanDTO
product
,
List
<
CartGoods
>
cartGoodsList
)
{
/**
* 设置赠品的属性, 默认选择第一个属性, 如果购物车有同样商品,则和购物车商品属性一致
* @param cartGoods 赠品的购物车行
* @param product 商品信息
* @param cartGoodsList 现购物车行信息
* @return 如果赠品有多个,则会分裂为多行返回
*/
public
List
<
CartGoods
>
setGiftExtra
(
CartGoods
cartGoods
,
ProductBeanDTO
product
,
List
<
CartGoods
>
cartGoodsList
)
{
List
<
CartGoods
>
result
=
new
ArrayList
<>();
result
.
add
(
cartGoods
);
long
count
=
cartGoodsList
.
stream
().
filter
(
c
->
c
.
getSpuId
().
equals
(
cartGoods
.
getSpuId
())).
count
();
long
count
=
cartGoodsList
.
stream
().
filter
(
c
->
c
.
getSpuId
().
equals
(
cartGoods
.
getSpuId
())).
count
();
//购物车内存在同类
//购物车内存在同类
if
(
count
>
0
)
{
if
(
count
>
0
)
{
...
@@ -217,9 +226,7 @@ public class BuyAndGiftsPromotionService implements IPromotionService {
...
@@ -217,9 +226,7 @@ public class BuyAndGiftsPromotionService implements IPromotionService {
}
}
//不存在
//不存在
else
{
else
{
if
(
product
.
getProductAttributeGroupList
().
size
()==
0
)
{
if
(
product
.
getProductAttributeGroupList
().
size
()
>
0
)
{
return
;
}
List
<
CartGoods
.
CartGoodsExtra
>
extra
=
new
ArrayList
<>();
List
<
CartGoods
.
CartGoodsExtra
>
extra
=
new
ArrayList
<>();
ArrayList
<
String
>
name
=
new
ArrayList
<>();
ArrayList
<
String
>
name
=
new
ArrayList
<>();
List
<
ProductBeanDTO
.
ProductAttributeGroupListBean
>
productAttributeGroupList
=
product
.
getProductAttributeGroupList
();
List
<
ProductBeanDTO
.
ProductAttributeGroupListBean
>
productAttributeGroupList
=
product
.
getProductAttributeGroupList
();
...
@@ -236,4 +243,19 @@ public class BuyAndGiftsPromotionService implements IPromotionService {
...
@@ -236,4 +243,19 @@ public class BuyAndGiftsPromotionService implements IPromotionService {
cartGoods
.
setSubName
(
StringUtils
.
join
(
name
,
"/"
));
cartGoods
.
setSubName
(
StringUtils
.
join
(
name
,
"/"
));
}
}
}
}
//如果赠品有属性,并且赠送的数量大于1,则分裂为多行,每行数量为1,这样前端可以为每一个赠品选择不同属性
if
(
CollectionUtils
.
isNotEmpty
(
cartGoods
.
getExtra
())
&&
cartGoods
.
getQty
()
>
1
)
{
int
qty
=
cartGoods
.
getQty
();
cartGoods
.
setQty
(
1
);
//设置数量为1
for
(
int
i
=
1
;
i
<
qty
;
i
++)
{
CartGoods
newRow
=
new
CartGoods
();
BeanUtils
.
copyProperties
(
cartGoods
,
newRow
);
newRow
.
setCartGoodsUid
(
UUID
.
randomUUID
().
toString
());
newRow
.
setQty
(
1
);
result
.
add
(
newRow
);
}
}
return
result
;
}
}
}
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/ShoppingCartNewServiceImpl.java
View file @
9c9a10b4
...
@@ -370,7 +370,7 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
...
@@ -370,7 +370,7 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
ActivityQueryDto
activityQueryDto
=
activityAdapter
.
getActivityQueryDto
(
partnerId
,
storeId
,
userId
,
appId
,
addShoppingCartGoodsRequestVo
.
getOrderType
());
ActivityQueryDto
activityQueryDto
=
activityAdapter
.
getActivityQueryDto
(
partnerId
,
storeId
,
userId
,
appId
,
addShoppingCartGoodsRequestVo
.
getOrderType
());
activityQueryDto
.
setBizType
(
bizType
);
activityQueryDto
.
setBizType
(
bizType
);
if
(
grayPush
(
partnerId
,
storeId
,
"2"
)
)
{
if
(
true
)
{
CalculationDiscountResult
discountResult
=
null
;
CalculationDiscountResult
discountResult
=
null
;
discountResult
=
sharingDiscountService
.
getCalculationSharingDiscountResult
(
menuType
,
partnerId
,
storeId
,
userId
discountResult
=
sharingDiscountService
.
getCalculationSharingDiscountResult
(
menuType
,
partnerId
,
storeId
,
userId
,
appId
,
orderType
,
assortmentCustomerInfoVo
.
isMemberPaid
(),
allCartGoodsList
,
appId
,
orderType
,
assortmentCustomerInfoVo
.
isMemberPaid
(),
allCartGoodsList
...
...
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