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
b6a980ca
Commit
b6a980ca
authored
Oct 18, 2020
by
xiaoer.li
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix:合并换购券到算价分支
parent
7de8cfde
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
44 additions
and
3 deletions
+44
-3
shopping-cart-application-service/src/main/java/cn/freemud/entities/dto/calculate/CalculationSharingDiscountRequestDto.java
+1
-0
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/calculate/CalculationSharingDiscountService.java
+26
-3
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/calculate/promotion/CouponSharingService.java
+17
-0
No files found.
shopping-cart-application-service/src/main/java/cn/freemud/entities/dto/calculate/CalculationSharingDiscountRequestDto.java
View file @
b6a980ca
...
...
@@ -114,6 +114,7 @@ public class CalculationSharingDiscountRequestDto {
* 例如8折为80
*/
private
Integer
memberDiscount
;
private
String
couponCode
;
/**
* 加料
*/
...
...
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/calculate/CalculationSharingDiscountService.java
View file @
b6a980ca
...
...
@@ -8,8 +8,8 @@ import cn.freemud.entities.dto.calculate.CalculationSharingDiscountResponseDto;
import
cn.freemud.entities.vo.CartGoods
;
import
cn.freemud.entities.vo.ShoppingCartInfoRequestVo
;
import
cn.freemud.enums.ActivityChannelEnum
;
import
cn.freemud.enums.GoodsTypeEnum
;
import
cn.freemud.enums.ResponseResult
;
import
cn.freemud.interceptor.BizServiceException
;
import
cn.freemud.interceptor.ServiceException
;
import
cn.freemud.service.CommonService
;
import
cn.freemud.service.CouponService
;
...
...
@@ -85,7 +85,11 @@ public class CalculationSharingDiscountService {
cartGoodsList
.
remove
(
i
);
assortmentSdkService
.
setShoppingCart
(
partnerId
,
storeId
,
userId
,
cartGoodsList
,
null
,
null
,
this
.
shoppingCartBaseService
);
//跑业务异常 商品券不存
throw
new
ServiceException
(
ResponseResult
.
SHOPPING_CART_COUPON_NOT_EXIST
);
if
(
GoodsTypeEnum
.
HG_COUPON_GOODS
.
getGoodsType
().
equals
(
cartGoods
.
getGoodsType
()))
{
throw
new
ServiceException
(
ResponseResult
.
SHOPPING_CART_HG_COUPON_NOT_EXIST
);
}
else
{
throw
new
ServiceException
(
ResponseResult
.
SHOPPING_CART_COUPON_NOT_EXIST
);
}
}
validCouponMap
.
put
(
spqId
,
checkSpqInfo
);
cartGoods
.
setName
(
checkSpqInfo
.
getCouponName
());
...
...
@@ -98,7 +102,12 @@ public class CalculationSharingDiscountService {
// 添加商品券代表的商品放入促销
String
goodsId
=
StringUtils
.
isNotBlank
(
checkSpqInfo
.
getSkuId
())
?
checkSpqInfo
.
getSkuId
():
checkSpqInfo
.
getSpuId
();
this
.
setSpqDiscountGoods
(
calculationDiscountGoodsList
,
cartGoods
,
goodsId
,
checkSpqInfo
.
getPrice
());
if
(
GoodsTypeEnum
.
HG_COUPON_GOODS
.
getGoodsType
().
equals
(
cartGoods
.
getGoodsType
()))
{
this
.
setSpqDiscountGoods
(
calculationDiscountGoodsList
,
cartGoods
,
goodsId
,
checkSpqInfo
.
getPrice
(),
cartGoods
.
getSpuId
());
}
else
{
this
.
setSpqDiscountGoods
(
calculationDiscountGoodsList
,
cartGoods
,
goodsId
,
checkSpqInfo
.
getPrice
());
}
}
}
...
...
@@ -238,6 +247,20 @@ public class CalculationSharingDiscountService {
calculationDiscountGoods
.
setMemberDiscount
(
100
);
this
.
setCalculationDiscountGoods
(
calculationDiscountGoodsList
,
calculationDiscountGoods
);
}
private
void
setSpqDiscountGoods
(
List
<
CalculationSharingDiscountRequestDto
.
CalculationDiscountGoods
>
calculationDiscountGoodsList
,
CartGoods
cartGoods
,
String
goodsId
,
Long
originalPrice
,
String
couponCode
)
{
CalculationSharingDiscountRequestDto
.
CalculationDiscountGoods
calculationDiscountGoods
=
new
CalculationSharingDiscountRequestDto
.
CalculationDiscountGoods
();
calculationDiscountGoods
.
setGoodsId
(
goodsId
);
calculationDiscountGoods
.
setCartGoodsUid
(
cartGoods
.
getCartGoodsUid
());
calculationDiscountGoods
.
setGoodsQuantity
(
1
);
calculationDiscountGoods
.
setOriginalPrice
(
originalPrice
);
calculationDiscountGoods
.
setMemberDiscount
(
100
);
calculationDiscountGoods
.
setCouponCode
(
couponCode
);
this
.
setCalculationDiscountGoods
(
calculationDiscountGoodsList
,
calculationDiscountGoods
);
}
/**
* 需要促销计算的商品
...
...
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/calculate/promotion/CouponSharingService.java
View file @
b6a980ca
...
...
@@ -7,6 +7,7 @@ import cn.freemud.entities.dto.calculate.CalculationSharingDiscountResponseDto;
import
cn.freemud.entities.dto.shoppingCart.ShoppingCartGoodsDto
;
import
cn.freemud.entities.vo.*
;
import
cn.freemud.enums.CouponFlag
;
import
cn.freemud.enums.GoodsTypeEnum
;
import
cn.freemud.service.CouponService
;
import
com.freemud.sdk.api.assortment.shoppingcart.constant.CommonsConstant
;
import
com.google.common.collect.Lists
;
...
...
@@ -93,6 +94,22 @@ public class CouponSharingService {
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
=
calculationDiscountResult
.
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
());
}
}
}
...
...
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