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
99ec4506
Commit
99ec4506
authored
Sep 17, 2020
by
徐康
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
listcarts返回上次使用的代金券,满减活动保存tenderId
parent
a2a4bc16
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
148 additions
and
1 deletions
+148
-1
assortment-shoppingcart-sdk/src/main/java/com/freemud/sdk/api/assortment/shoppingcart/constant/RedisKeyConstant.java
+4
-0
assortment-shoppingcart-sdk/src/main/java/com/freemud/sdk/api/assortment/shoppingcart/domain/CartParamDto.java
+2
-0
assortment-shoppingcart-sdk/src/main/java/com/freemud/sdk/api/assortment/shoppingcart/service/ShoppingCartBaseService.java
+22
-0
assortment-shoppingcart-sdk/src/main/java/com/freemud/sdk/api/assortment/shoppingcart/service/impl/ShoppingCartBaseServiceImpl.java
+51
-0
order-application-service/src/main/java/cn/freemud/adapter/OrderAdapter.java
+6
-0
order-application-service/src/main/java/cn/freemud/entities/dto/shoppingCart/ActivityDiscountsDto.java
+1
-0
shopping-cart-application-service/src/main/java/cn/freemud/entities/dto/ActivityCalculationDiscountResponseDto.java
+2
-0
shopping-cart-application-service/src/main/java/cn/freemud/entities/dto/activity/ActivityDiscountsDto.java
+1
-0
shopping-cart-application-service/src/main/java/cn/freemud/entities/vo/ShoppingCartGoodsResponseVo.java
+5
-0
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/AssortmentSdkService.java
+39
-0
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/mcoffee/ShoppingCartMCoffeeServiceImpl.java
+14
-1
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/mcoffee/calculation/CalculationServiceImpl.java
+1
-0
No files found.
assortment-shoppingcart-sdk/src/main/java/com/freemud/sdk/api/assortment/shoppingcart/constant/RedisKeyConstant.java
View file @
99ec4506
...
...
@@ -21,6 +21,10 @@ public class RedisKeyConstant {
/**
* 用户购物车在redis的key前缀
*/
public
final
static
String
SAAS_SHOPPINGCART_COUPON_KEY_PREFIX
=
"saas:user:info:cart:coupon:"
;
/**
* 用户购物车在redis的key前缀
*/
public
final
static
String
SAAS_USER_INFO_CART_CARTADDPRODUCT
=
"saas:user:info:cart:cartAddProduct:goods:"
;
/**
* 用户购物车总价在redis的key前缀
...
...
assortment-shoppingcart-sdk/src/main/java/com/freemud/sdk/api/assortment/shoppingcart/domain/CartParamDto.java
View file @
99ec4506
...
...
@@ -34,6 +34,8 @@ public class CartParamDto {
private
String
cartGoodsUid
;
private
String
couponCode
;
private
Integer
qty
;
private
MealClearOperationEnum
operationType
;
...
...
assortment-shoppingcart-sdk/src/main/java/com/freemud/sdk/api/assortment/shoppingcart/service/ShoppingCartBaseService.java
View file @
99ec4506
...
...
@@ -77,6 +77,14 @@ public interface ShoppingCartBaseService {
BaseResponse
<
List
<
CartGoods
>>
getCartGoodsList
(
CartParamDto
cartParamDto
,
String
trackingNo
);
/**
* 获取购物车商品代金券
*
* @param cartParamDto
* @return
*/
BaseResponse
<
String
>
getCartCouponCode
(
CartParamDto
cartParamDto
,
String
trackingNo
);
/**
* 设置购物车商品行集合信息
*
* @param cartParamDto
...
...
@@ -84,6 +92,14 @@ public interface ShoppingCartBaseService {
*/
BaseResponse
<
List
<
CartGoods
>>
setCartGoodsList
(
CartParamDto
cartParamDto
,
String
trackingNo
);
/**
* 设置购物车代金券信息
*
* @param cartParamDto
* @return
*/
BaseResponse
<
String
>
setCartCouponCode
(
CartParamDto
cartParamDto
,
String
trackingNo
);
default
boolean
addCartGoodList
(
CartParamDto
cartParamDto
)
{
return
true
;
}
...
...
@@ -96,6 +112,12 @@ public interface ShoppingCartBaseService {
BaseResponse
clear
(
CartParamDto
cartParamDto
,
String
trackingNo
);
/**
* 清除麦咖啡购物车商品行信息
*
* @param cartParamDto
*/
BaseResponse
clearMCCafe
(
CartParamDto
cartParamDto
,
String
trackingNo
);
/**
* 获取商品详细信息
*
* @param getProductInfoRequest
...
...
assortment-shoppingcart-sdk/src/main/java/com/freemud/sdk/api/assortment/shoppingcart/service/impl/ShoppingCartBaseServiceImpl.java
View file @
99ec4506
...
...
@@ -39,6 +39,7 @@ import org.springframework.beans.BeanUtils;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.data.redis.core.BoundHashOperations
;
import
org.springframework.data.redis.core.BoundValueOperations
;
import
org.springframework.data.redis.core.RedisTemplate
;
import
org.springframework.stereotype.Service
;
...
...
@@ -107,6 +108,19 @@ public class ShoppingCartBaseServiceImpl implements ShoppingCartBaseService {
}
@Override
public
BaseResponse
<
String
>
getCartCouponCode
(
CartParamDto
cartParamDto
,
String
trackingNo
)
{
try
{
String
redisKey
=
getShoppingCartCouponCodeKey
(
cartParamDto
);
BoundValueOperations
<
String
,
String
>
operations
=
redisTemplate
.
boundValueOps
(
redisKey
);
String
couponCode
=
operations
.
get
();
return
CartResponseUtil
.
success
(
couponCode
);
}
catch
(
Exception
e
)
{
ErrorLog
.
printErrorLog
(
"assortment-shoppingcart-sdk"
,
trackingNo
,
e
.
getMessage
(),
"getCartCouponCode"
,
cartParamDto
,
e
,
Level
.
ERROR
);
return
null
;
}
}
@Override
public
BaseResponse
<
List
<
CartGoods
>>
setCartGoodsList
(
CartParamDto
cartParamDto
,
String
trackingNo
)
{
try
{
String
redisKey
=
getShoppingCartGoodsKey
(
cartParamDto
);
...
...
@@ -124,6 +138,20 @@ public class ShoppingCartBaseServiceImpl implements ShoppingCartBaseService {
}
@Override
public
BaseResponse
<
String
>
setCartCouponCode
(
CartParamDto
cartParamDto
,
String
trackingNo
)
{
try
{
String
redisKey
=
getShoppingCartCouponCodeKey
(
cartParamDto
);
redisTemplate
.
delete
(
redisKey
);
BoundValueOperations
<
String
,
String
>
operations
=
redisTemplate
.
boundValueOps
(
redisKey
);
operations
.
set
(
cartParamDto
.
getCouponCode
());
return
CartResponseUtil
.
success
();
}
catch
(
Exception
e
)
{
ErrorLog
.
printErrorLog
(
"assortment-shoppingcart-sdk"
,
trackingNo
,
e
.
getMessage
(),
"setCartCouponCode"
,
cartParamDto
,
e
,
Level
.
ERROR
);
return
null
;
}
}
@Override
public
BaseResponse
<
CartGoods
>
getCartGoods
(
CartParamDto
cartParamDto
,
String
trackingNo
)
{
try
{
String
redisKey
=
getShoppingCartGoodsKey
(
cartParamDto
);
...
...
@@ -170,6 +198,19 @@ public class ShoppingCartBaseServiceImpl implements ShoppingCartBaseService {
}
}
@Override
public
BaseResponse
clearMCCafe
(
CartParamDto
cartParamDto
,
String
trackingNo
)
{
try
{
redisTemplate
.
delete
(
this
.
getShoppingCartGoodsKey
(
cartParamDto
));
redisTemplate
.
delete
(
this
.
getShoppingCartGoodsAmountKey
(
cartParamDto
));
redisTemplate
.
delete
(
this
.
getShoppingCartCouponCodeKey
(
cartParamDto
));
return
new
BaseResponse
(
VersionUtils
.
VER_1
,
CartResponseConstant
.
SUCCESS
.
getCode
(),
CartResponseConstant
.
SUCCESS
.
getMessage
());
}
catch
(
Exception
e
)
{
ErrorLog
.
printErrorLog
(
"assortment-shoppingcart-sdk"
,
trackingNo
,
e
.
getMessage
(),
"clear"
,
cartParamDto
,
e
,
Level
.
ERROR
);
return
null
;
}
}
/**
* 修正购物车中的spu和sku商品信息
*
...
...
@@ -285,6 +326,16 @@ public class ShoppingCartBaseServiceImpl implements ShoppingCartBaseService {
return
RedisKeyConstant
.
SAAS_SHOPPINGCART_KEY_PREFIX
+
cartParamDto
.
getPartnerId
()
+
"_"
+
cartParamDto
.
getStoreId
()
+
"_"
+
cartParamDto
.
getUserId
();
}
/**
* 获取记录购物车信息的key
*
* @return
*/
private
String
getShoppingCartCouponCodeKey
(
CartParamDto
cartParamDto
)
{
return
RedisKeyConstant
.
SAAS_SHOPPINGCART_COUPON_KEY_PREFIX
+
cartParamDto
.
getPartnerId
()
+
"_"
+
cartParamDto
.
getStoreId
()
+
"_"
+
cartParamDto
.
getUserId
();
}
/**
* 获取记录购物车价格的key
*
...
...
order-application-service/src/main/java/cn/freemud/adapter/OrderAdapter.java
View file @
99ec4506
...
...
@@ -176,6 +176,12 @@ public class OrderAdapter {
.
accountType
(
getQueryOrderAccountType
(
getOrderAccountType
(
activityDiscountsDto
.
getActivityType
())))
.
sequence
(
orderAccountIndex
++)
.
build
();
if
(
mcCafePartnerId
.
equals
(
createOrderDto
.
getCompanyId
())
&&
ActivityTypeEnum
.
TYPE_1
.
getCode
().
equals
(
activityDiscountsDto
.
getActivityType
()))
{
JSONObject
jsonObject
=
new
JSONObject
();
jsonObject
.
put
(
"tenderId"
,
activityDiscountsDto
.
getTenderId
());
createOrderAccountDto
.
setAddInfo
(
jsonObject
.
toJSONString
());
}
orderAccountDtos
.
add
(
createOrderAccountDto
);
}
...
...
order-application-service/src/main/java/cn/freemud/entities/dto/shoppingCart/ActivityDiscountsDto.java
View file @
99ec4506
...
...
@@ -22,4 +22,5 @@ public class ActivityDiscountsDto {
private
Integer
discountAmount
;
private
Integer
activityType
;
private
Integer
actualActivityGoodsNumber
;
private
String
tenderId
;
}
shopping-cart-application-service/src/main/java/cn/freemud/entities/dto/ActivityCalculationDiscountResponseDto.java
View file @
99ec4506
...
...
@@ -154,6 +154,8 @@ public class ActivityCalculationDiscountResponseDto {
private
Integer
type
;
private
Long
thresholdAmount
;
private
String
tenderId
;
}
@Data
...
...
shopping-cart-application-service/src/main/java/cn/freemud/entities/dto/activity/ActivityDiscountsDto.java
View file @
99ec4506
...
...
@@ -21,6 +21,7 @@ public class ActivityDiscountsDto {
private
String
activityName
;
private
Integer
discountAmount
;
private
Integer
activityType
;
private
String
tenderId
;
/**
* 实际参与活动商品数量
...
...
shopping-cart-application-service/src/main/java/cn/freemud/entities/vo/ShoppingCartGoodsResponseVo.java
View file @
99ec4506
...
...
@@ -124,4 +124,9 @@ public class ShoppingCartGoodsResponseVo extends ShoppingCartGoodsBaseResponseV
* 配送费为零的原因:0:正常,1:超出配送范围
*/
private
Integer
deliveryFeeZeroReason
;
/**
* 代金券
*/
private
String
couponCode
;
}
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/AssortmentSdkService.java
View file @
99ec4506
...
...
@@ -19,6 +19,7 @@ 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
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.lang.StringUtils
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.stereotype.Service
;
...
...
@@ -108,6 +109,25 @@ public class AssortmentSdkService {
}
/**
* 调用聚合sdk获取缓存中购物车代金券信息
*
* @param partnerId
* @param storeId
* @param useId
* @return
*/
public
String
getShoppingCartCoupon
(
String
partnerId
,
String
storeId
,
String
useId
,
ShoppingCartBaseService
shoppingCartService
)
{
com
.
freemud
.
sdk
.
api
.
assortment
.
shoppingcart
.
domain
.
CartParamDto
cartParamDto
=
getCartParamDto
(
partnerId
,
storeId
,
useId
);
BaseResponse
<
String
>
baseResponse
=
shoppingCartService
.
getCartCouponCode
(
cartParamDto
,
LogThreadLocal
.
getTrackingNo
());
if
(
baseResponse
==
null
||
!
ResponseResult
.
SUCCESS
.
getCode
().
equals
(
baseResponse
.
getCode
())
||
StringUtils
.
isEmpty
(
baseResponse
.
getResult
()))
{
return
""
;
}
return
baseResponse
.
getResult
();
}
/**
* 调用聚合sdk设置缓存中购物车信息
*
* @param partnerId
...
...
@@ -128,6 +148,25 @@ public class AssortmentSdkService {
return
JSONArray
.
parseArray
(
JSONObject
.
toJSONString
(
baseResponse
.
getResult
()),
CartGoods
.
class
);
}
/**
* 调用聚合sdk设置缓存中购物车代金券
*
* @param partnerId
* @param storeId
* @param useId
* @return
*/
public
List
<
CartGoods
>
setShoppingCartCouponCode
(
String
partnerId
,
String
storeId
,
String
useId
,
String
couponCode
,
ShoppingCartBaseService
shoppingCartService
)
{
com
.
freemud
.
sdk
.
api
.
assortment
.
shoppingcart
.
domain
.
CartParamDto
cartParamDto
=
getCartParamDto
(
partnerId
,
storeId
,
useId
);
cartParamDto
.
setCouponCode
(
couponCode
);
BaseResponse
<
String
>
baseResponse
=
shoppingCartService
.
setCartCouponCode
(
cartParamDto
,
LogThreadLocal
.
getTrackingNo
());
if
(
baseResponse
==
null
||
!
ResponseResult
.
SUCCESS
.
getCode
().
equals
(
baseResponse
.
getCode
()))
{
return
null
;
}
return
JSONArray
.
parseArray
(
JSONObject
.
toJSONString
(
baseResponse
.
getResult
()),
CartGoods
.
class
);
}
/**
...
...
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/mcoffee/ShoppingCartMCoffeeServiceImpl.java
View file @
99ec4506
...
...
@@ -297,6 +297,18 @@ public class ShoppingCartMCoffeeServiceImpl {
Integer
orderType
=
shoppingCartInfoRequestVo
.
getOrderType
();
String
receiveId
=
shoppingCartInfoRequestVo
.
getReceiveId
();
/**
* 如果couponCode为空,则从缓存里尝试获取
* 如果couponCode不为空,则设置到缓存里
*/
if
(
StringUtils
.
isEmpty
(
couponCode
))
{
couponCode
=
assortmentSdkService
.
getShoppingCartCoupon
(
partnerId
,
storeId
,
userId
,
shoppingCartBaseService
);
//TODO 校验券是否可用,不可用要删除
}
else
{
assortmentSdkService
.
setShoppingCartCouponCode
(
partnerId
,
storeId
,
userId
,
couponCode
,
shoppingCartBaseService
);
}
// 获取购物车商品
List
<
CartGoods
>
cartGoodsList
=
assortmentSdkService
.
getShoppingCart
(
partnerId
,
storeId
,
userId
,
sessionId
,
""
,
shoppingCartBaseService
);
...
...
@@ -316,6 +328,7 @@ public class ShoppingCartMCoffeeServiceImpl {
//设置更新响应信息
setAddAndUpdateResponse
(
shoppingCartGoodsResponseVo
,
cartGoodsList
,
shoppingCartGoodsResponseVo
.
getToastMsg
(),
ShoppingCartConstant
.
QUERY_INFO
,
shoppingCartInfoRequestVo
);
shoppingCartGoodsResponseVo
.
setCouponCode
(
couponCode
);
return
ResponseUtil
.
success
(
shoppingCartGoodsResponseVo
);
}
...
...
@@ -372,7 +385,7 @@ public class ShoppingCartMCoffeeServiceImpl {
String
partnerId
=
shoppingCartClearRequestVo
.
getPartnerId
();
String
storeId
=
shoppingCartClearRequestVo
.
getShopId
();
com
.
freemud
.
sdk
.
api
.
assortment
.
shoppingcart
.
domain
.
CartParamDto
cartParamDto
=
assortmentSdkService
.
getCartParamDto
(
partnerId
,
storeId
,
userId
);
shoppingCartBaseService
.
clear
(
cartParamDto
,
LogThreadLocal
.
getTrackingNo
());
shoppingCartBaseService
.
clear
MCCafe
(
cartParamDto
,
LogThreadLocal
.
getTrackingNo
());
if
(
ObjectUtils
.
equals
(
shoppingCartClearRequestVo
.
getOperationType
(),
OperationTypeEnum
.
PAY_SUCCESS
.
getOperationType
()))
{
return
ResponseUtil
.
success
();
}
...
...
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/mcoffee/calculation/CalculationServiceImpl.java
View file @
99ec4506
...
...
@@ -193,6 +193,7 @@ public class CalculationServiceImpl {
activityDiscountsDto
.
setActivityName
(
discount
.
getActivityName
());
activityDiscountsDto
.
setActivityType
(
discountType
);
activityDiscountsDto
.
setDiscountAmount
(
0
-
discountAmount
);
activityDiscountsDto
.
setTenderId
(
discount
.
getTenderId
());
activityDiscountsDtos
.
add
(
activityDiscountsDto
);
}
}
...
...
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