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
aa6af870
Commit
aa6af870
authored
Oct 21, 2020
by
xiaoer.li@freemud.com
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix:券
parent
f705d267
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
42 additions
and
44 deletions
+42
-44
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/calculate/CalculationSharingEquallyService.java
+9
-6
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/calculate/promotion/CouponSharingService.java
+33
-38
No files found.
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/calculate/CalculationSharingEquallyService.java
View file @
aa6af870
...
@@ -8,10 +8,7 @@ import cn.freemud.entities.dto.calculate.CalculationSharingDiscountResponseDto;
...
@@ -8,10 +8,7 @@ import cn.freemud.entities.dto.calculate.CalculationSharingDiscountResponseDto;
import
cn.freemud.entities.dto.shoppingCart.ShoppingCartGoodsDto
;
import
cn.freemud.entities.dto.shoppingCart.ShoppingCartGoodsDto
;
import
cn.freemud.entities.vo.*
;
import
cn.freemud.entities.vo.*
;
import
cn.freemud.enums.ActivityTypeEnum
;
import
cn.freemud.enums.ActivityTypeEnum
;
import
cn.freemud.service.impl.calculate.promotion.AdditionSharingService
;
import
cn.freemud.service.impl.calculate.promotion.*
;
import
cn.freemud.service.impl.calculate.promotion.DeliverySharingService
;
import
cn.freemud.service.impl.calculate.promotion.GiftSharingService
;
import
cn.freemud.service.impl.calculate.promotion.ScoreSharingService
;
import
com.freemud.sdk.api.assortment.shoppingcart.enums.BusinessTypeEnum
;
import
com.freemud.sdk.api.assortment.shoppingcart.enums.BusinessTypeEnum
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.collections4.CollectionUtils
;
...
@@ -52,6 +49,9 @@ public class CalculationSharingEquallyService {
...
@@ -52,6 +49,9 @@ public class CalculationSharingEquallyService {
@Autowired
@Autowired
private
AdditionSharingService
additionSharingService
;
private
AdditionSharingService
additionSharingService
;
@Autowired
private
CouponSharingService
promotionSharingService
;
/**
/**
* 均摊服务
* 均摊服务
* @param discountResult
* @param discountResult
...
@@ -80,7 +80,10 @@ public class CalculationSharingEquallyService {
...
@@ -80,7 +80,10 @@ public class CalculationSharingEquallyService {
calculationCommonService
.
initShoppingCart
(
discountResult
,
cartGoodsList
,
shoppingCartGoodsResponseVo
);
calculationCommonService
.
initShoppingCart
(
discountResult
,
cartGoodsList
,
shoppingCartGoodsResponseVo
);
/**
* 商品券\换购券
*/
promotionSharingService
.
equally
(
discountResult
,
cartGoodsList
);
List
<
ShoppingCartGoodsDto
.
CartGoodsDetailDto
>
cartGoodsDetailDtoList
=
CollectionUtils
.
isEmpty
(
shoppingCartGoodsDto
.
getProducts
())
?
new
ArrayList
<>()
:
shoppingCartGoodsDto
.
getProducts
();
List
<
ShoppingCartGoodsDto
.
CartGoodsDetailDto
>
cartGoodsDetailDtoList
=
CollectionUtils
.
isEmpty
(
shoppingCartGoodsDto
.
getProducts
())
?
new
ArrayList
<>()
:
shoppingCartGoodsDto
.
getProducts
();
shoppingCartGoodsDto
.
setProducts
(
cartGoodsDetailDtoList
);
shoppingCartGoodsDto
.
setProducts
(
cartGoodsDetailDtoList
);
...
@@ -108,6 +111,7 @@ public class CalculationSharingEquallyService {
...
@@ -108,6 +111,7 @@ public class CalculationSharingEquallyService {
shoppingCartGoodsDto
.
setTotalDiscountAmount
(
shoppingCartGoodsResponseVo
.
getTotalDiscountAmount
());
shoppingCartGoodsDto
.
setTotalDiscountAmount
(
shoppingCartGoodsResponseVo
.
getTotalDiscountAmount
());
List
<
CalculationSharingDiscountResponseDto
.
CalculationDiscountResult
.
Goods
>
goods
=
discountResult
.
getGoods
();
List
<
CalculationSharingDiscountResponseDto
.
CalculationDiscountResult
.
Goods
>
goods
=
discountResult
.
getGoods
();
/**
/**
* 利用促销赋值totalDiscountAmount
* 利用促销赋值totalDiscountAmount
*/
*/
...
@@ -134,7 +138,6 @@ public class CalculationSharingEquallyService {
...
@@ -134,7 +138,6 @@ public class CalculationSharingEquallyService {
scoreSharingService
.
equally
(
shoppingCartGoodsResponseVo
,
shoppingCartGoodsDto
);
scoreSharingService
.
equally
(
shoppingCartGoodsResponseVo
,
shoppingCartGoodsDto
);
calculationCommonService
.
getNeedCardAmount
(
shoppingCartInfoRequestVo
,
shoppingCartGoodsDto
);
calculationCommonService
.
getNeedCardAmount
(
shoppingCartInfoRequestVo
,
shoppingCartGoodsDto
);
if
(
BusinessTypeEnum
.
SAAS_DELIVERY
.
getCode
().
equals
(
menuType
))
{
if
(
BusinessTypeEnum
.
SAAS_DELIVERY
.
getCode
().
equals
(
menuType
))
{
deliverySharingService
.
deliveryResponse
(
discountResult
,
activityQueryDto
,
shoppingCartGoodsResponseVo
,
deliveryAmount
);
deliverySharingService
.
deliveryResponse
(
discountResult
,
activityQueryDto
,
shoppingCartGoodsResponseVo
,
deliveryAmount
);
}
}
...
...
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/calculate/promotion/CouponSharingService.java
View file @
aa6af870
...
@@ -116,55 +116,50 @@ public class CouponSharingService {
...
@@ -116,55 +116,50 @@ public class CouponSharingService {
}
}
}
}
public
void
equally
(
CalculationSharingDiscountResponseDto
.
CalculationDiscountResult
discountResult
,
List
<
CartGoods
>
cartGoodsList
)
{
public
void
updateShoppingCartGoodsApportion
(
ShoppingCartGoodsResponseVo
shoppingCartGoodsResponseVo
,
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
calculationDiscountResult
,
ShoppingCartGoodsDto
shoppingCartGoodsDto
,
CreateOrderVo
.
PremiumExchangeActivity
premiumExchangeActivity
,
ShoppingCartInfoRequestVo
shoppingCartInfoRequestVo
)
{
if
(
CollectionUtils
.
isEmpty
(
cartGoodsList
))
{
List
<
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
.
CouponResults
>
couponDiscounts
=
calculationDiscountResult
==
null
?
new
ArrayList
<>()
:
calculationDiscountResult
.
getCouponDiscounts
();
return
;
List
<
ActivityDiscountsDto
>
activityDiscountsDtos
=
shoppingCartGoodsDto
.
getActivityDiscountsDtos
()
==
null
?
new
ArrayList
<>()
:
shoppingCartGoodsDto
.
getActivityDiscountsDtos
();
for
(
ShoppingCartGoodsDto
.
CartGoodsDetailDto
cartGoods
:
shoppingCartGoodsDto
.
getProducts
())
{
if
(
StringUtils
.
isNotEmpty
(
cartGoods
.
getCouponCode
()))
{
for
(
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
.
CouponResults
couponDiscount
:
couponDiscounts
)
{
ActivityDiscountsDto
activityDiscountsDto
=
getActivityDiscountDto
(
calculationDiscountResult
.
getApportionGoods
(),
couponDiscount
);
if
(
activityDiscountsDto
!=
null
)
{
ActivityDiscountsDto
activityDiscountsDto1
=
new
ActivityDiscountsDto
();
BeanUtils
.
copyProperties
(
activityDiscountsDto
,
activityDiscountsDto1
);
activityDiscountsDto1
.
setDiscountAmount
(-
activityDiscountsDto
.
getDiscountAmount
());
cartGoods
.
setTotalDiscountAmount
(-
activityDiscountsDto
.
getDiscountAmount
());
cartGoods
.
setSalePrice
(
0L
);
cartGoods
.
setActivityDiscountsDtos
(
Arrays
.
asList
(
activityDiscountsDto1
));
}
}
//循环购物车商品券
for
(
CartGoods
cartGoods
:
cartGoodsList
)
{
if
(
cartGoods
.
getCartGoodsUid
().
startsWith
(
CommonsConstant
.
COUPON_PREFIX
))
{
String
spqId
=
cartGoods
.
getCartGoodsUid
().
substring
(
CommonsConstant
.
COUPON_PREFIX
.
length
());
// 计算优惠信息时,已将券校验过,放在map中
Map
<
String
,
CheckSpqInfoResponseDto
>
validCouponMap
=
discountResult
==
null
?
new
HashMap
<>()
:
discountResult
.
getValidCouponMap
();
if
(
MapUtils
.
isNotEmpty
(
validCouponMap
))
{
CheckSpqInfoResponseDto
checkSpqInfoResponseDto
=
validCouponMap
.
get
(
spqId
);
if
(
checkSpqInfoResponseDto
!=
null
)
{
cartGoods
.
setOriginalPrice
(
checkSpqInfoResponseDto
.
getPrice
());
cartGoods
.
setSpuId
(
checkSpqInfoResponseDto
.
getSpuId
());
cartGoods
.
setSkuId
(
StringUtils
.
isEmpty
(
checkSpqInfoResponseDto
.
getSkuId
())
?
checkSpqInfoResponseDto
.
getSpuId
()
:
checkSpqInfoResponseDto
.
getSkuId
());
cartGoods
.
setQty
(
1
);
cartGoods
.
setCouponCode
(
checkSpqInfoResponseDto
.
getCouponCode
());
cartGoods
.
setSpuName
(
checkSpqInfoResponseDto
.
getSpuName
());
cartGoods
.
setSpecProductId
(
checkSpqInfoResponseDto
.
getDefaultSpecId
());
cartGoods
.
setSubName
(
checkSpqInfoResponseDto
.
getDefaultSpecName
());
cartGoods
.
setExtra
(
checkSpqInfoResponseDto
.
getExtras
());
if
(
GoodsTypeEnum
.
HG_COUPON_GOODS
.
getGoodsType
().
equals
(
cartGoods
.
getGoodsType
()))
{
CalculationSharingDiscountResponseDto
.
CalculationDiscountResult
.
Goods
discountGoods
=
discountResult
.
getGoods
()
.
stream
()
.
filter
(
d
->
cartGoods
.
getCartGoodsUid
().
equals
(
d
.
getCartGoodsUid
()))
.
findFirst
()
.
orElse
(
null
);
if
(
discountGoods
!=
null
)
{
cartGoods
.
setAmount
(
discountGoods
.
getRealAmount
());
}
else
{
cartGoods
.
setAmount
(
checkSpqInfoResponseDto
.
getPrice
());
}
}
}
}
cartGoods
.
setOriginalAmount
(
checkSpqInfoResponseDto
.
getPrice
());
}
}
for
(
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
.
CouponResults
couponDiscount
:
couponDiscounts
)
{
ActivityDiscountsDto
activityDiscountsDto
=
getActivityDiscountDto
(
calculationDiscountResult
.
getApportionGoods
(),
couponDiscount
);
if
(
activityDiscountsDto
!=
null
)
{
activityDiscountsDtos
.
add
(
activityDiscountsDto
);
}
}
}
}
shoppingCartGoodsDto
.
setActivityDiscountsDtos
(
activityDiscountsDtos
);
}
}
private
ActivityDiscountsDto
getActivityDiscountDto
(
List
<
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
.
ApportionGoods
>
apportionGoods
,
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
.
CouponResults
couponDiscount
)
{
String
couponCode
=
couponDiscount
.
getCouponCode
();
for
(
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
.
ApportionGoods
apportionGood
:
apportionGoods
)
{
List
<
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
.
ApportionGoods
.
ApportionDetails
>
list
=
apportionGood
.
getApportionDetails
().
stream
().
filter
(
detail
->
ObjectUtils
.
equals
(
couponCode
,
detail
.
getActivityCode
())).
collect
(
Collectors
.
toList
());
if
(
CollectionUtils
.
isNotEmpty
(
list
))
{
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
.
ApportionGoods
.
ApportionDetails
apportionDetails
=
list
.
get
(
0
);
ActivityDiscountsDto
activityDiscountsDto
=
new
ActivityDiscountsDto
();
activityDiscountsDto
.
setActivityCode
(
apportionDetails
.
getActivityCode
());
activityDiscountsDto
.
setActivityName
(
apportionDetails
.
getActivityName
());
activityDiscountsDto
.
setActivityType
(
apportionDetails
.
getActivityType
());
activityDiscountsDto
.
setDiscountAmount
(
0
-
couponDiscount
.
getDiscountAmount
());
return
activityDiscountsDto
;
}
}
return
null
;
}
}
public
ActivityClassifyCouponBean
createEmptyActivityCouponBean
()
{
public
ActivityClassifyCouponBean
createEmptyActivityCouponBean
()
{
ActivityClassifyCouponBean
activityClassifyCouponBean
=
new
ActivityClassifyCouponBean
();
ActivityClassifyCouponBean
activityClassifyCouponBean
=
new
ActivityClassifyCouponBean
();
activityClassifyCouponBean
.
setCouponNum
(
0
);
activityClassifyCouponBean
.
setCouponNum
(
0
);
...
...
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