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
9e319bbb
Commit
9e319bbb
authored
Aug 10, 2020
by
ping.wu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
商品开票费率与超值加购
parent
adecb2eb
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
44 additions
and
18 deletions
+44
-18
assortment-shoppingcart-sdk/pom.xml
+1
-1
assortment-shoppingcart-sdk/src/main/java/com/freemud/sdk/api/assortment/shoppingcart/adapter/ShoppingCartAdapter.java
+1
-0
assortment-shoppingcart-sdk/src/main/java/com/freemud/sdk/api/assortment/shoppingcart/domain/CartGoods.java
+5
-0
shopping-cart-application-service/src/main/java/cn/freemud/adapter/ShoppingCartConvertAdapter.java
+2
-1
shopping-cart-application-service/src/main/java/cn/freemud/entities/dto/shoppingCart/ShoppingCartGoodsDto.java
+5
-0
shopping-cart-application-service/src/main/java/cn/freemud/entities/vo/CartGoods.java
+6
-0
shopping-cart-application-service/src/main/java/cn/freemud/enums/ActivityTypeEnum.java
+1
-0
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/mcoffee/ShoppingCartMCoffeeServiceImpl.java
+0
-0
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/mcoffee/calculation/CalculationServiceImpl.java
+11
-5
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/mcoffee/calculation/CouponDiscountCalculation.java
+9
-9
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/mcoffee/calculation/TimeSaleCalculation.java
+3
-2
No files found.
assortment-shoppingcart-sdk/pom.xml
View file @
9e319bbb
...
...
@@ -42,7 +42,7 @@
<dependency>
<groupId>
com.freemud.application.service.sdk
</groupId>
<artifactId>
productcenter-sdk
</artifactId>
<version>
3.
2.RELEASE
</version>
<version>
3.
6.4.SNAPSHOT
</version>
<scope>
provided
</scope>
</dependency>
<dependency>
...
...
assortment-shoppingcart-sdk/src/main/java/com/freemud/sdk/api/assortment/shoppingcart/adapter/ShoppingCartAdapter.java
View file @
9e319bbb
...
...
@@ -283,6 +283,7 @@ public class ShoppingCartAdapter {
cartGoods
.
setMemberDiscount
(
spuProduct
.
getMemberDiscountResult
());
cartGoods
.
setClassificationId
(
spuProduct
.
getCategory
());
cartGoods
.
setClassificationName
(
spuProduct
.
getCategoryName
());
cartGoods
.
setTax
(
spuProduct
.
getTax
());
String
skuSpecName
=
""
;
if
(
isSkuProduct
&&
CollectionUtils
.
isNotEmpty
(
skuProduct
.
getSkuSpecValues
()))
{
List
<
String
>
skuSpecValus
=
skuProduct
.
getSkuSpecValues
().
stream
().
map
(
p
->
p
.
getSpecValue
()).
collect
(
Collectors
.
toList
());
...
...
assortment-shoppingcart-sdk/src/main/java/com/freemud/sdk/api/assortment/shoppingcart/domain/CartGoods.java
View file @
9e319bbb
...
...
@@ -158,6 +158,11 @@ public class CartGoods {
private
Integer
memberDiscount
;
/**
* 税率 缓存
*/
private
Double
tax
;
/**
* 套餐固定商品
*/
private
List
<
ComboxGoods
>
productComboList
;
...
...
shopping-cart-application-service/src/main/java/cn/freemud/adapter/ShoppingCartConvertAdapter.java
View file @
9e319bbb
...
...
@@ -84,7 +84,8 @@ public class ShoppingCartConvertAdapter {
public
ShoppingCartGoodsDto
.
CartGoodsDetailDto
convertCartGoods2DetailGoods
(
CartGoods
cartGoods
,
List
<
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
.
ApportionGoods
>
apportionGoodsList
,
Map
<
String
,
String
>
duplicateGoodsMap
)
{
// 设置基础信息
ShoppingCartGoodsDto
.
CartGoodsDetailDto
cartGoodsDetailDto
=
new
ShoppingCartGoodsDto
.
CartGoodsDetailDto
();
cartGoodsDetailDto
.
setTas
(
0.02d
);
cartGoodsDetailDto
.
setTasId
(
"1234"
);
cartGoodsDetailDto
.
setTas
(
cartGoods
.
getTax
());
cartGoodsDetailDto
.
setSpuId
(
cartGoods
.
getSpuId
());
cartGoodsDetailDto
.
setSpuName
(
cartGoods
.
getSpuName
());
cartGoodsDetailDto
.
setSkuId
(
StringUtils
.
isEmpty
(
cartGoods
.
getSkuId
())
?
cartGoods
.
getSpuId
()
:
cartGoods
.
getSkuId
());
...
...
shopping-cart-application-service/src/main/java/cn/freemud/entities/dto/shoppingCart/ShoppingCartGoodsDto.java
View file @
9e319bbb
...
...
@@ -224,6 +224,11 @@ public class ShoppingCartGoodsDto {
private
String
classificationName
;
/**
* 税率代码
*/
private
String
tasId
;
/**
* 税率
*/
private
Double
tas
;
...
...
shopping-cart-application-service/src/main/java/cn/freemud/entities/vo/CartGoods.java
View file @
9e319bbb
...
...
@@ -158,6 +158,12 @@ public class CartGoods {
* 例如8折为80
*/
private
Integer
memberDiscount
;
/**
* 费率
*/
private
Double
tax
;
/**
* 套餐固定商品
*/
...
...
shopping-cart-application-service/src/main/java/cn/freemud/enums/ActivityTypeEnum.java
View file @
9e319bbb
...
...
@@ -25,6 +25,7 @@ public enum ActivityTypeEnum {
*/
TYPE_2
(
2
,
"单品特价"
),
TYPE_21
(
21
,
"单品折扣"
),
TYPE_23
(
23
,
"超值加购"
),
/**
* 优惠券
*/
...
...
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/mcoffee/ShoppingCartMCoffeeServiceImpl.java
View file @
9e319bbb
This diff is collapsed.
Click to expand it.
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/mcoffee/calculation/CalculationServiceImpl.java
View file @
9e319bbb
...
...
@@ -72,7 +72,6 @@ public class CalculationServiceImpl {
@Autowired
private
SetMealCalculation
setMealCalculation
;
@Autowired
private
ShoppingCartConvertAdapter
shoppingCartConvertAdapter
;
...
...
@@ -80,9 +79,9 @@ public class CalculationServiceImpl {
* 更新购物车行优惠信息
*/
public
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
updateShoppingCartGoodsDiscount
(
String
partnerId
,
String
storeId
,
String
userId
,
String
appId
,
Integer
orderType
,
boolean
isMember
,
String
menuType
,
String
receiveId
,
String
couponCode
,
List
<
CartGoods
>
cartGoodsList
,
List
<
ActivityCalculationDiscountRequestDto
.
CalculationDiscountCoupon
>
coupons
,
List
<
ShoppingCartInfoRequestVo
.
SendGoods
>
sendGoodsList
,
ShoppingCartGoodsResponseVo
shoppingCartGoodsResponseVo
)
{
boolean
isMember
,
String
menuType
,
String
receiveId
,
String
couponCode
,
List
<
CartGoods
>
cartGoodsList
,
List
<
ActivityCalculationDiscountRequestDto
.
CalculationDiscountCoupon
>
coupons
,
List
<
ShoppingCartInfoRequestVo
.
SendGoods
>
sendGoodsList
,
ShoppingCartGoodsResponseVo
shoppingCartGoodsResponseVo
)
{
Long
deliveryAmount
=
0L
;
QueryDeliverDetailResponse
response
=
calculateDeliveryAmount
(
receiveId
,
partnerId
,
storeId
,
appId
);
...
...
@@ -98,7 +97,7 @@ public class CalculationServiceImpl {
ActivityQueryDto
activityQueryDto
=
fullPromotionCalculation
.
getActivityQueryDto
(
partnerId
,
storeId
,
userId
,
appId
,
orderType
);
fullPromotionCalculation
.
updateShoppingCartGoodsDiscount
(
activityQueryDto
,
calculationDiscount
,
cartGoodsList
,
shoppingCartGoodsResponseVo
);
//限时特价
//限时特价
、单品特价、超值加购
timeSaleCalculation
.
updateShoppingCartGoodsDiscount
(
calculationDiscount
,
cartGoodsList
,
shoppingCartGoodsResponseVo
);
//优惠券
...
...
@@ -166,6 +165,13 @@ public class CalculationServiceImpl {
shoppingCartGoodsDto
.
setOriginalTotalAmount
(
shoppingCartGoodsResponseVo
.
getOriginalTotalAmount
());
shoppingCartGoodsDto
.
setTotalAmount
(
shoppingCartGoodsResponseVo
.
getTotalAmount
());
shoppingCartGoodsDto
.
setTotalDiscountAmount
(
shoppingCartGoodsResponseVo
.
getTotalDiscountAmount
());
shoppingCartGoodsDto
.
setDeliveryAmount
(
shoppingCartGoodsResponseVo
.
getDeliveryAmount
());
shoppingCartGoodsDto
.
setDiscountDeliveryAmount
(
shoppingCartGoodsResponseVo
.
getDiscountDeliveryAmount
());
shoppingCartGoodsDto
.
setThresholdAmount
(
shoppingCartGoodsResponseVo
.
getThresholdAmount
());
shoppingCartGoodsDto
.
setIsDiscountDelivery
(
shoppingCartGoodsResponseVo
.
getIsDiscountDelivery
());
shoppingCartGoodsDto
.
setDiscountDeliveryActivityCode
(
shoppingCartGoodsResponseVo
.
getDiscountDeliveryActivityCode
());
// todo 包装费
shoppingCartGoodsDto
.
setPackageAmount
(
shoppingCartGoodsResponseVo
.
getNewPackAmount
());
List
<
CartGoods
>
cartGoodsList
=
shoppingCartGoodsResponseVo
.
getProducts
();
...
...
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/mcoffee/calculation/CouponDiscountCalculation.java
View file @
9e319bbb
...
...
@@ -74,7 +74,6 @@ public class CouponDiscountCalculation {
*/
public
void
updateShoppingCartGoodsDiscount
(
CouponPromotionVO
couponPromotionVO
,
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
calculationDiscountResult
,
List
<
CartGoods
>
cartGoodsList
,
ShoppingCartGoodsResponseVo
shoppingCartGoodsResponseVo
)
{
// 当couponCode不为空时,需计算优惠价格
long
couponDiscount
=
0
;
if
(
couponPromotionVO
!=
null
&&
StringUtils
.
isNotEmpty
(
couponPromotionVO
.
getCouponCode
())
...
...
@@ -155,15 +154,15 @@ public class CouponDiscountCalculation {
getMemberCouponListRequestDto
.
setPageSize
(
Integer
.
MAX_VALUE
);
GetMemberCouponListResponseDto
.
Result
result
=
getMemberCouponList
(
getMemberCouponListRequestDto
);
LogUtil
.
debug
(
"CouponServiceImpl_getMemberCouponList"
,
JSON
.
toJSONString
(
getMemberCouponListRequestDto
),
JSON
.
toJSONString
(
result
));
if
(
result
==
null
||
CollectionUtils
.
isEmpty
(
result
.
getMemberCoupons
()))
{
return
null
;
}
ActivityClassifyCouponBean
availableCouponResponseVo
=
new
ActivityClassifyCouponBean
();
// 可用优惠券信息
List
<
ActivityCouponBean
>
usableCoupons
=
Lists
.
newArrayList
();
// 不可用优惠券信息
List
<
ActivityCouponBean
>
disableCoupons
=
Lists
.
newArrayList
();
if
(
result
==
null
||
CollectionUtils
.
isEmpty
(
result
.
getMemberCoupons
()))
{
return
returnEmptyAvailableCoupon
(
availableCouponResponseVo
,
usableCoupons
,
disableCoupons
);
}
List
<
GetMemberCouponListResponseDto
.
Result
.
MemberCoupon
>
memberCoupons
=
result
.
getMemberCoupons
();
// 对象转map
Map
<
String
,
GetMemberCouponListResponseDto
.
Result
.
MemberCoupon
>
memberCouponMap
=
memberCoupons
.
stream
().
collect
(
...
...
@@ -173,13 +172,14 @@ public class CouponDiscountCalculation {
// 只筛选小于结束时间得券
// if (Objects.equals(memberCoupon.getCouponType(), CouponTypeEnum.TYPE_1.getCode())
// || Objects.equals(memberCoupon.getCouponType(), CouponTypeEnum.TYPE_3.getCode())) {
// 只筛选小于结束时间得券
if
(
System
.
currentTimeMillis
()
<
DateUtil
.
convert2Date
(
memberCoupon
.
getEndTime
(),
DateUtil
.
FORMAT_YYYY_MM_DD_HHMMSS
).
getTime
())
{
couponCodes
.
add
(
memberCoupon
.
getCouponCode
());
}
// 只筛选小于结束时间得券
if
(
System
.
currentTimeMillis
()
<
DateUtil
.
convert2Date
(
memberCoupon
.
getEndTime
(),
DateUtil
.
FORMAT_YYYY_MM_DD_HHMMSS
).
getTime
())
{
couponCodes
.
add
(
memberCoupon
.
getCouponCode
());
}
// }
});
//券码可用券校验
List
<
CouponState
>
couponStateList
=
buildAvailableCoupons
(
cartGoods
,
partnerId
,
storeId
,
couponCodes
);
if
(
CollectionUtils
.
isEmpty
(
couponStateList
))
{
return
null
;
...
...
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/mcoffee/calculation/TimeSaleCalculation.java
View file @
9e319bbb
...
...
@@ -41,7 +41,8 @@ public class TimeSaleCalculation {
*/
public
void
updateShoppingCartGoodsDiscount
(
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
calculationDiscountResult
,
List
<
CartGoods
>
cartGoodsList
,
ShoppingCartGoodsResponseVo
shoppingCartGoodsResponseVo
)
{
if
(
calculationDiscountResult
==
null
||
CollectionUtils
.
isEmpty
(
calculationDiscountResult
.
getDiscounts
())
||
!
calculationDiscountResult
.
getDiscounts
().
stream
().
anyMatch
(
discount
->
(
ActivityTypeEnum
.
TYPE_2
.
getCode
().
equals
(
discount
.
getType
())
||
(
ActivityTypeEnum
.
TYPE_21
.
getCode
().
equals
(
discount
.
getType
())))))
{
||
!
calculationDiscountResult
.
getDiscounts
().
stream
().
anyMatch
(
discount
->
(
ActivityTypeEnum
.
TYPE_2
.
getCode
().
equals
(
discount
.
getType
())
||(
ActivityTypeEnum
.
TYPE_21
.
getCode
().
equals
(
discount
.
getType
()))
||
(
ActivityTypeEnum
.
TYPE_23
.
getCode
().
equals
(
discount
.
getType
()))
)))
{
return
;
}
List
<
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
.
Goods
>
goodsList
=
calculationDiscountResult
.
getGoods
();
...
...
@@ -53,7 +54,7 @@ public class TimeSaleCalculation {
.
collect
(
Collectors
.
toMap
(
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
.
Goods
::
getGoodsId
,
Function
.
identity
(),
(
k1
,
k2
)
->
k1
));
// 存储当前享受限时特价折扣的商品数量,key:goodsId; value:可享受数量
Map
<
String
,
Integer
>
numberMap
=
new
HashMap
<>();
List
<
Integer
>
discounts
=
Arrays
.
asList
(
ActivityTypeEnum
.
TYPE_2
.
getCode
(),
ActivityTypeEnum
.
TYPE_21
.
getCode
());
List
<
Integer
>
discounts
=
Arrays
.
asList
(
ActivityTypeEnum
.
TYPE_2
.
getCode
(),
ActivityTypeEnum
.
TYPE_21
.
getCode
()
,
ActivityTypeEnum
.
TYPE_23
.
getCode
()
);
for
(
CartGoods
cartGoods
:
cartGoodsList
)
{
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
.
Goods
goods
;
if
((
goods
=
goodsMap
.
get
(
cartGoods
.
getGoodsId
()))
==
null
)
{
...
...
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