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
3e97c8c5
Commit
3e97c8c5
authored
Sep 02, 2021
by
胡敬轩
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'remotes/origin/feature/20210828-华莱士新算价互斥同享改版' into qa
parents
c6a042f3
5cd53047
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
98 additions
and
3 deletions
+98
-3
shopping-cart-application-service/src/main/java/cn/freemud/adapter/ActivityAdapter.java
+53
-3
shopping-cart-application-service/src/main/java/cn/freemud/entities/vo/coupon/CouponAvailableCartInfo.java
+45
-0
No files found.
shopping-cart-application-service/src/main/java/cn/freemud/adapter/ActivityAdapter.java
View file @
3e97c8c5
...
@@ -224,13 +224,15 @@ public class ActivityAdapter {
...
@@ -224,13 +224,15 @@ public class ActivityAdapter {
couponAvailableCartInfo
.
setStoreId
(
storeId
);
couponAvailableCartInfo
.
setStoreId
(
storeId
);
couponAvailableCartInfo
.
setChannelIdList
(
orgCodes
);
couponAvailableCartInfo
.
setChannelIdList
(
orgCodes
);
boolean
newCalculation
=
CollectionUtils
.
isNotEmpty
(
discountResult
.
getCouponSharedExclusive
());
couponAvailableCartInfo
.
setNewCalculation
(
newCalculation
);
Long
totalMealDiscountAmount
=
0L
;
//套餐优惠不算在内
Long
totalMealDiscountAmount
=
0L
;
//套餐优惠不算在内
// Long sendDiscountAmount = 0L;//赠送和换购商品优惠不算在内
// Long sendDiscountAmount = 0L;//赠送和换购商品优惠不算在内
// Long sendRealAmount = 0L;//赠送和换购商品实付不算在内
// Long sendRealAmount = 0L;//赠送和换购商品实付不算在内
if
(
discountResult
!=
null
){
if
(
discountResult
!=
null
){
boolean
newCalculation
=
CollectionUtils
.
isNotEmpty
(
discountResult
.
getCouponSharedExclusive
());
if
(
newCalculation
){
couponAvailableCartInfo
.
setNewCalculation
(
newCalculation
);
buildOrderDiscount
(
couponAvailableCartInfo
,
discountResult
.
getDiscounts
(),
discountResult
.
getCouponSharedExclusive
());
}
//已使用券
//已使用券
if
(
CollectionUtils
.
isNotEmpty
(
discountResult
.
getDiscounts
())){
if
(
CollectionUtils
.
isNotEmpty
(
discountResult
.
getDiscounts
())){
List
<
String
>
couponCodes
=
discountResult
.
getDiscounts
().
stream
().
filter
(
discount
->
Objects
.
equals
(
discount
.
getType
(),
ActivityTypeEnum
.
TYPE_3
.
getCode
())
List
<
String
>
couponCodes
=
discountResult
.
getDiscounts
().
stream
().
filter
(
discount
->
Objects
.
equals
(
discount
.
getType
(),
ActivityTypeEnum
.
TYPE_3
.
getCode
())
...
@@ -427,4 +429,52 @@ public class ActivityAdapter {
...
@@ -427,4 +429,52 @@ public class ActivityAdapter {
}
}
cartProduct
.
setDiscounts
(
cartProductDiscountList
);
cartProduct
.
setDiscounts
(
cartProductDiscountList
);
}
}
private
void
buildOrderDiscount
(
CouponAvailableCartInfo
couponAvailableCartInfo
,
List
<
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
.
Discount
>
discounts
,
Set
<
ActivityTypeSharedExclusive
>
couponSharedExclusive
){
if
(
CollectionUtils
.
isEmpty
(
discounts
)){
return
;
}
HashMap
<
Integer
,
Integer
>
cashExclusiveMap
=
new
HashMap
<>();
HashMap
<
Integer
,
Integer
>
cashMultipleMap
=
new
HashMap
<>();
HashMap
<
Integer
,
Integer
>
discountExclusiveMap
=
new
HashMap
<>();
HashMap
<
Integer
,
Integer
>
discountMultipleMap
=
new
HashMap
<>();
for
(
ActivityTypeSharedExclusive
sharedExclusive
:
couponSharedExclusive
){
if
(
Objects
.
equals
(
sharedExclusive
.
getActivityType
(),
ActivityTypeEnum
.
TYPE_3
.
getCode
())){
cashExclusiveMap
.
put
(
sharedExclusive
.
getSharedExclusiveActivityType
(),
sharedExclusive
.
getSharedExclusive
());
cashMultipleMap
.
put
(
sharedExclusive
.
getSharedExclusiveActivityType
(),
sharedExclusive
.
getMultiple
());
}
if
(
Objects
.
equals
(
sharedExclusive
.
getActivityType
(),
ActivityTypeEnum
.
TYPE_31
.
getCode
())){
discountExclusiveMap
.
put
(
sharedExclusive
.
getSharedExclusiveActivityType
(),
sharedExclusive
.
getSharedExclusive
());
discountMultipleMap
.
put
(
sharedExclusive
.
getSharedExclusiveActivityType
(),
sharedExclusive
.
getMultiple
());
}
}
List
<
CouponAvailableCartInfo
.
Discount
>
cartDiscountList
=
new
ArrayList
<>();
for
(
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
.
Discount
discount
:
discounts
){
if
(
Objects
.
equals
(
discount
.
getType
(),
ActivityTypeEnum
.
TYPE_310
.
getCode
())){
continue
;
}
CouponAvailableCartInfo
.
Discount
cartProductDiscount
=
new
CouponAvailableCartInfo
.
Discount
();
BeanUtils
.
copyProperties
(
discount
,
cartProductDiscount
);
//是否与代金券互斥
boolean
cashExclusive
=
Objects
.
equals
(
cashExclusiveMap
.
get
(
discount
.
getType
()),
YesOrNoEnum
.
YES
.
getCode
());
cartProductDiscount
.
setCashExclusive
(
cashExclusive
);
//是否与代金券叠加门槛
boolean
cashMultiple
=
!
Objects
.
equals
(
cashMultipleMap
.
get
(
discount
.
getType
()),
YesOrNoEnum
.
NO
.
getCode
());
cartProductDiscount
.
setCashMultiple
(
cashMultiple
);
//是否与折扣券互斥
boolean
discountExclusive
=
Objects
.
equals
(
discountExclusiveMap
.
get
(
discount
.
getType
()),
YesOrNoEnum
.
YES
.
getCode
());
cartProductDiscount
.
setDiscountExclusive
(
discountExclusive
);
//是否与折扣券叠加门槛
boolean
discountMultiple
=
!
Objects
.
equals
(
discountMultipleMap
.
get
(
discount
.
getType
()),
YesOrNoEnum
.
NO
.
getCode
());
cartProductDiscount
.
setDiscountMultiple
(
discountMultiple
);
cartDiscountList
.
add
(
cartProductDiscount
);
}
couponAvailableCartInfo
.
setDiscounts
(
cartDiscountList
);
}
}
}
shopping-cart-application-service/src/main/java/cn/freemud/entities/vo/coupon/CouponAvailableCartInfo.java
View file @
3e97c8c5
...
@@ -60,4 +60,49 @@ public class CouponAvailableCartInfo {
...
@@ -60,4 +60,49 @@ public class CouponAvailableCartInfo {
* 是否是新版互斥同享算价
* 是否是新版互斥同享算价
*/
*/
private
boolean
newCalculation
=
false
;
private
boolean
newCalculation
=
false
;
//活动总优惠 newCalculation=true时封装
private
List
<
Discount
>
discounts
;
@Data
public
static
class
Discount
{
/**
* 活动号
*/
private
String
activityCode
;
/**
* 活动名称
*/
private
String
activityName
;
/**
* 折扣金额
*/
private
Long
discount
;
/**
* 活动类型
*/
private
Integer
type
;
/**
* 当前活动实际优惠的商品数量
*/
private
Integer
actualGoodsNumber
;
//是否与代金券互斥
private
boolean
cashExclusive
=
false
;
//是否与代金券叠加门槛
private
boolean
cashMultiple
=
true
;
//是否与折扣券互斥
private
boolean
discountExclusive
=
false
;
//是否与折扣券叠加门槛
private
boolean
discountMultiple
=
true
;
}
}
}
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