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
9dc58a30
Commit
9dc58a30
authored
Nov 19, 2020
by
刘鹏飞
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
拼单购物车改造
parent
091f0a79
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
104 additions
and
36 deletions
+104
-36
assortment-shoppingcart-sdk/src/main/java/com/freemud/sdk/api/assortment/shoppingcart/service/CollageOrderBaseService.java
+7
-0
assortment-shoppingcart-sdk/src/main/java/com/freemud/sdk/api/assortment/shoppingcart/service/impl/CollageOrderBaseServiceImpl.java
+13
-2
shopping-cart-application-service/src/main/java/cn/freemud/entities/vo/ShoppingCartCollageGoodsResponseVo.java
+12
-0
shopping-cart-application-service/src/main/java/cn/freemud/entities/vo/ShoppingCartInfoRequestVo.java
+6
-0
shopping-cart-application-service/src/main/java/cn/freemud/enums/ResponseResult.java
+1
-0
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/ShoppingCartCollageServiceImpl.java
+65
-34
No files found.
assortment-shoppingcart-sdk/src/main/java/com/freemud/sdk/api/assortment/shoppingcart/service/CollageOrderBaseService.java
View file @
9dc58a30
...
@@ -127,4 +127,11 @@ public interface CollageOrderBaseService {
...
@@ -127,4 +127,11 @@ public interface CollageOrderBaseService {
* 清除用户在店铺下的拼单时间
* 清除用户在店铺下的拼单时间
*/
*/
BaseResponse
cleanCollageMemberAddTime
(
CollageOrderDto
collageOrderDto
);
BaseResponse
cleanCollageMemberAddTime
(
CollageOrderDto
collageOrderDto
);
/**
* 修改用户加购状态 加购完毕
* @param collageOrderDto
* @return
*/
BaseResponse
getOneCollageMemberState
(
CollageOrderDto
collageOrderDto
);
}
}
assortment-shoppingcart-sdk/src/main/java/com/freemud/sdk/api/assortment/shoppingcart/service/impl/CollageOrderBaseServiceImpl.java
View file @
9dc58a30
...
@@ -219,7 +219,7 @@ public class CollageOrderBaseServiceImpl implements CollageOrderBaseService {
...
@@ -219,7 +219,7 @@ public class CollageOrderBaseServiceImpl implements CollageOrderBaseService {
return
CartResponseUtil
.
success
();
return
CartResponseUtil
.
success
();
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
ErrorLog
.
printErrorLog
(
"修改拼单用户加购状态为继续选购异常"
,
"CollageOrderBaseServiceImpl/shoppingCollageMemberState"
,
this
.
collageOrderRequest
(
collageOrderDto
),
e
);
ErrorLog
.
printErrorLog
(
"修改拼单用户加购状态为继续选购异常"
,
"CollageOrderBaseServiceImpl/shoppingCollageMemberState"
,
this
.
collageOrderRequest
(
collageOrderDto
),
e
);
return
CartResponseUtil
.
success
(
"修改拼单用户加购状态为继续选购异常"
);
return
CartResponseUtil
.
error
(
"修改拼单用户加购状态为继续选购异常"
);
}
}
}
}
...
@@ -287,6 +287,17 @@ public class CollageOrderBaseServiceImpl implements CollageOrderBaseService {
...
@@ -287,6 +287,17 @@ public class CollageOrderBaseServiceImpl implements CollageOrderBaseService {
return
CartResponseUtil
.
success
();
return
CartResponseUtil
.
success
();
}
}
@Override
public
BaseResponse
<
CollageMemberState
>
getOneCollageMemberState
(
CollageOrderDto
collageOrderDto
)
{
try
{
String
collageMemberStateKey
=
this
.
genCollageMemberStateHashKey
(
collageOrderDto
.
getPartnerId
(),
collageOrderDto
.
getStoreId
(),
collageOrderDto
.
getCreateCollageUserId
());
return
CartResponseUtil
.
success
(
this
.
getCollageMemberState
(
collageMemberStateKey
,
collageOrderDto
.
getCurrentUserId
()));
}
catch
(
Exception
e
)
{
ErrorLog
.
printErrorLog
(
"获取拼单用户状态异常"
,
"CollageOrderBaseServiceImpl/getOneCollageMemberState"
,
this
.
collageOrderRequest
(
collageOrderDto
),
e
);
return
CartResponseUtil
.
error
(
"获取拼单用户状态异常"
);
}
}
/**
/**
* 构建门店下拼单人员hashKey
* 构建门店下拼单人员hashKey
* @param partnerId
* @param partnerId
...
@@ -442,7 +453,7 @@ public class CollageOrderBaseServiceImpl implements CollageOrderBaseService {
...
@@ -442,7 +453,7 @@ public class CollageOrderBaseServiceImpl implements CollageOrderBaseService {
collageMemberState
.
setUserId
(
collageOrderDto
.
getCurrentUserId
());
collageMemberState
.
setUserId
(
collageOrderDto
.
getCurrentUserId
());
collageMemberState
.
setNickName
(
collageOrderDto
.
getNickName
());
collageMemberState
.
setNickName
(
collageOrderDto
.
getNickName
());
collageMemberState
.
setPhotoUrl
(
collageOrderDto
.
getPhotoUrl
());
collageMemberState
.
setPhotoUrl
(
collageOrderDto
.
getPhotoUrl
());
collageMemberState
.
setState
(
CollageMemberStateType
.
READY
.
getValue
());
collageMemberState
.
setState
(
CollageMemberStateType
.
SHOPPING
.
getValue
());
redisTemplate
.
boundHashOps
(
collageMemberStateHashKey
).
put
(
collageOrderDto
.
getCurrentUserId
(),
collageMemberState
);
redisTemplate
.
boundHashOps
(
collageMemberStateHashKey
).
put
(
collageOrderDto
.
getCurrentUserId
(),
collageMemberState
);
redisTemplate
.
boundHashOps
(
collageMemberStateHashKey
).
expire
(
1
,
TimeUnit
.
HOURS
);
redisTemplate
.
boundHashOps
(
collageMemberStateHashKey
).
expire
(
1
,
TimeUnit
.
HOURS
);
}
}
...
...
shopping-cart-application-service/src/main/java/cn/freemud/entities/vo/ShoppingCartCollageGoodsResponseVo.java
View file @
9dc58a30
...
@@ -34,4 +34,16 @@ public class ShoppingCartCollageGoodsResponseVo extends ShoppingCartGoodsBaseRes
...
@@ -34,4 +34,16 @@ public class ShoppingCartCollageGoodsResponseVo extends ShoppingCartGoodsBaseRes
*/
*/
private
String
photoUrl
;
private
String
photoUrl
;
/**
* 选好了状态
*/
private
Boolean
states
;
/**
* 包装费
*/
private
Long
packPrice
;
}
}
shopping-cart-application-service/src/main/java/cn/freemud/entities/vo/ShoppingCartInfoRequestVo.java
View file @
9dc58a30
...
@@ -41,6 +41,12 @@ public class ShoppingCartInfoRequestVo extends BaseRequestVo {
...
@@ -41,6 +41,12 @@ public class ShoppingCartInfoRequestVo extends BaseRequestVo {
*/
*/
private
String
createCollageUserId
;
private
String
createCollageUserId
;
/**
* 拼单场景使用
* 0个人购物车1整个购物车
*/
private
Integer
type
;
@NotEmpty
(
message
=
"appId不能为空"
)
@NotEmpty
(
message
=
"appId不能为空"
)
private
String
appId
;
private
String
appId
;
/**
/**
...
...
shopping-cart-application-service/src/main/java/cn/freemud/enums/ResponseResult.java
View file @
9dc58a30
...
@@ -150,6 +150,7 @@ public enum ResponseResult {
...
@@ -150,6 +150,7 @@ public enum ResponseResult {
COLLAGE_CREATE_NOT_OUT_OF
(
"49009"
,
"拼单发起人不能退出拼单,请取消"
),
COLLAGE_CREATE_NOT_OUT_OF
(
"49009"
,
"拼单发起人不能退出拼单,请取消"
),
COLLAGE_MEMBER_NOT_ADD
(
"49010"
,
"用户未参加拼单,请确认"
),
COLLAGE_MEMBER_NOT_ADD
(
"49010"
,
"用户未参加拼单,请确认"
),
COLLAGE_MEMBER_NOT_CREATE
(
"49011"
,
"只有拼单发起者才能移除拼单人员,请确认"
),
COLLAGE_MEMBER_NOT_CREATE
(
"49011"
,
"只有拼单发起者才能移除拼单人员,请确认"
),
COLLAGE_STATES_CHOOSE
(
"49012"
,
"获取用户选购状态失败"
),
/**
/**
* 微信卡券
* 微信卡券
...
...
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/ShoppingCartCollageServiceImpl.java
View file @
9dc58a30
...
@@ -24,6 +24,7 @@ import com.alibaba.fastjson.JSON;
...
@@ -24,6 +24,7 @@ import com.alibaba.fastjson.JSON;
import
com.alibaba.fastjson.JSONArray
;
import
com.alibaba.fastjson.JSONArray
;
import
com.alibaba.fastjson.JSONObject
;
import
com.alibaba.fastjson.JSONObject
;
import
com.freemud.application.sdk.api.base.SDKCommonBaseContextWare
;
import
com.freemud.application.sdk.api.base.SDKCommonBaseContextWare
;
import
com.freemud.application.sdk.api.log.ApiLog
;
import
com.freemud.application.sdk.api.log.LogThreadLocal
;
import
com.freemud.application.sdk.api.log.LogThreadLocal
;
import
com.freemud.application.sdk.api.productcenter.domain.ProductBeanDTO
;
import
com.freemud.application.sdk.api.productcenter.domain.ProductBeanDTO
;
import
com.freemud.card.sdk.log.ErrorLog
;
import
com.freemud.card.sdk.log.ErrorLog
;
...
@@ -42,6 +43,7 @@ import org.springframework.beans.factory.annotation.Autowired;
...
@@ -42,6 +43,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
java.util.*
;
import
java.util.*
;
import
java.util.stream.Collector
;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
import
static
java
.
util
.
stream
.
Collectors
.
toList
;
import
static
java
.
util
.
stream
.
Collectors
.
toList
;
...
@@ -144,8 +146,6 @@ public class ShoppingCartCollageServiceImpl extends AbstractShoppingCartImpl imp
...
@@ -144,8 +146,6 @@ public class ShoppingCartCollageServiceImpl extends AbstractShoppingCartImpl imp
// 获取商品详细信息
// 获取商品详细信息
List
<
ProductBeanDTO
>
productBeanListSpuClass
=
assortmentSdkService
.
getProductsInfoSdk
(
partnerId
,
storeId
,
Collections
.
singletonList
(
spuId
),
addShoppingCartGoodsRequestVo
.
getMenuType
(),
this
.
shoppingCartBaseService
);
List
<
ProductBeanDTO
>
productBeanListSpuClass
=
assortmentSdkService
.
getProductsInfoSdk
(
partnerId
,
storeId
,
Collections
.
singletonList
(
spuId
),
addShoppingCartGoodsRequestVo
.
getMenuType
(),
this
.
shoppingCartBaseService
);
// 购物车版本加锁
dolock
(
partnerId
,
storeId
,
crateUserId
,
addShoppingCartGoodsRequestVo
.
getCarVer
(),
true
);
List
<
CartGoods
>
allCartGoodsList
=
null
;
List
<
CartGoods
>
allCartGoodsList
=
null
;
String
productName
=
null
;
String
productName
=
null
;
...
@@ -179,12 +179,6 @@ public class ShoppingCartCollageServiceImpl extends AbstractShoppingCartImpl imp
...
@@ -179,12 +179,6 @@ public class ShoppingCartCollageServiceImpl extends AbstractShoppingCartImpl imp
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
ErrorLog
.
errorConvertJson
(
SDKCommonBaseContextWare
.
getAppName
(),
LogThreadLocal
.
getTrackingNo
(),
getClass
(),
"updateGoodsQty:"
+
e
.
getMessage
(),
e
);
ErrorLog
.
errorConvertJson
(
SDKCommonBaseContextWare
.
getAppName
(),
LogThreadLocal
.
getTrackingNo
(),
getClass
(),
"updateGoodsQty:"
+
e
.
getMessage
(),
e
);
return
ResponseUtil
.
error
(
ResponseResult
.
SHOPPING_CART_VERSION_ERROR
,
"购物车商品有变动,请手动刷新再修改"
);
return
ResponseUtil
.
error
(
ResponseResult
.
SHOPPING_CART_VERSION_ERROR
,
"购物车商品有变动,请手动刷新再修改"
);
}
finally
{
// 购物车版本解锁
// 版本锁的粒度控制在获取购物车、刷新购物车、刷新车人员缓存行
// 当这些操作结束后,购物的更新操作,已经结束,其他的流程是针对已经添加到redis中的购物车做查询操作
// 所以只有上述的流程才加锁控制
doUnlock
(
partnerId
,
storeId
,
crateUserId
);
}
}
// 配送费
// 配送费
...
@@ -207,7 +201,7 @@ public class ShoppingCartCollageServiceImpl extends AbstractShoppingCartImpl imp
...
@@ -207,7 +201,7 @@ public class ShoppingCartCollageServiceImpl extends AbstractShoppingCartImpl imp
this
.
buriedPointShoppingCart
(
addShoppingCartGoodsRequestVo
,
spuId
,
productName
);
this
.
buriedPointShoppingCart
(
addShoppingCartGoodsRequestVo
,
spuId
,
productName
);
// 根据人员分类购物车
// 根据人员分类购物车
ShoppingCartCollageResponseVo
shoppingCartCollageResponseVo
=
splitByUser
(
shoppingCartGoodsResponseVo
,
crateUserId
,
partnerId
,
storeId
);
ShoppingCartCollageResponseVo
shoppingCartCollageResponseVo
=
splitByUser
(
shoppingCartGoodsResponseVo
,
crateUserId
,
partnerId
,
storeId
,
currentUserId
);
return
ResponseUtil
.
success
(
shoppingCartCollageResponseVo
);
return
ResponseUtil
.
success
(
shoppingCartCollageResponseVo
);
}
}
...
@@ -217,7 +211,7 @@ public class ShoppingCartCollageServiceImpl extends AbstractShoppingCartImpl imp
...
@@ -217,7 +211,7 @@ public class ShoppingCartCollageServiceImpl extends AbstractShoppingCartImpl imp
* @param shoppingCartGoodsResponseVo
* @param shoppingCartGoodsResponseVo
* @return
* @return
*/
*/
public
ShoppingCartCollageResponseVo
splitByUser
(
ShoppingCartGoodsResponseVo
shoppingCartGoodsResponseVo
,
String
createUserId
,
String
partnerId
,
String
storeId
){
public
ShoppingCartCollageResponseVo
splitByUser
(
ShoppingCartGoodsResponseVo
shoppingCartGoodsResponseVo
,
String
createUserId
,
String
partnerId
,
String
storeId
,
String
currentUserId
){
ShoppingCartCollageResponseVo
shoppingCartCollageResponseVo
=
new
ShoppingCartCollageResponseVo
();
ShoppingCartCollageResponseVo
shoppingCartCollageResponseVo
=
new
ShoppingCartCollageResponseVo
();
...
@@ -233,21 +227,62 @@ public class ShoppingCartCollageServiceImpl extends AbstractShoppingCartImpl imp
...
@@ -233,21 +227,62 @@ public class ShoppingCartCollageServiceImpl extends AbstractShoppingCartImpl imp
.
build
();
.
build
();
List
<
CollageMemberState
>
collageMemberState
=
collageOrderBaseService
.
getCollageMemberState
(
collageOrderDto
).
getResult
();
List
<
CollageMemberState
>
collageMemberState
=
collageOrderBaseService
.
getCollageMemberState
(
collageOrderDto
).
getResult
();
if
(
collageMemberState
==
null
||
collageMemberState
.
isEmpty
()){
if
(
collageMemberState
==
null
||
collageMemberState
.
isEmpty
()){
ApiLog
.
info
(
"splitByUser 参单人员为空,partnerId:{},storeId:{},createUserId:{},currentUserId:{}"
,
partnerId
,
storeId
,
createUserId
,
currentUserId
);
return
null
;
return
null
;
}
}
Map
<
String
,
List
<
CartGoods
>>
userGoods
=
cartGoods
.
stream
().
collect
(
Collectors
.
groupingBy
(
CartGoods:
:
getUserId
));
if
(
StringUtils
.
isNotEmpty
(
currentUserId
)){
collageMemberState
=
collageMemberState
.
stream
().
filter
(
cms
->
cms
.
getUserId
().
equals
(
currentUserId
)).
collect
(
Collectors
.
toList
());
}
Map
<
String
,
List
<
CartGoods
>>
userGoods
=
new
HashMap
<>();
if
(
cartGoods
!=
null
&&
!
cartGoods
.
isEmpty
()){
userGoods
=
cartGoods
.
stream
().
collect
(
Collectors
.
groupingBy
(
CartGoods:
:
getUserId
));
}
List
<
ShoppingCartCollageGoodsResponseVo
>
userProducts
=
new
ArrayList
<>();
List
<
ShoppingCartCollageGoodsResponseVo
>
userProducts
=
new
ArrayList
<>();
for
(
CollageMemberState
cmbs:
collageMemberState
){
for
(
CollageMemberState
cmbs:
collageMemberState
){
ShoppingCartCollageGoodsResponseVo
shoppingCartCollageGoodsResponseVo
=
new
ShoppingCartCollageGoodsResponseVo
();
ShoppingCartCollageGoodsResponseVo
shoppingCartCollageGoodsResponseVo
=
new
ShoppingCartCollageGoodsResponseVo
();
shoppingCartCollageGoodsResponseVo
.
setUserName
(
cmbs
.
getNickName
());
shoppingCartCollageGoodsResponseVo
.
setUserName
(
cmbs
.
getNickName
());
shoppingCartCollageGoodsResponseVo
.
setPhotoUrl
(
cmbs
.
getPhotoUrl
());
shoppingCartCollageGoodsResponseVo
.
setPhotoUrl
(
cmbs
.
getPhotoUrl
());
// 包装费
Long
packPrice
=
0L
;
List
<
CartGoods
>
products
=
userGoods
.
get
(
collageMemberState
.
get
(
0
).
getUserId
());
if
(
products
!=
null
&&
!
products
.
isEmpty
()){
for
(
CartGoods
cg
:
products
){
packPrice
=
packPrice
+
(
cg
.
getPackPrice
()
==
null
?
0
:
cg
.
getPackPrice
());
}
}
shoppingCartCollageGoodsResponseVo
.
setPackPrice
(
packPrice
);
shoppingCartCollageGoodsResponseVo
.
setProducts
(
userGoods
.
get
(
cmbs
.
getUserId
()));
shoppingCartCollageGoodsResponseVo
.
setProducts
(
userGoods
.
get
(
cmbs
.
getUserId
()));
shoppingCartCollageGoodsResponseVo
.
setStates
(
cmbs
.
getState
());
userProducts
.
add
(
shoppingCartCollageGoodsResponseVo
);
userProducts
.
add
(
shoppingCartCollageGoodsResponseVo
);
}
}
shoppingCartCollageResponseVo
.
setUserProducts
(
userProducts
);
shoppingCartCollageResponseVo
.
setUserProducts
(
userProducts
);
if
(
StringUtils
.
isNotEmpty
(
currentUserId
)){
// 商品数量
Integer
productsCount
=
0
;
// 商品原价总价
Long
totalAmount
=
0L
;
if
(
null
!=
collageMemberState
&&
null
!=
collageMemberState
.
get
(
0
)){
List
<
CartGoods
>
products
=
userGoods
.
get
(
collageMemberState
.
get
(
0
).
getUserId
());
if
(
products
!=
null
&&
!
products
.
isEmpty
()){
for
(
CartGoods
cg
:
products
){
productsCount
=
productsCount
+
(
cg
.
getQty
()
==
null
?
0
:
cg
.
getQty
());
totalAmount
=
totalAmount
+
(
cg
.
getOriginalAmount
()
==
null
?
0
:
cg
.
getOriginalAmount
());
}
}
}
// 重新计算个人购物车的总金额(优惠后)、商品数量
shoppingCartCollageResponseVo
.
setProductsCount
(
productsCount
);
shoppingCartCollageResponseVo
.
setTotalAmount
(
totalAmount
);
shoppingCartCollageResponseVo
.
setOriginalTotalAmount
(
totalAmount
);
}
return
shoppingCartCollageResponseVo
;
return
shoppingCartCollageResponseVo
;
}
}
...
@@ -283,8 +318,6 @@ public class ShoppingCartCollageServiceImpl extends AbstractShoppingCartImpl imp
...
@@ -283,8 +318,6 @@ public class ShoppingCartCollageServiceImpl extends AbstractShoppingCartImpl imp
throw
new
ServiceException
(
ResponseResult
.
COLLAGE_GOOD_NOT_ONESELF
);
throw
new
ServiceException
(
ResponseResult
.
COLLAGE_GOOD_NOT_ONESELF
);
}
}
// 购物车版本加锁
dolock
(
partnerId
,
storeId
,
crateUserId
,
updateShoppingCartGoodsQtyRequestVo
.
getCarVer
(),
true
);
List
<
CartGoods
>
cartGoodsList
=
null
;
List
<
CartGoods
>
cartGoodsList
=
null
;
try
{
try
{
...
@@ -322,12 +355,6 @@ public class ShoppingCartCollageServiceImpl extends AbstractShoppingCartImpl imp
...
@@ -322,12 +355,6 @@ public class ShoppingCartCollageServiceImpl extends AbstractShoppingCartImpl imp
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
ErrorLog
.
errorConvertJson
(
SDKCommonBaseContextWare
.
getAppName
(),
LogThreadLocal
.
getTrackingNo
(),
getClass
(),
"shoppingCartCollageServiceImpl updateGoodsQty:"
+
e
.
getMessage
(),
e
);
ErrorLog
.
errorConvertJson
(
SDKCommonBaseContextWare
.
getAppName
(),
LogThreadLocal
.
getTrackingNo
(),
getClass
(),
"shoppingCartCollageServiceImpl updateGoodsQty:"
+
e
.
getMessage
(),
e
);
return
ResponseUtil
.
error
(
ResponseResult
.
SHOPPING_CART_VERSION_ERROR
,
"购物车商品有变动,请手动刷新再修改"
);
return
ResponseUtil
.
error
(
ResponseResult
.
SHOPPING_CART_VERSION_ERROR
,
"购物车商品有变动,请手动刷新再修改"
);
}
finally
{
// 购物车版本解锁
// 版本锁的粒度控制在检查购物车、刷新购物车、刷新车人员缓存行
// 当这些操作结束后,购物的更新操作,已经结束,其他的流程是针对已经添加到redis中的购物车做查询操作
// 所以只有上述的流程才加锁控制
doUnlock
(
partnerId
,
storeId
,
crateUserId
);
}
}
...
@@ -351,7 +378,7 @@ public class ShoppingCartCollageServiceImpl extends AbstractShoppingCartImpl imp
...
@@ -351,7 +378,7 @@ public class ShoppingCartCollageServiceImpl extends AbstractShoppingCartImpl imp
shoppingCartGoodsResponseVo
.
setCarVer
(
collageCartBaseService
.
incrementCartVersion
(
partnerId
,
storeId
,
crateUserId
));
shoppingCartGoodsResponseVo
.
setCarVer
(
collageCartBaseService
.
incrementCartVersion
(
partnerId
,
storeId
,
crateUserId
));
// 根据人员分类购物车
// 根据人员分类购物车
ShoppingCartCollageResponseVo
shoppingCartCollageResponseVo
=
splitByUser
(
shoppingCartGoodsResponseVo
,
crateUserId
,
partnerId
,
storeId
);
ShoppingCartCollageResponseVo
shoppingCartCollageResponseVo
=
splitByUser
(
shoppingCartGoodsResponseVo
,
crateUserId
,
partnerId
,
storeId
,
currentUserId
);
return
ResponseUtil
.
success
(
shoppingCartCollageResponseVo
);
return
ResponseUtil
.
success
(
shoppingCartCollageResponseVo
);
}
}
...
@@ -458,8 +485,14 @@ public class ShoppingCartCollageServiceImpl extends AbstractShoppingCartImpl imp
...
@@ -458,8 +485,14 @@ public class ShoppingCartCollageServiceImpl extends AbstractShoppingCartImpl imp
Integer
cartVersion
=
collageCartBaseService
.
getCartVersion
(
collageCartVerKey
);
Integer
cartVersion
=
collageCartBaseService
.
getCartVersion
(
collageCartVerKey
);
shoppingCartGoodsResponseVo
.
setCarVer
(
cartVersion
);
shoppingCartGoodsResponseVo
.
setCarVer
(
cartVersion
);
// 根据人员分类购物车
ShoppingCartCollageResponseVo
shoppingCartCollageResponseVo
;
ShoppingCartCollageResponseVo
shoppingCartCollageResponseVo
=
splitByUser
(
shoppingCartGoodsResponseVo
,
crateUserId
,
partnerId
,
storeId
);
if
(
shoppingCartInfoRequestVo
.
getType
()
!=
null
&&
shoppingCartInfoRequestVo
.
getType
().
intValue
()
==
1
){
// 根据人员分类购物车
shoppingCartCollageResponseVo
=
splitByUser
(
shoppingCartGoodsResponseVo
,
crateUserId
,
partnerId
,
storeId
,
null
);
}
else
{
// 根据人员分类购物车
shoppingCartCollageResponseVo
=
splitByUser
(
shoppingCartGoodsResponseVo
,
crateUserId
,
partnerId
,
storeId
,
currentUserId
);
}
return
ResponseUtil
.
success
(
shoppingCartCollageResponseVo
);
return
ResponseUtil
.
success
(
shoppingCartCollageResponseVo
);
}
}
...
@@ -813,11 +846,18 @@ public class ShoppingCartCollageServiceImpl extends AbstractShoppingCartImpl imp
...
@@ -813,11 +846,18 @@ public class ShoppingCartCollageServiceImpl extends AbstractShoppingCartImpl imp
CollageOrderDto
collageOrderDto
=
CollageOrderDto
.
builder
()
CollageOrderDto
collageOrderDto
=
CollageOrderDto
.
builder
()
.
sessionId
(
""
)
.
sessionId
(
""
)
.
createCollageUserId
(
crateUserId
)
.
createCollageUserId
(
crateUserId
)
.
currentUserId
(
currentUserId
)
.
partnerId
(
partnerId
)
.
partnerId
(
partnerId
)
.
storeId
(
storeId
)
.
storeId
(
storeId
)
.
build
();
.
build
();
Boolean
flag
=
collageOrderBaseService
.
isInCollageStoreMemberList
(
collageOrderDto
);
if
(
flag
){
BaseResponse
<
CollageMemberState
>
response
=
collageOrderBaseService
.
getOneCollageMemberState
(
collageOrderDto
);
if
(
response
==
null
||
response
.
getResult
()
==
null
){
throw
new
ServiceException
(
ResponseResult
.
COLLAGE_STATES_CHOOSE
);
}
CollageMemberState
collageMemberState
=
collageOrderBaseService
.
getOneCollageMemberState
(
collageOrderDto
).
getResult
();
if
(
collageMemberState
.
getState
()){
throw
new
ServiceException
(
ResponseResult
.
COLLAGE_ALREADY_CHOOSE
);
throw
new
ServiceException
(
ResponseResult
.
COLLAGE_ALREADY_CHOOSE
);
}
}
...
@@ -1012,8 +1052,6 @@ public class ShoppingCartCollageServiceImpl extends AbstractShoppingCartImpl imp
...
@@ -1012,8 +1052,6 @@ public class ShoppingCartCollageServiceImpl extends AbstractShoppingCartImpl imp
throw
new
ServiceException
(
ResponseResult
.
COLLAGE_ALREADY_CHOOSE
);
throw
new
ServiceException
(
ResponseResult
.
COLLAGE_ALREADY_CHOOSE
);
}
}
// 购物车版本加锁
dolock
(
partnerId
,
storeId
,
crateUserId
,
shoppingCartCollageClearRequestVo
.
getCarVer
(),
true
);
List
<
CartGoods
>
cartGoodsList
=
new
ArrayList
<>();
List
<
CartGoods
>
cartGoodsList
=
new
ArrayList
<>();
try
{
try
{
...
@@ -1048,15 +1086,8 @@ public class ShoppingCartCollageServiceImpl extends AbstractShoppingCartImpl imp
...
@@ -1048,15 +1086,8 @@ public class ShoppingCartCollageServiceImpl extends AbstractShoppingCartImpl imp
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
ErrorLog
.
errorConvertJson
(
SDKCommonBaseContextWare
.
getAppName
(),
LogThreadLocal
.
getTrackingNo
(),
getClass
(),
"shoppingCartCollageServiceImpl updateGoodsQty:"
+
e
.
getMessage
(),
e
);
ErrorLog
.
errorConvertJson
(
SDKCommonBaseContextWare
.
getAppName
(),
LogThreadLocal
.
getTrackingNo
(),
getClass
(),
"shoppingCartCollageServiceImpl updateGoodsQty:"
+
e
.
getMessage
(),
e
);
return
ResponseUtil
.
error
(
ResponseResult
.
SHOPPING_CART_VERSION_ERROR
,
"购物车商品有变动,请手动刷新再修改"
);
return
ResponseUtil
.
error
(
ResponseResult
.
SHOPPING_CART_VERSION_ERROR
,
"购物车商品有变动,请手动刷新再修改"
);
}
finally
{
// 购物车版本解锁
// 版本锁的粒度控制在检查购物车、刷新购物车、刷新车人员缓存行
// 当这些操作结束后,购物的更新操作,已经结束,其他的流程是针对已经添加到redis中的购物车做查询操作
// 所以只有上述的流程才加锁控制
doUnlock
(
partnerId
,
storeId
,
crateUserId
);
}
}
Long
deliveryAmount
=
calculateDeliveryAmount
(
receiveId
,
partnerId
,
storeId
,
userLoginInfoDto
.
getWxAppid
(),
shoppingCartGoodsResponseVo
);
Long
deliveryAmount
=
calculateDeliveryAmount
(
receiveId
,
partnerId
,
storeId
,
userLoginInfoDto
.
getWxAppid
(),
shoppingCartGoodsResponseVo
);
// 获取优惠信息
// 获取优惠信息
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
calculationDiscountResult
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
calculationDiscountResult
...
@@ -1075,7 +1106,7 @@ public class ShoppingCartCollageServiceImpl extends AbstractShoppingCartImpl imp
...
@@ -1075,7 +1106,7 @@ public class ShoppingCartCollageServiceImpl extends AbstractShoppingCartImpl imp
// 设置购物车版本号
// 设置购物车版本号
shoppingCartGoodsResponseVo
.
setCarVer
(
collageCartBaseService
.
incrementCartVersion
(
partnerId
,
storeId
,
crateUserId
));
shoppingCartGoodsResponseVo
.
setCarVer
(
collageCartBaseService
.
incrementCartVersion
(
partnerId
,
storeId
,
crateUserId
));
// 根据人员分类购物车
// 根据人员分类购物车
ShoppingCartCollageResponseVo
shoppingCartCollageResponseVo
=
splitByUser
(
shoppingCartGoodsResponseVo
,
crateUserId
,
partnerId
,
storeId
);
ShoppingCartCollageResponseVo
shoppingCartCollageResponseVo
=
splitByUser
(
shoppingCartGoodsResponseVo
,
crateUserId
,
partnerId
,
storeId
,
currentUserId
);
return
ResponseUtil
.
success
(
shoppingCartCollageResponseVo
);
return
ResponseUtil
.
success
(
shoppingCartCollageResponseVo
);
}
}
...
...
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