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
Show whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
37 additions
and
11 deletions
+37
-11
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
+8
-2
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/mcoffee/calculation/CouponDiscountCalculation.java
+5
-5
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 @@
...
@@ -42,7 +42,7 @@
<dependency>
<dependency>
<groupId>
com.freemud.application.service.sdk
</groupId>
<groupId>
com.freemud.application.service.sdk
</groupId>
<artifactId>
productcenter-sdk
</artifactId>
<artifactId>
productcenter-sdk
</artifactId>
<version>
3.
2.RELEASE
</version>
<version>
3.
6.4.SNAPSHOT
</version>
<scope>
provided
</scope>
<scope>
provided
</scope>
</dependency>
</dependency>
<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 {
...
@@ -283,6 +283,7 @@ public class ShoppingCartAdapter {
cartGoods
.
setMemberDiscount
(
spuProduct
.
getMemberDiscountResult
());
cartGoods
.
setMemberDiscount
(
spuProduct
.
getMemberDiscountResult
());
cartGoods
.
setClassificationId
(
spuProduct
.
getCategory
());
cartGoods
.
setClassificationId
(
spuProduct
.
getCategory
());
cartGoods
.
setClassificationName
(
spuProduct
.
getCategoryName
());
cartGoods
.
setClassificationName
(
spuProduct
.
getCategoryName
());
cartGoods
.
setTax
(
spuProduct
.
getTax
());
String
skuSpecName
=
""
;
String
skuSpecName
=
""
;
if
(
isSkuProduct
&&
CollectionUtils
.
isNotEmpty
(
skuProduct
.
getSkuSpecValues
()))
{
if
(
isSkuProduct
&&
CollectionUtils
.
isNotEmpty
(
skuProduct
.
getSkuSpecValues
()))
{
List
<
String
>
skuSpecValus
=
skuProduct
.
getSkuSpecValues
().
stream
().
map
(
p
->
p
.
getSpecValue
()).
collect
(
Collectors
.
toList
());
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 {
...
@@ -158,6 +158,11 @@ public class CartGoods {
private
Integer
memberDiscount
;
private
Integer
memberDiscount
;
/**
/**
* 税率 缓存
*/
private
Double
tax
;
/**
* 套餐固定商品
* 套餐固定商品
*/
*/
private
List
<
ComboxGoods
>
productComboList
;
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 {
...
@@ -84,7 +84,8 @@ public class ShoppingCartConvertAdapter {
public
ShoppingCartGoodsDto
.
CartGoodsDetailDto
convertCartGoods2DetailGoods
(
CartGoods
cartGoods
,
List
<
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
.
ApportionGoods
>
apportionGoodsList
,
Map
<
String
,
String
>
duplicateGoodsMap
)
{
public
ShoppingCartGoodsDto
.
CartGoodsDetailDto
convertCartGoods2DetailGoods
(
CartGoods
cartGoods
,
List
<
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
.
ApportionGoods
>
apportionGoodsList
,
Map
<
String
,
String
>
duplicateGoodsMap
)
{
// 设置基础信息
// 设置基础信息
ShoppingCartGoodsDto
.
CartGoodsDetailDto
cartGoodsDetailDto
=
new
ShoppingCartGoodsDto
.
CartGoodsDetailDto
();
ShoppingCartGoodsDto
.
CartGoodsDetailDto
cartGoodsDetailDto
=
new
ShoppingCartGoodsDto
.
CartGoodsDetailDto
();
cartGoodsDetailDto
.
setTas
(
0.02d
);
cartGoodsDetailDto
.
setTasId
(
"1234"
);
cartGoodsDetailDto
.
setTas
(
cartGoods
.
getTax
());
cartGoodsDetailDto
.
setSpuId
(
cartGoods
.
getSpuId
());
cartGoodsDetailDto
.
setSpuId
(
cartGoods
.
getSpuId
());
cartGoodsDetailDto
.
setSpuName
(
cartGoods
.
getSpuName
());
cartGoodsDetailDto
.
setSpuName
(
cartGoods
.
getSpuName
());
cartGoodsDetailDto
.
setSkuId
(
StringUtils
.
isEmpty
(
cartGoods
.
getSkuId
())
?
cartGoods
.
getSpuId
()
:
cartGoods
.
getSkuId
());
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 {
...
@@ -224,6 +224,11 @@ public class ShoppingCartGoodsDto {
private
String
classificationName
;
private
String
classificationName
;
/**
/**
* 税率代码
*/
private
String
tasId
;
/**
* 税率
* 税率
*/
*/
private
Double
tas
;
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 {
...
@@ -158,6 +158,12 @@ public class CartGoods {
* 例如8折为80
* 例如8折为80
*/
*/
private
Integer
memberDiscount
;
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 {
...
@@ -25,6 +25,7 @@ public enum ActivityTypeEnum {
*/
*/
TYPE_2
(
2
,
"单品特价"
),
TYPE_2
(
2
,
"单品特价"
),
TYPE_21
(
21
,
"单品折扣"
),
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 {
...
@@ -72,7 +72,6 @@ public class CalculationServiceImpl {
@Autowired
@Autowired
private
SetMealCalculation
setMealCalculation
;
private
SetMealCalculation
setMealCalculation
;
@Autowired
@Autowired
private
ShoppingCartConvertAdapter
shoppingCartConvertAdapter
;
private
ShoppingCartConvertAdapter
shoppingCartConvertAdapter
;
...
@@ -98,7 +97,7 @@ public class CalculationServiceImpl {
...
@@ -98,7 +97,7 @@ public class CalculationServiceImpl {
ActivityQueryDto
activityQueryDto
=
fullPromotionCalculation
.
getActivityQueryDto
(
partnerId
,
storeId
,
userId
,
appId
,
orderType
);
ActivityQueryDto
activityQueryDto
=
fullPromotionCalculation
.
getActivityQueryDto
(
partnerId
,
storeId
,
userId
,
appId
,
orderType
);
fullPromotionCalculation
.
updateShoppingCartGoodsDiscount
(
activityQueryDto
,
calculationDiscount
,
cartGoodsList
,
shoppingCartGoodsResponseVo
);
fullPromotionCalculation
.
updateShoppingCartGoodsDiscount
(
activityQueryDto
,
calculationDiscount
,
cartGoodsList
,
shoppingCartGoodsResponseVo
);
//限时特价
//限时特价
、单品特价、超值加购
timeSaleCalculation
.
updateShoppingCartGoodsDiscount
(
calculationDiscount
,
cartGoodsList
,
shoppingCartGoodsResponseVo
);
timeSaleCalculation
.
updateShoppingCartGoodsDiscount
(
calculationDiscount
,
cartGoodsList
,
shoppingCartGoodsResponseVo
);
//优惠券
//优惠券
...
@@ -166,6 +165,13 @@ public class CalculationServiceImpl {
...
@@ -166,6 +165,13 @@ public class CalculationServiceImpl {
shoppingCartGoodsDto
.
setOriginalTotalAmount
(
shoppingCartGoodsResponseVo
.
getOriginalTotalAmount
());
shoppingCartGoodsDto
.
setOriginalTotalAmount
(
shoppingCartGoodsResponseVo
.
getOriginalTotalAmount
());
shoppingCartGoodsDto
.
setTotalAmount
(
shoppingCartGoodsResponseVo
.
getTotalAmount
());
shoppingCartGoodsDto
.
setTotalAmount
(
shoppingCartGoodsResponseVo
.
getTotalAmount
());
shoppingCartGoodsDto
.
setTotalDiscountAmount
(
shoppingCartGoodsResponseVo
.
getTotalDiscountAmount
());
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 包装费
// todo 包装费
shoppingCartGoodsDto
.
setPackageAmount
(
shoppingCartGoodsResponseVo
.
getNewPackAmount
());
shoppingCartGoodsDto
.
setPackageAmount
(
shoppingCartGoodsResponseVo
.
getNewPackAmount
());
List
<
CartGoods
>
cartGoodsList
=
shoppingCartGoodsResponseVo
.
getProducts
();
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 {
...
@@ -74,7 +74,6 @@ public class CouponDiscountCalculation {
*/
*/
public
void
updateShoppingCartGoodsDiscount
(
CouponPromotionVO
couponPromotionVO
,
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
calculationDiscountResult
,
List
<
CartGoods
>
cartGoodsList
,
ShoppingCartGoodsResponseVo
shoppingCartGoodsResponseVo
)
{
public
void
updateShoppingCartGoodsDiscount
(
CouponPromotionVO
couponPromotionVO
,
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
calculationDiscountResult
,
List
<
CartGoods
>
cartGoodsList
,
ShoppingCartGoodsResponseVo
shoppingCartGoodsResponseVo
)
{
// 当couponCode不为空时,需计算优惠价格
// 当couponCode不为空时,需计算优惠价格
long
couponDiscount
=
0
;
long
couponDiscount
=
0
;
if
(
couponPromotionVO
!=
null
&&
StringUtils
.
isNotEmpty
(
couponPromotionVO
.
getCouponCode
())
if
(
couponPromotionVO
!=
null
&&
StringUtils
.
isNotEmpty
(
couponPromotionVO
.
getCouponCode
())
...
@@ -155,15 +154,15 @@ public class CouponDiscountCalculation {
...
@@ -155,15 +154,15 @@ public class CouponDiscountCalculation {
getMemberCouponListRequestDto
.
setPageSize
(
Integer
.
MAX_VALUE
);
getMemberCouponListRequestDto
.
setPageSize
(
Integer
.
MAX_VALUE
);
GetMemberCouponListResponseDto
.
Result
result
=
getMemberCouponList
(
getMemberCouponListRequestDto
);
GetMemberCouponListResponseDto
.
Result
result
=
getMemberCouponList
(
getMemberCouponListRequestDto
);
LogUtil
.
debug
(
"CouponServiceImpl_getMemberCouponList"
,
JSON
.
toJSONString
(
getMemberCouponListRequestDto
),
JSON
.
toJSONString
(
result
));
LogUtil
.
debug
(
"CouponServiceImpl_getMemberCouponList"
,
JSON
.
toJSONString
(
getMemberCouponListRequestDto
),
JSON
.
toJSONString
(
result
));
if
(
result
==
null
||
CollectionUtils
.
isEmpty
(
result
.
getMemberCoupons
()))
{
return
null
;
}
ActivityClassifyCouponBean
availableCouponResponseVo
=
new
ActivityClassifyCouponBean
();
ActivityClassifyCouponBean
availableCouponResponseVo
=
new
ActivityClassifyCouponBean
();
// 可用优惠券信息
// 可用优惠券信息
List
<
ActivityCouponBean
>
usableCoupons
=
Lists
.
newArrayList
();
List
<
ActivityCouponBean
>
usableCoupons
=
Lists
.
newArrayList
();
// 不可用优惠券信息
// 不可用优惠券信息
List
<
ActivityCouponBean
>
disableCoupons
=
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
();
List
<
GetMemberCouponListResponseDto
.
Result
.
MemberCoupon
>
memberCoupons
=
result
.
getMemberCoupons
();
// 对象转map
// 对象转map
Map
<
String
,
GetMemberCouponListResponseDto
.
Result
.
MemberCoupon
>
memberCouponMap
=
memberCoupons
.
stream
().
collect
(
Map
<
String
,
GetMemberCouponListResponseDto
.
Result
.
MemberCoupon
>
memberCouponMap
=
memberCoupons
.
stream
().
collect
(
...
@@ -180,6 +179,7 @@ public class CouponDiscountCalculation {
...
@@ -180,6 +179,7 @@ public class CouponDiscountCalculation {
// }
// }
});
});
//券码可用券校验
List
<
CouponState
>
couponStateList
=
buildAvailableCoupons
(
cartGoods
,
partnerId
,
storeId
,
couponCodes
);
List
<
CouponState
>
couponStateList
=
buildAvailableCoupons
(
cartGoods
,
partnerId
,
storeId
,
couponCodes
);
if
(
CollectionUtils
.
isEmpty
(
couponStateList
))
{
if
(
CollectionUtils
.
isEmpty
(
couponStateList
))
{
return
null
;
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 {
...
@@ -41,7 +41,8 @@ public class TimeSaleCalculation {
*/
*/
public
void
updateShoppingCartGoodsDiscount
(
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
calculationDiscountResult
,
List
<
CartGoods
>
cartGoodsList
,
ShoppingCartGoodsResponseVo
shoppingCartGoodsResponseVo
)
{
public
void
updateShoppingCartGoodsDiscount
(
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
calculationDiscountResult
,
List
<
CartGoods
>
cartGoodsList
,
ShoppingCartGoodsResponseVo
shoppingCartGoodsResponseVo
)
{
if
(
calculationDiscountResult
==
null
||
CollectionUtils
.
isEmpty
(
calculationDiscountResult
.
getDiscounts
())
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
;
return
;
}
}
List
<
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
.
Goods
>
goodsList
=
calculationDiscountResult
.
getGoods
();
List
<
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
.
Goods
>
goodsList
=
calculationDiscountResult
.
getGoods
();
...
@@ -53,7 +54,7 @@ public class TimeSaleCalculation {
...
@@ -53,7 +54,7 @@ public class TimeSaleCalculation {
.
collect
(
Collectors
.
toMap
(
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
.
Goods
::
getGoodsId
,
Function
.
identity
(),
(
k1
,
k2
)
->
k1
));
.
collect
(
Collectors
.
toMap
(
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
.
Goods
::
getGoodsId
,
Function
.
identity
(),
(
k1
,
k2
)
->
k1
));
// 存储当前享受限时特价折扣的商品数量,key:goodsId; value:可享受数量
// 存储当前享受限时特价折扣的商品数量,key:goodsId; value:可享受数量
Map
<
String
,
Integer
>
numberMap
=
new
HashMap
<>();
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
)
{
for
(
CartGoods
cartGoods
:
cartGoodsList
)
{
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
.
Goods
goods
;
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
.
Goods
goods
;
if
((
goods
=
goodsMap
.
get
(
cartGoods
.
getGoodsId
()))
==
null
)
{
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