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
5728124a
Commit
5728124a
authored
Mar 11, 2021
by
zhiheng.zhang
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/master'
parents
dc239497
8f6177eb
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
18 changed files
with
251 additions
and
18 deletions
+251
-18
order-application-service/src/main/java/cn/freemud/service/impl/AppOrderServiceImpl.java
+1
-1
shopping-cart-application-service/src/main/java/cn/freemud/entities/dto/ActivityCalculationDiscountRequestDto.java
+4
-0
shopping-cart-application-service/src/main/java/cn/freemud/entities/dto/ActivityCalculationDiscountResponseDto.java
+23
-0
shopping-cart-application-service/src/main/java/cn/freemud/entities/dto/ActivityResponseDto.java
+5
-1
shopping-cart-application-service/src/main/java/cn/freemud/entities/dto/BenefitBeanDto.java
+87
-1
shopping-cart-application-service/src/main/java/cn/freemud/entities/dto/PromotionMessageDto.java
+4
-0
shopping-cart-application-service/src/main/java/cn/freemud/entities/dto/calculate/CalculationSharingDiscountResponseDto.java
+8
-1
shopping-cart-application-service/src/main/java/cn/freemud/entities/vo/ActivityList.java
+9
-0
shopping-cart-application-service/src/main/java/cn/freemud/enums/ActivityTypeEnum.java
+1
-0
shopping-cart-application-service/src/main/java/cn/freemud/enums/GiftTypeEnum.java
+40
-0
shopping-cart-application-service/src/main/java/cn/freemud/service/active/impl/PlatformActiveServiceImpl.java
+1
-1
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/BuyAndGiftsPromotionService.java
+40
-8
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/BuySendPromotionService.java
+15
-3
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/FullPromotionService.java
+0
-0
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/FullSubtractionActivityServiceImpl.java
+0
-0
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/ShoppingCartNewServiceImpl.java
+12
-1
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/calculate/promotion/FullSharingService.java
+0
-0
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/calculate/promotion/GiftSharingService.java
+1
-1
No files found.
order-application-service/src/main/java/cn/freemud/service/impl/AppOrderServiceImpl.java
View file @
5728124a
...
...
@@ -123,7 +123,7 @@ public class AppOrderServiceImpl implements AppOrderService {
requestDto
.
setCouponCodes
(
couponList
);
requestDto
.
setPartnerId
(
Integer
.
valueOf
(
createOrderVo
.
getPartnerId
()));
InvalidCouponsResponseDto
invalidCouponsResponseDto
=
couponOnlineClient
.
invalidCoupons
(
requestDto
);
if
(
invalidCouponsResponseDto
.
getStatusCode
()
!=
100
||
invalidCouponsResponseDto
.
getData
()
==
null
||
(
invalidCouponsResponseDto
.
getData
()
!=
null
&&
CollectionUtils
.
isEmpty
(
invalidCouponsResponseDto
.
getData
().
getInvalidCoupons
()))){
if
(
invalidCouponsResponseDto
.
getStatusCode
()
!=
100
||
invalidCouponsResponseDto
.
getData
()
==
null
||
(
invalidCouponsResponseDto
.
getData
()
!=
null
&&
CollectionUtils
.
is
Not
Empty
(
invalidCouponsResponseDto
.
getData
().
getInvalidCoupons
()))){
return
ResponseUtil
.
error
(
ResponseResult
.
COUPON_INVALID
.
getCode
(),
ResponseResult
.
COUPON_INVALID
.
getMessage
());
}
}
...
...
shopping-cart-application-service/src/main/java/cn/freemud/entities/dto/ActivityCalculationDiscountRequestDto.java
View file @
5728124a
...
...
@@ -17,6 +17,10 @@ public class ActivityCalculationDiscountRequestDto {
*/
private
String
channel
;
/**
* 渠道
*/
private
String
productChannel
;
/**
* 绑定的小程序id
*/
private
String
appId
;
...
...
shopping-cart-application-service/src/main/java/cn/freemud/entities/dto/ActivityCalculationDiscountResponseDto.java
View file @
5728124a
...
...
@@ -114,13 +114,30 @@ public class ActivityCalculationDiscountResponseDto {
@Data
public
static
class
ActivityPrompt
{
/**
* 活动名称
*/
private
String
acitivityName
;
/**
* 活动号
*/
private
String
activityCode
;
/**
* 活动类型
*/
private
Integer
activityType
;
private
Long
discountAmout
;
/**
* 门槛金额
*/
private
Long
thresholdAmount
;
private
Long
totalAmount
;
/**
* 已经优惠金额
*/
private
Long
alreadyDiscountAmount
;
private
Integer
activitySubType
;
private
List
<
SendGoods
>
sendGoods
;
}
@Data
...
...
@@ -516,6 +533,12 @@ public class ActivityCalculationDiscountResponseDto {
}
}
@Data
public
static
class
SendGoods
{
private
String
goodsId
;
private
String
goodsName
;
private
Integer
sendNumber
;
}
}
...
...
shopping-cart-application-service/src/main/java/cn/freemud/entities/dto/ActivityResponseDto.java
View file @
5728124a
package
cn
.
freemud
.
entities
.
dto
;
import
com.freemud.application.sdk.api.promotioncenter.domain.ActivityBenefitVO
;
import
lombok.Data
;
import
java.util.List
;
...
...
@@ -126,7 +127,10 @@ public class ActivityResponseDto {
private
String
creater
;
private
String
updateor
;
/**
* 活动子类型 1 阶梯 2 每满
*/
private
Integer
activitySubType
;
/**
* 优惠列表(单品促销不需要此字段,传入此字段则不允许保存。)
*/
...
...
shopping-cart-application-service/src/main/java/cn/freemud/entities/dto/BenefitBeanDto.java
View file @
5728124a
package
cn
.
freemud
.
entities
.
dto
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
javax.validation.constraints.Min
;
import
java.util.ArrayList
;
import
java.util.List
;
@Data
public
class
BenefitBeanDto
{
public
class
BenefitBeanDto
implements
Comparable
<
BenefitBeanDto
>
{
/**
* 优惠券名称
*/
...
...
@@ -22,7 +27,87 @@ public class BenefitBeanDto {
private
Integer
benefitSeq
;
private
Integer
benefitType
;
private
List
<
ActivitySendGoodsVO
>
sendGoodsList
;
@Override
public
int
compareTo
(
BenefitBeanDto
o
)
{
return
this
.
thresholdAmount
.
compareTo
(
o
.
getThresholdAmount
());
}
@Data
public
static
class
ActivitySendGoodsVO
{
/**
* 活动号
*/
private
String
activityCode
;
/**
* 商品id
*/
private
String
goodsId
;
/**
* 商品CODE
*/
private
String
goodsCode
;
/**
* 商品名
*/
private
String
goodsName
;
/**
* 原价
*/
private
Integer
originalPrice
;
/**
* 现价
*/
private
Integer
nowPrice
;
/**
* 限制数量
*/
private
Integer
quantityLimit
;
/**
* 赠送数量
*/
private
Integer
sendNumber
;
/**
* 赠品类型 0或null为计件赠品 1为称重赠品
*/
private
Integer
sendGoodsType
;
/**
* 赠品重量 g为单位
*/
private
Integer
sendGoodsWeight
;
/**
* 排序
*/
private
Integer
serialNumber
;
/**
* 商品类型:2、是加料商品,9、是虚拟商品,7、是套餐商品,1、是单品
*/
private
Integer
productType
;
/**
* 商品可兑换的券号
*/
private
String
sendCouponCode
;
/**
* 商品可兑换的券名称
*/
private
String
sendCouponName
;
/**
* 是否兑换券
*/
private
boolean
sendCoupon
=
false
;
}
}
\ No newline at end of file
shopping-cart-application-service/src/main/java/cn/freemud/entities/dto/PromotionMessageDto.java
View file @
5728124a
...
...
@@ -12,9 +12,12 @@
*/
package
cn
.
freemud
.
entities
.
dto
;
import
cn.freemud.entities.vo.ActivityList
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.util.List
;
@Data
@NoArgsConstructor
public
class
PromotionMessageDto
{
...
...
@@ -39,4 +42,5 @@ public class PromotionMessageDto {
* 满减活动是否与其他活动同享,true:同享,false:不同享
*/
private
Boolean
share
=
false
;
private
List
<
ActivityList
>
activityList
;
}
shopping-cart-application-service/src/main/java/cn/freemud/entities/dto/calculate/CalculationSharingDiscountResponseDto.java
View file @
5728124a
...
...
@@ -114,8 +114,15 @@ public class CalculationSharingDiscountResponseDto {
private
Long
thresholdAmount
;
private
Long
totalAmount
;
private
Long
alreadyDiscountAmount
;
private
Integer
activitySubType
;
private
List
<
SendGoods
>
sendGoods
;
}
@Data
public
static
class
SendGoods
{
private
String
goodsId
;
private
String
goodsName
;
private
Integer
sendNumber
;
}
@Data
public
static
class
Discount
{
/**
...
...
shopping-cart-application-service/src/main/java/cn/freemud/entities/vo/ActivityList.java
View file @
5728124a
...
...
@@ -2,6 +2,8 @@ package cn.freemud.entities.vo;
import
lombok.Data
;
import
java.util.List
;
/**
* All rights Reserved, Designed By www.freemud.cn
*
...
...
@@ -49,5 +51,12 @@ public class ActivityList {
private
String
againBuy
;
//在减
private
String
agianDeduct
;
private
List
<
SendGoods
>
sends
;
@Data
public
static
class
SendGoods
{
private
Integer
qty
;
private
String
goodsName
;
}
}
shopping-cart-application-service/src/main/java/cn/freemud/enums/ActivityTypeEnum.java
View file @
5728124a
...
...
@@ -16,6 +16,7 @@ public enum ActivityTypeEnum {
TYPE_1
(
1
,
"整单满减"
),
TYPE_11
(
11
,
"每满减"
),
TYPE_12
(
12
,
"阶梯满减"
),
TYPE_230
(
230
,
"满赠"
),
TYPE_13
(
13
,
"新用户立减"
),
TYPE_14
(
14
,
"满额减配送费"
),
TYPE_104
(
104
,
"x件y折"
),
...
...
shopping-cart-application-service/src/main/java/cn/freemud/enums/GiftTypeEnum.java
0 → 100644
View file @
5728124a
package
cn
.
freemud
.
enums
;
/**
* All rights Reserved, Designed By www.freemud.cn
*
* @Title: cn.freemud.enums GiftTypeEnum
* @Description: TDO 描述....
* @author: 铁牌灵魂工程师
* @date: 2021/2/23
* @Copyright: www.freemud.cn Inc. All rights reserved.
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
*/
public
enum
GiftTypeEnum
{
TYPE_1
(
1
,
"阶梯满赠"
),
TYPE_2
(
2
,
"每满赠"
);
private
Integer
type
;
private
String
desc
;
GiftTypeEnum
(
Integer
type
,
String
desc
)
{
this
.
type
=
type
;
this
.
desc
=
desc
;
}
public
Integer
getType
()
{
return
type
;
}
public
void
setType
(
Integer
type
)
{
this
.
type
=
type
;
}
public
String
getDesc
()
{
return
desc
;
}
public
void
setDesc
(
String
desc
)
{
this
.
desc
=
desc
;
}
}
shopping-cart-application-service/src/main/java/cn/freemud/service/active/impl/PlatformActiveServiceImpl.java
View file @
5728124a
...
...
@@ -80,7 +80,7 @@ public class PlatformActiveServiceImpl implements ActiveService {
CalculationSharingDiscountResponseDto
.
CalculationDiscountResult
.
Goods
goods
=
discountForGift
.
get
(
k
);
CalculationSharingDiscountResponseDto
.
CalculationDiscountResult
.
Goods
.
GoodsDiscount
discount
=
goods
.
getDiscounts
()
.
stream
()
.
filter
(
g
->
ActivityTypeEnum
.
TYPE_63
.
getCode
().
equals
(
g
.
getType
())
||
ActivityTypeEnum
.
TYPE_62
.
getCode
().
equals
(
g
.
getType
())
||
ActivityTypeEnum
.
TYPE_61
.
getCode
().
equals
(
g
.
getType
()))
.
filter
(
g
->
ActivityTypeEnum
.
TYPE_63
.
getCode
().
equals
(
g
.
getType
())
||
ActivityTypeEnum
.
TYPE_62
.
getCode
().
equals
(
g
.
getType
())
||
ActivityTypeEnum
.
TYPE_61
.
getCode
().
equals
(
g
.
getType
())
||
ActivityTypeEnum
.
TYPE_230
.
getCode
().
equals
(
g
.
getType
())
)
.
findFirst
()
.
get
();
CartGoods
cartGood
=
new
CartGoods
();
...
...
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/BuyAndGiftsPromotionService.java
View file @
5728124a
...
...
@@ -50,7 +50,9 @@ public class BuyAndGiftsPromotionService implements IPromotionService {
if
(
calculationDiscountResult
==
null
||
CollectionUtils
.
isEmpty
(
calculationDiscountResult
.
getSendGoods
()))
{
return
;
}
List
<
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
.
SendActivity
>
sendActivities
=
calculationDiscountResult
.
getSendGoods
().
stream
().
filter
(
goods
->
ActivityTypeEnum
.
TYPE_62
.
getCode
().
equals
(
goods
.
getActivityType
())).
collect
(
Collectors
.
toList
());
List
<
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
.
SendActivity
>
sendActivities
=
calculationDiscountResult
.
getSendGoods
().
stream
()
.
filter
(
goods
->
(
ActivityTypeEnum
.
TYPE_62
.
getCode
().
equals
(
goods
.
getActivityType
()))
||
(
ActivityTypeEnum
.
TYPE_230
.
getCode
().
equals
(
goods
.
getActivityType
())))
.
collect
(
Collectors
.
toList
());
if
(
CollectionUtils
.
isEmpty
(
sendActivities
))
{
return
;
}
...
...
@@ -83,7 +85,7 @@ public class BuyAndGiftsPromotionService implements IPromotionService {
cartGoods
.
setCategoryName
(
product
.
getName
());
cartGoods
.
setPic
(
product
.
getPicture
());
cartGoods
.
setSkuName
(
product
.
getName
());
cartGoods
.
setActivityType
(
ActivityTypeEnum
.
TYPE_62
.
getCod
e
());
cartGoods
.
setActivityType
(
sendActivity
.
getActivityTyp
e
());
cartGoods
.
setStockLimit
(
ObjectUtils
.
equals
(
1
,
product
.
getStockLimit
()));
cartGoods
.
setCustomerCode
(
product
.
getCustomerCode
());
cartGoods
.
setUnit
(
product
.
getUnit
());
...
...
@@ -112,19 +114,30 @@ public class BuyAndGiftsPromotionService implements IPromotionService {
if
(
calculationDiscountResult
==
null
||
CollectionUtils
.
isEmpty
(
calculationDiscountResult
.
getSendGoods
()))
{
return
;
}
List
<
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
.
SendActivity
>
sendActivities
=
calculationDiscountResult
.
getSendGoods
().
stream
().
filter
(
goods
->
ActivityTypeEnum
.
TYPE_62
.
getCode
().
equals
(
goods
.
getActivityType
())).
collect
(
Collectors
.
toList
());
List
<
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
.
SendActivity
>
sendActivities
=
calculationDiscountResult
.
getSendGoods
()
.
stream
()
.
filter
(
goods
->
(
ActivityTypeEnum
.
TYPE_62
.
getCode
().
equals
(
goods
.
getActivityType
())
||
ActivityTypeEnum
.
TYPE_230
.
getCode
().
equals
(
goods
.
getActivityType
())))
.
collect
(
Collectors
.
toList
());
if
(
CollectionUtils
.
isEmpty
(
sendActivities
))
{
return
;
}
List
<
ShoppingCartGoodsDto
.
CartGoodsDetailDto
>
sendGoodsList
=
shoppingCartGoodsDto
.
getProducts
().
stream
().
filter
(
product
->
ActivityTypeEnum
.
TYPE_62
.
getCode
().
equals
(
product
.
getActivityType
())).
collect
(
Collectors
.
toList
());
List
<
ShoppingCartGoodsDto
.
CartGoodsDetailDto
>
sendGoodsList
=
shoppingCartGoodsDto
.
getProducts
()
.
stream
()
.
filter
(
product
->
(
ActivityTypeEnum
.
TYPE_62
.
getCode
().
equals
(
product
.
getActivityType
())
||
ActivityTypeEnum
.
TYPE_230
.
getCode
().
equals
(
product
.
getActivityType
())))
.
collect
(
Collectors
.
toList
());
if
(
CollectionUtils
.
isEmpty
(
sendGoodsList
))
{
return
;
}
List
<
ActivityDiscountsDto
>
activityDiscountsDtos
=
shoppingCartGoodsDto
.
getActivityDiscountsDtos
()
==
null
?
new
ArrayList
<>()
:
shoppingCartGoodsDto
.
getActivityDiscountsDtos
();
//设置商品行活动均摊
for
(
ShoppingCartGoodsDto
.
CartGoodsDetailDto
cartGoodsDetailDto
:
sendGoodsList
)
{
Optional
<
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
.
SendActivity
>
first
=
sendActivities
.
stream
().
filter
(
sendActivity
->
ObjectUtils
.
equals
(
sendActivity
.
getActivityCode
(),
cartGoodsDetailDto
.
getNodeId
())).
findFirst
();
Optional
<
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
.
SendActivity
>
first
=
sendActivities
.
stream
()
.
filter
(
sendActivity
->
ObjectUtils
.
equals
(
sendActivity
.
getActivityCode
(),
cartGoodsDetailDto
.
getNodeId
()))
.
findFirst
();
if
(!
first
.
isPresent
())
{
continue
;
}
...
...
@@ -133,18 +146,37 @@ public class BuyAndGiftsPromotionService implements IPromotionService {
ProductActivityDiscountsDto
.
setActivityCode
(
sendActivity
.
getActivityCode
());
ProductActivityDiscountsDto
.
setActivityName
(
sendActivity
.
getActivityName
());
ProductActivityDiscountsDto
.
setActivityType
(
sendActivity
.
getActivityType
());
ProductActivityDiscountsDto
.
setDiscountAmount
(
cartGoodsDetailDto
.
getTotalDiscountAmount
());
if
(
cartGoodsDetailDto
.
getActivityType
().
equals
(
ActivityTypeEnum
.
TYPE_230
.
getCode
()))
{
cartGoodsDetailDto
.
setTotalDiscountAmount
(
cartGoodsDetailDto
.
getOriginalPrice
().
intValue
()*
cartGoodsDetailDto
.
getQty
());
ProductActivityDiscountsDto
.
setDiscountAmount
(
cartGoodsDetailDto
.
getOriginalPrice
().
intValue
()*
cartGoodsDetailDto
.
getQty
());
}
else
{
ProductActivityDiscountsDto
.
setDiscountAmount
(
cartGoodsDetailDto
.
getTotalDiscountAmount
());
}
cartGoodsDetailDto
.
setActivityDiscountsDtos
(
Arrays
.
asList
(
ProductActivityDiscountsDto
));
}
//设置活动级别的均摊
boolean
type230
=
false
;
for
(
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
.
SendActivity
sendActivity
:
sendActivities
)
{
if
(
ActivityTypeEnum
.
TYPE_230
.
getCode
().
toString
().
equals
(
sendActivity
.
getActivityCode
()))
{
type230
=
true
;
}
//设置优惠活动
Integer
totalDiscountAmount
=
sendGoodsList
.
stream
().
filter
(
sendGoods
->
ObjectUtils
.
equals
(
sendActivity
.
getActivityCode
(),
sendGoods
.
getNodeId
())).
mapToInt
(
sendGoods
->
sendGoods
.
getTotalDiscountAmount
()).
sum
();
Integer
totalDiscountAmount
=
sendGoodsList
.
stream
()
.
filter
(
sendGoods
->
ObjectUtils
.
equals
(
sendActivity
.
getActivityCode
(),
sendGoods
.
getNodeId
()))
.
mapToInt
(
sendGoods
->
sendGoods
.
getTotalDiscountAmount
())
.
sum
();
Long
totalDiscountOriginalAmount
=
sendGoodsList
.
stream
()
.
filter
(
sendGoods
->
ObjectUtils
.
equals
(
sendActivity
.
getActivityCode
(),
sendGoods
.
getNodeId
()))
.
mapToLong
(
sendGoods
->
sendGoods
.
getOriginalPrice
()*
sendGoods
.
getQty
())
.
sum
();
ActivityDiscountsDto
activityDiscountsDto
=
new
ActivityDiscountsDto
();
activityDiscountsDto
.
setActivityCode
(
sendActivity
.
getActivityCode
());
activityDiscountsDto
.
setActivityName
(
sendActivity
.
getActivityName
());
activityDiscountsDto
.
setActivityType
(
sendActivity
.
getActivityType
());
activityDiscountsDto
.
setDiscountAmount
(
0
-
totalDiscountAmount
);
activityDiscountsDto
.
setDiscountAmount
(
type230
?
0
-
totalDiscountOriginalAmount
.
intValue
()
:
0
-
totalDiscountAmount
);
activityDiscountsDtos
.
add
(
activityDiscountsDto
);
}
}
...
...
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/BuySendPromotionService.java
View file @
5728124a
...
...
@@ -145,11 +145,20 @@ public class BuySendPromotionService implements IPromotionService {
return
;
}
//添加促销活动
List
<
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
.
SendActivity
>
sendGoods1
=
calculationDiscountResult
.
getSendGoods
()
==
null
?
new
ArrayList
<>()
:
calculationDiscountResult
.
getSendGoods
().
stream
().
filter
(
t
->
ObjectUtils
.
equals
(
ActivityTypeEnum
.
TYPE_6
.
getCode
(),
t
.
getActivityType
())
||
ObjectUtils
.
equals
(
ActivityTypeEnum
.
TYPE_61
.
getCode
(),
t
.
getActivityType
())).
collect
(
Collectors
.
toList
());
List
<
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
.
SendActivity
>
sendGoods1
=
calculationDiscountResult
.
getSendGoods
()
==
null
?
new
ArrayList
<>()
:
calculationDiscountResult
.
getSendGoods
().
stream
()
.
filter
(
t
->
ObjectUtils
.
equals
(
ActivityTypeEnum
.
TYPE_6
.
getCode
(),
t
.
getActivityType
())
||
ObjectUtils
.
equals
(
ActivityTypeEnum
.
TYPE_61
.
getCode
(),
t
.
getActivityType
()))
.
collect
(
Collectors
.
toList
()
);
List
<
ActivityDiscountsDto
>
activityDiscountsDtos
=
shoppingCartGoodsDto
.
getActivityDiscountsDtos
()
==
null
?
new
ArrayList
<>()
:
shoppingCartGoodsDto
.
getActivityDiscountsDtos
();
if
(
CollectionUtils
.
isNotEmpty
(
sendGoods1
))
{
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
.
SendActivity
sendActivity
=
sendGoods1
.
get
(
0
);
Integer
discountAmount
=
shoppingCartGoodsDto
.
getProducts
().
stream
().
filter
(
product
->
ObjectUtils
.
equals
(
product
.
getActivityType
(),
sendActivity
.
getActivityType
())).
mapToInt
(
ShoppingCartGoodsDto
.
CartGoodsDetailDto
::
getTotalDiscountAmount
).
sum
();
Integer
discountAmount
=
shoppingCartGoodsDto
.
getProducts
()
.
stream
()
.
filter
(
product
->
ObjectUtils
.
equals
(
product
.
getActivityType
(),
sendActivity
.
getActivityType
()))
.
mapToInt
(
ShoppingCartGoodsDto
.
CartGoodsDetailDto
::
getTotalDiscountAmount
)
.
sum
();
//设置优惠活动
ActivityDiscountsDto
activityDiscountsDto
=
new
ActivityDiscountsDto
();
activityDiscountsDto
.
setActivityCode
(
sendActivity
.
getActivityCode
());
...
...
@@ -159,7 +168,10 @@ public class BuySendPromotionService implements IPromotionService {
activityDiscountsDtos
.
add
(
activityDiscountsDto
);
// 设置商品行优惠明细
List
<
ShoppingCartGoodsDto
.
CartGoodsDetailDto
>
buyAndSendProducts
=
shoppingCartGoodsDto
.
getProducts
().
stream
().
filter
(
product
->
ObjectUtils
.
equals
(
product
.
getActivityType
(),
sendActivity
.
getActivityType
())).
collect
(
Collectors
.
toList
());
List
<
ShoppingCartGoodsDto
.
CartGoodsDetailDto
>
buyAndSendProducts
=
shoppingCartGoodsDto
.
getProducts
()
.
stream
()
.
filter
(
product
->
ObjectUtils
.
equals
(
product
.
getActivityType
(),
sendActivity
.
getActivityType
()))
.
collect
(
Collectors
.
toList
());
for
(
ShoppingCartGoodsDto
.
CartGoodsDetailDto
cartGoodsDetailDto
:
buyAndSendProducts
)
{
List
<
ActivityDiscountsDto
>
activityDiscountsDtoList
=
cartGoodsDetailDto
.
getActivityDiscountsDtos
()
==
null
?
new
ArrayList
<>()
:
cartGoodsDetailDto
.
getActivityDiscountsDtos
();
ActivityDiscountsDto
ProductActivityDiscountsDto
=
new
ActivityDiscountsDto
();
...
...
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/FullPromotionService.java
View file @
5728124a
This diff is collapsed.
Click to expand it.
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/FullSubtractionActivityServiceImpl.java
View file @
5728124a
This diff is collapsed.
Click to expand it.
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/ShoppingCartNewServiceImpl.java
View file @
5728124a
...
...
@@ -766,7 +766,7 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
activityTip
.
setActivityCode
(
promotionMessageDto
.
getActivityId
());
activityTip
.
setActivityType
(
promotionMessageDto
.
getActivityType
());
activityTip
.
setActivityName
(
promotionMessageDto
.
getPromotionMessage
());
activityTip
.
setActivityList
(
activityList
);
activityTip
.
setActivityList
(
promotionMessageDto
.
getActivityList
()
);
}
shoppingCartGoodsResponseVo
.
setActivityTip
(
activityTip
);
shoppingCartGoodsResponseVo
.
setProducts
(
new
ArrayList
<>());
...
...
@@ -1237,7 +1237,16 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
activityCalculationDiscountRequestDto
.
setDistributionFee
(
distributionFee
);
activityCalculationDiscountRequestDto
.
setIsMember
(
isMember
);
ActivityCalculationDiscountResponseDto
activityCalculationDiscountResponseDto
;
activityCalculationDiscountRequestDto
.
setProductChannel
(
"def"
.
toString
());
if
(
Objects
.
equals
(
orderType
,
CreateOrderType
.
COLLECT_GOODS
.
getCode
()))
{
activityCalculationDiscountRequestDto
.
setProductChannel
(
BusinessTypeEnum
.
SAAS_PICKUP
.
getCode
());
}
else
if
(
Objects
.
equals
(
orderType
,
CreateOrderType
.
TAKE_OUT
.
getCode
()))
{
activityCalculationDiscountRequestDto
.
setProductChannel
(
BusinessTypeEnum
.
SAAS_DELIVERY
.
getCode
());
}
try
{
log
.
info
(
"activityClient discount :{}"
,
JSON
.
toJSONString
(
activityCalculationDiscountRequestDto
));
activityCalculationDiscountResponseDto
=
activityClient
.
calculationDiscount
(
activityCalculationDiscountRequestDto
);
}
catch
(
Exception
ex
)
{
ErrorLog
.
printErrorLog
(
"calculation_discount_error"
,
"/calculation/discount"
,
activityCalculationDiscountRequestDto
,
ex
);
...
...
@@ -1376,7 +1385,9 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
ActivityChannelEnum
activityChannelEnum
=
PropertyConvertUtil
.
orderTypeConvert2ActivityChannel
(
orderType
);
if
(!
Objects
.
isNull
(
activityChannelEnum
))
{
activityCalculationDiscountRequestDto
.
setChannel
(
activityChannelEnum
.
getCode
());
}
return
activityCalculationDiscountRequestDto
;
}
...
...
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/calculate/promotion/FullSharingService.java
View file @
5728124a
This diff is collapsed.
Click to expand it.
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/calculate/promotion/GiftSharingService.java
View file @
5728124a
...
...
@@ -218,7 +218,7 @@ public class GiftSharingService {
public
CalculationSharingDiscountResponseDto
.
CalculationDiscountResult
.
Goods
.
GoodsDiscount
discountInfo
(
CalculationSharingDiscountResponseDto
.
CalculationDiscountResult
.
Goods
goods
)
{
CalculationSharingDiscountResponseDto
.
CalculationDiscountResult
.
Goods
.
GoodsDiscount
discount
=
goods
.
getDiscounts
()
.
stream
()
.
filter
(
g
->
ActivityTypeEnum
.
TYPE_63
.
getCode
().
equals
(
g
.
getType
())
||
ActivityTypeEnum
.
TYPE_62
.
getCode
().
equals
(
g
.
getType
())
||
ActivityTypeEnum
.
TYPE_61
.
getCode
().
equals
(
g
.
getType
()))
.
filter
(
g
->
ActivityTypeEnum
.
TYPE_63
.
getCode
().
equals
(
g
.
getType
())
||
ActivityTypeEnum
.
TYPE_62
.
getCode
().
equals
(
g
.
getType
())
||
ActivityTypeEnum
.
TYPE_61
.
getCode
().
equals
(
g
.
getType
())
||
ActivityTypeEnum
.
TYPE_230
.
getCode
().
equals
(
g
.
getType
())
)
.
findFirst
()
.
get
();
return
discount
;
...
...
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