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
da5e7ae4
Commit
da5e7ae4
authored
Oct 21, 2020
by
xiaoer.li@freemud.com
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix:套餐折扣
parent
59fcb90d
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
55 additions
and
21 deletions
+55
-21
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/ShoppingCartNewServiceImpl.java
+4
-8
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/calculate/CalculationCommonService.java
+10
-1
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/calculate/CalculationSharingDiscountService.java
+5
-7
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/calculate/CalculationSharingEquallyService.java
+36
-5
No files found.
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/ShoppingCartNewServiceImpl.java
View file @
da5e7ae4
...
@@ -307,8 +307,7 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
...
@@ -307,8 +307,7 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
,
allCartGoodsList
,
allCartGoodsList
,
new
ArrayList
<>()
//券
,
new
ArrayList
<>()
//券
,
null
//加价购商品
,
null
//加价购商品
,
deliveryAmount
,
deliveryAmount
);
,
0
);
//
//
sharingCartService
.
distribute
(
discountResult
sharingCartService
.
distribute
(
discountResult
...
@@ -426,8 +425,7 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
...
@@ -426,8 +425,7 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
,
cartGoodsList
,
cartGoodsList
,
null
//券
,
null
//券
,
null
//加价购商品
,
null
//加价购商品
,
deliveryAmount
,
deliveryAmount
);
,
0
);
sharingCartService
.
distribute
(
discountResult
sharingCartService
.
distribute
(
discountResult
,
cartGoodsList
,
cartGoodsList
...
@@ -577,8 +575,7 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
...
@@ -577,8 +575,7 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
,
cartGoodsList
,
cartGoodsList
,
coupons
,
coupons
,
sendGoods
,
sendGoods
,
deliveryAmount
,
deliveryAmount
);
,
shoppingCartInfoRequestVo
.
getReachStoreType
());
sharingCartService
.
distribute
(
calculationSharingDiscountResult
sharingCartService
.
distribute
(
calculationSharingDiscountResult
,
cartGoodsList
,
cartGoodsList
,
shoppingCartGoodsResponseVo
,
shoppingCartGoodsResponseVo
...
@@ -779,8 +776,7 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
...
@@ -779,8 +776,7 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
,
cartGoodsList
,
cartGoodsList
,
coupons
,
coupons
,
shoppingCartInfoRequestVo
.
getSendGoods
()
,
shoppingCartInfoRequestVo
.
getSendGoods
()
,
deliveryAmount
,
deliveryAmount
);
,
shoppingCartInfoRequestVo
.
getReachStoreType
());
//直接利用促销返回做均摊
//直接利用促销返回做均摊
sharingEquallyService
.
equally
(
discountResult
sharingEquallyService
.
equally
(
discountResult
...
...
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/calculate/CalculationCommonService.java
View file @
da5e7ae4
...
@@ -347,7 +347,7 @@ public class CalculationCommonService {
...
@@ -347,7 +347,7 @@ public class CalculationCommonService {
for
(
CalculationSharingDiscountResponseDto
.
CalculationDiscountResult
.
Goods
.
GoodsDiscount
discount
:
calculationGoods
.
getDiscounts
())
{
for
(
CalculationSharingDiscountResponseDto
.
CalculationDiscountResult
.
Goods
.
GoodsDiscount
discount
:
calculationGoods
.
getDiscounts
())
{
ActivityDiscountsDto
activityDiscountsDto
=
new
ActivityDiscountsDto
();
ActivityDiscountsDto
activityDiscountsDto
=
new
ActivityDiscountsDto
();
activityDiscountsDto
.
setActivityCode
(
discount
.
getActivityCode
());
activityDiscountsDto
.
setActivityCode
(
discount
.
getActivityCode
());
activityDiscountsDto
.
setActivityName
(
discount
.
getActivityName
(
));
activityDiscountsDto
.
setActivityName
(
this
.
convertName
(
discount
.
getType
(),
discount
.
getActivityName
()
));
activityDiscountsDto
.
setActivityType
(
this
.
convertType
(
discount
.
getType
()));
activityDiscountsDto
.
setActivityType
(
this
.
convertType
(
discount
.
getType
()));
activityDiscountsDto
.
setDiscountAmount
(
discount
.
getDiscount
().
intValue
());
activityDiscountsDto
.
setDiscountAmount
(
discount
.
getDiscount
().
intValue
());
activityDiscountsDtoList
.
add
(
activityDiscountsDto
);
activityDiscountsDtoList
.
add
(
activityDiscountsDto
);
...
@@ -616,6 +616,15 @@ public class CalculationCommonService {
...
@@ -616,6 +616,15 @@ public class CalculationCommonService {
return
newType
;
return
newType
;
}
}
public
String
convertName
(
Integer
type
,
String
activityCode
)
{
Integer
newType
=
310
;
String
code
=
activityCode
;
if
(
newType
.
equals
(
type
))
{
code
=
"setMeal"
;
}
return
code
;
}
@Data
@Data
@NoArgsConstructor
@NoArgsConstructor
public
static
class
BlockRow
{
public
static
class
BlockRow
{
...
...
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/calculate/CalculationSharingDiscountService.java
View file @
da5e7ae4
...
@@ -63,9 +63,9 @@ public class CalculationSharingDiscountService {
...
@@ -63,9 +63,9 @@ public class CalculationSharingDiscountService {
,
boolean
isMember
,
boolean
isMember
,
List
<
CartGoods
>
cartGoodsList
,
List
<
CalculationSharingDiscountRequestDto
.
CalculationDiscountCoupon
>
coupons
,
List
<
CartGoods
>
cartGoodsList
,
List
<
CalculationSharingDiscountRequestDto
.
CalculationDiscountCoupon
>
coupons
,
List
<
ShoppingCartInfoRequestVo
.
SendGoods
>
sendGoodsList
,
List
<
ShoppingCartInfoRequestVo
.
SendGoods
>
sendGoodsList
,
Long
deliveryAmount
,
Integer
reachStoreType
)
{
,
Long
deliveryAmount
)
{
CalculationSharingDiscountRequestDto
calculationSharingDiscountRequestDto
=
this
.
commonSharingDto
(
partnerId
,
storeId
,
userId
,
appId
,
orderType
,
reachStoreType
);
CalculationSharingDiscountRequestDto
calculationSharingDiscountRequestDto
=
this
.
commonSharingDto
(
partnerId
,
storeId
,
userId
,
appId
,
orderType
);
// 校验后有效的商品券map
// 校验后有效的商品券map
HashMap
<
String
,
CheckSpqInfoResponseDto
>
validCouponMap
=
new
HashMap
<>(
16
);
HashMap
<
String
,
CheckSpqInfoResponseDto
>
validCouponMap
=
new
HashMap
<>(
16
);
...
@@ -290,7 +290,7 @@ public class CalculationSharingDiscountService {
...
@@ -290,7 +290,7 @@ public class CalculationSharingDiscountService {
* @param orderType
* @param orderType
* @return
* @return
*/
*/
private
CalculationSharingDiscountRequestDto
commonSharingDto
(
String
partnerId
,
String
storeId
,
String
userId
,
String
appId
,
Integer
orderType
,
Integer
reachStoreType
)
{
private
CalculationSharingDiscountRequestDto
commonSharingDto
(
String
partnerId
,
String
storeId
,
String
userId
,
String
appId
,
Integer
orderType
)
{
CalculationSharingDiscountRequestDto
calculationSharingDiscountRequestDto
=
new
CalculationSharingDiscountRequestDto
();
CalculationSharingDiscountRequestDto
calculationSharingDiscountRequestDto
=
new
CalculationSharingDiscountRequestDto
();
calculationSharingDiscountRequestDto
.
setPartnerCode
(
partnerId
);
calculationSharingDiscountRequestDto
.
setPartnerCode
(
partnerId
);
...
@@ -308,11 +308,9 @@ public class CalculationSharingDiscountService {
...
@@ -308,11 +308,9 @@ public class CalculationSharingDiscountService {
//========================== 购物车查询特有逻辑 =================================
//========================== 购物车查询特有逻辑 =================================
// 到店自取包装费设为null,外卖要计算包装费,flag为1表示去结算
// 到店自取包装费设为null,外卖要计算包装费,flag为1表示去结算
// 兼容老版本判断null
// 兼容老版本判断null
if
(
Objects
.
equals
(
orderType
,
CreateOrderType
.
COLLECT_GOODS
.
getCode
())
if
(
Objects
.
equals
(
orderType
,
CreateOrderType
.
COLLECT_GOODS
.
getCode
()))
{
&&
(
Objects
.
equals
(
reachStoreType
,
null
)
||
Objects
.
equals
(
reachStoreType
,
OrderType
.
EAT_IN
.
getCode
())))
{
calculationSharingDiscountRequestDto
.
setProductChannel
(
BusinessTypeEnum
.
SAAS_PICKUP
.
getCode
());
calculationSharingDiscountRequestDto
.
setProductChannel
(
BusinessTypeEnum
.
SAAS_PICKUP
.
getCode
());
}
else
if
(
Objects
.
equals
(
orderType
,
CreateOrderType
.
TAKE_OUT
.
getCode
())
||
Objects
.
equals
(
reachStoreType
,
OrderType
.
COLLECT_GOODS
.
getCode
())
)
{
}
else
if
(
Objects
.
equals
(
orderType
,
CreateOrderType
.
TAKE_OUT
.
getCode
()))
{
calculationSharingDiscountRequestDto
.
setProductChannel
(
BusinessTypeEnum
.
SAAS_DELIVERY
.
getCode
());
calculationSharingDiscountRequestDto
.
setProductChannel
(
BusinessTypeEnum
.
SAAS_DELIVERY
.
getCode
());
}
}
return
calculationSharingDiscountRequestDto
;
return
calculationSharingDiscountRequestDto
;
...
...
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/calculate/CalculationSharingEquallyService.java
View file @
da5e7ae4
...
@@ -15,10 +15,7 @@ import org.apache.commons.collections4.CollectionUtils;
...
@@ -15,10 +15,7 @@ import org.apache.commons.collections4.CollectionUtils;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
java.util.ArrayList
;
import
java.util.*
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.function.Function
;
import
java.util.function.Function
;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
...
@@ -158,12 +155,46 @@ public class CalculationSharingEquallyService {
...
@@ -158,12 +155,46 @@ public class CalculationSharingEquallyService {
* @param discountResult
* @param discountResult
* @param shoppingCartGoodsDto
* @param shoppingCartGoodsDto
*/
*/
p
rivate
void
setShoppingCartGoodsDtoActivityDiscounts
(
CalculationSharingDiscountResponseDto
.
CalculationDiscountResult
discountResult
p
ublic
void
setShoppingCartGoodsDtoActivityDiscounts
(
CalculationSharingDiscountResponseDto
.
CalculationDiscountResult
discountResult
,
ShoppingCartGoodsDto
shoppingCartGoodsDto
)
{
,
ShoppingCartGoodsDto
shoppingCartGoodsDto
)
{
List
<
ActivityDiscountsDto
>
activityDiscountsDtos
=
new
ArrayList
<>();
List
<
ActivityDiscountsDto
>
activityDiscountsDtos
=
new
ArrayList
<>();
shoppingCartGoodsDto
.
setActivityDiscountsDtos
(
activityDiscountsDtos
);
shoppingCartGoodsDto
.
setActivityDiscountsDtos
(
activityDiscountsDtos
);
if
(
discountResult
==
null
)
return
;
if
(
discountResult
==
null
)
return
;
Integer
type
=
2
;
List
<
ActivityTypeEnum
>
activityTypeEnums
=
new
LinkedList
<>();
activityTypeEnums
.
add
(
ActivityTypeEnum
.
TYPE_11
);
activityTypeEnums
.
add
(
ActivityTypeEnum
.
TYPE_12
);
activityTypeEnums
.
add
(
ActivityTypeEnum
.
TYPE_3
);
activityTypeEnums
.
add
(
ActivityTypeEnum
.
TYPE_31
);
List
<
Integer
>
typeEnums
=
activityTypeEnums
.
stream
().
map
(
ActivityTypeEnum:
:
getCode
).
collect
(
Collectors
.
toList
());
for
(
CalculationSharingDiscountResponseDto
.
CalculationDiscountResult
.
Goods
good
:
discountResult
.
getGoods
())
{
if
(
CollectionUtils
.
isNotEmpty
(
good
.
getSmallMaterial
()))
{
List
<
CalculationSharingDiscountResponseDto
.
CalculationDiscountResult
.
Goods
.
SmallMaterial
>
sm
=
good
.
getSmallMaterial
()
.
stream
()
.
filter
(
d
->
type
.
equals
(
d
.
getType
())).
collect
(
Collectors
.
toList
());
if
(
CollectionUtils
.
isEmpty
(
sm
))
continue
;
for
(
CalculationSharingDiscountResponseDto
.
CalculationDiscountResult
.
Goods
.
SmallMaterial
s
:
sm
)
{
if
(
CollectionUtils
.
isEmpty
(
s
.
getDiscounts
()))
continue
;
HashMap
<
Integer
,
Long
>
discountMap
=
new
HashMap
<>();
for
(
CalculationSharingDiscountResponseDto
.
CalculationDiscountResult
.
Goods
.
GoodsDiscount
d
:
s
.
getDiscounts
())
{
if
(!
typeEnums
.
contains
(
d
.
getType
()))
continue
;
Integer
sType
=
d
.
getType
();
discountMap
.
put
(
sType
,
d
.
getDiscount
());
}
if
(
discountMap
.
isEmpty
())
continue
;
if
(
CollectionUtils
.
isEmpty
(
good
.
getDiscounts
()))
continue
;
for
(
CalculationSharingDiscountResponseDto
.
CalculationDiscountResult
.
Goods
.
GoodsDiscount
discount
:
good
.
getDiscounts
())
{
Integer
mType
=
discount
.
getType
();
if
(
discountMap
.
get
(
mType
)
!=
null
)
{
discount
.
setDiscount
(
discount
.
getDiscount
()
+
discountMap
.
get
(
mType
).
longValue
());
}
}
}
}
}
List
<
CalculationSharingDiscountResponseDto
.
CalculationDiscountResult
.
Discount
>
discounts
=
discountResult
.
getDiscounts
();
List
<
CalculationSharingDiscountResponseDto
.
CalculationDiscountResult
.
Discount
>
discounts
=
discountResult
.
getDiscounts
();
for
(
CalculationSharingDiscountResponseDto
.
CalculationDiscountResult
.
Discount
discount
:
discounts
)
{
for
(
CalculationSharingDiscountResponseDto
.
CalculationDiscountResult
.
Discount
discount
:
discounts
)
{
int
discountAmount
=
(
discount
.
getDiscount
()
==
null
)
?
0
:
discount
.
getDiscount
();
int
discountAmount
=
(
discount
.
getDiscount
()
==
null
)
?
0
:
discount
.
getDiscount
();
...
...
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