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
63fdf2d3
Commit
63fdf2d3
authored
Oct 09, 2020
by
徐康
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
运费券记录到缓存
parent
6d7055fa
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
93 additions
and
14 deletions
+93
-14
assortment-shoppingcart-sdk/src/main/java/com/freemud/sdk/api/assortment/shoppingcart/domain/CartParamDto.java
+1
-0
assortment-shoppingcart-sdk/src/main/java/com/freemud/sdk/api/assortment/shoppingcart/enums/SaveCouponType.java
+33
-0
assortment-shoppingcart-sdk/src/main/java/com/freemud/sdk/api/assortment/shoppingcart/service/impl/ShoppingCartBaseServiceImpl.java
+7
-2
shopping-cart-application-service/src/main/java/cn/freemud/entities/vo/ShoppingCartGoodsResponseVo.java
+5
-0
shopping-cart-application-service/src/main/java/cn/freemud/entities/vo/ShoppingCartInfoRequestVo.java
+5
-0
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/AssortmentSdkService.java
+4
-2
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/mcoffee/ShoppingCartMCoffeeServiceImpl.java
+38
-10
No files found.
assortment-shoppingcart-sdk/src/main/java/com/freemud/sdk/api/assortment/shoppingcart/domain/CartParamDto.java
View file @
63fdf2d3
...
...
@@ -40,4 +40,5 @@ public class CartParamDto {
private
MealClearOperationEnum
operationType
;
private
Integer
couponType
;
}
assortment-shoppingcart-sdk/src/main/java/com/freemud/sdk/api/assortment/shoppingcart/enums/SaveCouponType.java
0 → 100644
View file @
63fdf2d3
package
com
.
freemud
.
sdk
.
api
.
assortment
.
shoppingcart
.
enums
;
public
enum
SaveCouponType
{
COUPON
(
1
,
"代金券"
),
FREIGHT_COUPON
(
2
,
"运费券"
),
;
private
Integer
code
;
private
String
desc
;
SaveCouponType
(
Integer
code
,
String
desc
)
{
this
.
code
=
code
;
this
.
desc
=
desc
;
}
public
Integer
getCode
()
{
return
code
;
}
public
void
setCode
(
Integer
code
)
{
this
.
code
=
code
;
}
public
String
getDesc
()
{
return
desc
;
}
public
void
setDesc
(
String
desc
)
{
this
.
desc
=
desc
;
}
}
assortment-shoppingcart-sdk/src/main/java/com/freemud/sdk/api/assortment/shoppingcart/service/impl/ShoppingCartBaseServiceImpl.java
View file @
63fdf2d3
...
...
@@ -5,6 +5,7 @@ import cn.freemud.base.entity.BaseResponse;
import
cn.freemud.redis.RedisCache
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONObject
;
import
com.freemud.application.sdk.api.couponcenter.enums.CouponTypeEnum
;
import
com.freemud.application.sdk.api.couponcenter.online.domain.*
;
import
com.freemud.application.sdk.api.couponcenter.online.request.ActiveBatchQueryRequest
;
import
com.freemud.application.sdk.api.couponcenter.online.request.CouponDetailRequest
;
...
...
@@ -26,6 +27,7 @@ import com.freemud.application.sdk.api.productcenter.service.ProductService;
import
com.freemud.sdk.api.assortment.shoppingcart.adapter.ShoppingCartAdapter
;
import
com.freemud.sdk.api.assortment.shoppingcart.constant.*
;
import
com.freemud.sdk.api.assortment.shoppingcart.domain.*
;
import
com.freemud.sdk.api.assortment.shoppingcart.enums.SaveCouponType
;
import
com.freemud.sdk.api.assortment.shoppingcart.request.CheckCartRequest
;
import
com.freemud.sdk.api.assortment.shoppingcart.request.GetProductInfoRequest
;
import
com.freemud.sdk.api.assortment.shoppingcart.service.ShoppingCartBaseService
;
...
...
@@ -203,6 +205,9 @@ public class ShoppingCartBaseServiceImpl implements ShoppingCartBaseService {
try
{
redisTemplate
.
delete
(
this
.
getShoppingCartGoodsKey
(
cartParamDto
));
redisTemplate
.
delete
(
this
.
getShoppingCartGoodsAmountKey
(
cartParamDto
));
cartParamDto
.
setCouponType
(
SaveCouponType
.
COUPON
.
getCode
());
redisTemplate
.
delete
(
this
.
getShoppingCartCouponCodeKey
(
cartParamDto
));
cartParamDto
.
setCouponType
(
SaveCouponType
.
FREIGHT_COUPON
.
getCode
());
redisTemplate
.
delete
(
this
.
getShoppingCartCouponCodeKey
(
cartParamDto
));
return
new
BaseResponse
(
VersionUtils
.
VER_1
,
CartResponseConstant
.
SUCCESS
.
getCode
(),
CartResponseConstant
.
SUCCESS
.
getMessage
());
}
catch
(
Exception
e
)
{
...
...
@@ -328,12 +333,12 @@ public class ShoppingCartBaseServiceImpl implements ShoppingCartBaseService {
/**
* 获取记录购物车
信息
的key
* 获取记录购物车
coupon
的key
*
* @return
*/
private
String
getShoppingCartCouponCodeKey
(
CartParamDto
cartParamDto
)
{
return
RedisKeyConstant
.
SAAS_SHOPPINGCART_COUPON_KEY_PREFIX
+
cartParamDto
.
getPartnerId
()
+
"_"
+
cartParamDto
.
getStoreId
()
+
"_"
+
cartParamDto
.
getUserId
();
return
RedisKeyConstant
.
SAAS_SHOPPINGCART_COUPON_KEY_PREFIX
+
cartParamDto
.
getPartnerId
()
+
"_"
+
cartParamDto
.
getStoreId
()
+
"_"
+
cartParamDto
.
getUserId
()
+
"_"
+
cartParamDto
.
getCouponType
()
;
}
/**
...
...
shopping-cart-application-service/src/main/java/cn/freemud/entities/vo/ShoppingCartGoodsResponseVo.java
View file @
63fdf2d3
...
...
@@ -129,4 +129,9 @@ public class ShoppingCartGoodsResponseVo extends ShoppingCartGoodsBaseResponseV
* 代金券
*/
private
String
couponCode
;
/**
* 运费券
*/
private
String
freightCouponCode
;
}
shopping-cart-application-service/src/main/java/cn/freemud/entities/vo/ShoppingCartInfoRequestVo.java
View file @
63fdf2d3
...
...
@@ -115,4 +115,9 @@ public class ShoppingCartInfoRequestVo extends BaseRequestVo {
private
String
ruleId
;
}
/**
* 运费券code
*/
private
String
freightCouponCode
;
}
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/AssortmentSdkService.java
View file @
63fdf2d3
...
...
@@ -116,8 +116,9 @@ public class AssortmentSdkService {
* @param useId
* @return
*/
public
String
getShoppingCartCoupon
(
String
partnerId
,
String
storeId
,
String
useId
,
ShoppingCartBaseService
shoppingCartService
)
{
public
String
getShoppingCartCoupon
(
String
partnerId
,
String
storeId
,
String
useId
,
ShoppingCartBaseService
shoppingCartService
,
Integer
type
)
{
com
.
freemud
.
sdk
.
api
.
assortment
.
shoppingcart
.
domain
.
CartParamDto
cartParamDto
=
getCartParamDto
(
partnerId
,
storeId
,
useId
);
cartParamDto
.
setCouponType
(
type
);
BaseResponse
<
String
>
baseResponse
=
shoppingCartService
.
getCartCouponCode
(
cartParamDto
,
LogThreadLocal
.
getTrackingNo
());
if
(
baseResponse
==
null
||
!
ResponseResult
.
SUCCESS
.
getCode
().
equals
(
baseResponse
.
getCode
())
||
StringUtils
.
isEmpty
(
baseResponse
.
getResult
()))
{
...
...
@@ -156,9 +157,10 @@ public class AssortmentSdkService {
* @param useId
* @return
*/
public
List
<
CartGoods
>
setShoppingCartCouponCode
(
String
partnerId
,
String
storeId
,
String
useId
,
String
couponCode
,
ShoppingCartBaseService
shoppingCartService
)
{
public
List
<
CartGoods
>
setShoppingCartCouponCode
(
String
partnerId
,
String
storeId
,
String
useId
,
String
couponCode
,
ShoppingCartBaseService
shoppingCartService
,
Integer
type
)
{
com
.
freemud
.
sdk
.
api
.
assortment
.
shoppingcart
.
domain
.
CartParamDto
cartParamDto
=
getCartParamDto
(
partnerId
,
storeId
,
useId
);
cartParamDto
.
setCouponCode
(
couponCode
);
cartParamDto
.
setCouponType
(
type
);
BaseResponse
<
String
>
baseResponse
=
shoppingCartService
.
setCartCouponCode
(
cartParamDto
,
LogThreadLocal
.
getTrackingNo
());
if
(
baseResponse
==
null
||
!
ResponseResult
.
SUCCESS
.
getCode
().
equals
(
baseResponse
.
getCode
()))
{
return
null
;
...
...
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/mcoffee/ShoppingCartMCoffeeServiceImpl.java
View file @
63fdf2d3
...
...
@@ -36,6 +36,7 @@ import com.freemud.application.sdk.api.ordercenter.service.OrderSdkService;
import
com.freemud.application.sdk.api.productcenter.domain.ProductBeanDTO
;
import
com.freemud.sdk.api.assortment.shoppingcart.constant.CommonsConstant
;
import
com.freemud.sdk.api.assortment.shoppingcart.enums.BusinessTypeEnum
;
import
com.freemud.sdk.api.assortment.shoppingcart.enums.SaveCouponType
;
import
com.freemud.sdk.api.assortment.shoppingcart.request.CheckCartRequest
;
import
com.freemud.sdk.api.assortment.shoppingcart.service.impl.ShoppingCartBaseServiceImpl
;
import
com.google.common.collect.Lists
;
...
...
@@ -294,6 +295,7 @@ public class ShoppingCartMCoffeeServiceImpl {
String
storeId
=
shoppingCartInfoRequestVo
.
getShopId
();
String
appId
=
shoppingCartInfoRequestVo
.
getAppId
();
String
couponCode
=
shoppingCartInfoRequestVo
.
getCouponCode
();
String
freightCouponCode
=
shoppingCartInfoRequestVo
.
getCouponCode
();
// String activityCode = shoppingCartInfoRequestVo.getActivityCode();
String
menuType
=
shoppingCartInfoRequestVo
.
getMenuType
();
Integer
orderType
=
shoppingCartInfoRequestVo
.
getOrderType
();
...
...
@@ -314,25 +316,50 @@ public class ShoppingCartMCoffeeServiceImpl {
* 如果couponCode为空,则从缓存里尝试获取
* 如果couponCode不为空,则设置到缓存里
*/
List
<
String
>
couponList
=
new
ArrayList
<>();
if
(
StringUtils
.
isEmpty
(
couponCode
))
{
couponCode
=
assortmentSdkService
.
getShoppingCartCoupon
(
partnerId
,
storeId
,
userId
,
shoppingCartBaseService
);
couponCode
=
assortmentSdkService
.
getShoppingCartCoupon
(
partnerId
,
storeId
,
userId
,
shoppingCartBaseService
,
SaveCouponType
.
COUPON
.
getCode
()
);
if
(
StringUtils
.
isNotEmpty
(
couponCode
))
{
List
<
CouponState
>
couponStates
=
couponDiscountCalculation
.
buildAvailableCoupons
(
cartGoodsList
,
partnerId
,
storeId
,
Lists
.
newArrayList
(
couponCode
));
if
(
CollectionUtils
.
isNotEmpty
(
couponStates
))
{
if
(
Objects
.
equals
(
couponStates
.
get
(
0
).
getState
(),
CouponStateEnum
.
STATE_1
.
getCode
()))
{
couponCode
=
""
;
}
}
else
{
couponCode
=
""
;
}
couponList
.
add
(
couponCode
);
}
}
else
{
if
(
"remove"
.
equals
(
couponCode
))
{
couponCode
=
""
;
}
assortmentSdkService
.
setShoppingCartCouponCode
(
partnerId
,
storeId
,
userId
,
couponCode
,
shoppingCartBaseService
);
assortmentSdkService
.
setShoppingCartCouponCode
(
partnerId
,
storeId
,
userId
,
couponCode
,
shoppingCartBaseService
,
SaveCouponType
.
COUPON
.
getCode
()
);
}
if
(
StringUtils
.
isEmpty
(
freightCouponCode
))
{
freightCouponCode
=
assortmentSdkService
.
getShoppingCartCoupon
(
partnerId
,
storeId
,
userId
,
shoppingCartBaseService
,
SaveCouponType
.
FREIGHT_COUPON
.
getCode
());
if
(
StringUtils
.
isNotEmpty
(
freightCouponCode
))
{
couponList
.
add
(
freightCouponCode
);
}
}
else
{
if
(
"remove"
.
equals
(
freightCouponCode
))
{
freightCouponCode
=
""
;
}
assortmentSdkService
.
setShoppingCartCouponCode
(
partnerId
,
storeId
,
userId
,
freightCouponCode
,
shoppingCartBaseService
,
SaveCouponType
.
FREIGHT_COUPON
.
getCode
());
}
//校验代金券和运费券是否可用
if
(
CollectionUtils
.
isNotEmpty
(
couponList
))
{
List
<
CouponState
>
couponStates
=
couponDiscountCalculation
.
buildAvailableCoupons
(
cartGoodsList
,
partnerId
,
storeId
,
couponList
);
if
(
CollectionUtils
.
isNotEmpty
(
couponStates
))
{
Map
<
String
,
Integer
>
couponStateMap
=
couponStates
.
stream
().
collect
(
Collectors
.
toMap
(
CouponState:
:
getCouponCode
,
CouponState:
:
getState
));
if
(
null
==
couponStateMap
.
get
(
couponCode
)
||
Objects
.
equals
(
couponStateMap
.
get
(
couponCode
),
CouponStateEnum
.
STATE_1
.
getCode
()))
{
couponCode
=
""
;
}
if
(
null
==
couponStateMap
.
get
(
freightCouponCode
)
||
Objects
.
equals
(
couponStateMap
.
get
(
freightCouponCode
),
CouponStateEnum
.
STATE_1
.
getCode
()))
{
freightCouponCode
=
""
;
}
}
else
{
couponCode
=
""
;
freightCouponCode
=
""
;
}
}
shoppingCartInfoRequestVo
.
setFreightCouponCode
(
freightCouponCode
);
// 当couponCode不为空时,需参与价格计算
List
<
ActivityCalculationDiscountRequestDto
.
CalculationDiscountCoupon
>
coupons
=
getCoupon
(
couponCode
,
null
,
cartGoodsList
);
...
...
@@ -343,6 +370,7 @@ public class ShoppingCartMCoffeeServiceImpl {
setAddAndUpdateResponse
(
shoppingCartGoodsResponseVo
,
cartGoodsList
,
shoppingCartGoodsResponseVo
.
getToastMsg
(),
ShoppingCartConstant
.
QUERY_INFO
,
shoppingCartInfoRequestVo
);
shoppingCartGoodsResponseVo
.
setCouponCode
(
couponCode
);
shoppingCartGoodsResponseVo
.
setFreightCouponCode
(
freightCouponCode
);
return
ResponseUtil
.
success
(
shoppingCartGoodsResponseVo
);
}
...
...
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