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
5b4aa878
Commit
5b4aa878
authored
Sep 30, 2020
by
刘鹏飞
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
拼单购物车出参添加用户区分商品行
parent
dd4bb338
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
222 additions
and
11 deletions
+222
-11
assortment-shoppingcart-sdk/src/main/java/com/freemud/sdk/api/assortment/shoppingcart/domain/CartGoods.java
+2
-2
shopping-cart-application-service/src/main/java/cn/freemud/entities/vo/ShoppingCartCollageGoodsResponseVo.java
+32
-0
shopping-cart-application-service/src/main/java/cn/freemud/entities/vo/ShoppingCartCollageResponseVo.java
+133
-0
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/ShoppingCartCollageServiceImpl.java
+55
-9
No files found.
assortment-shoppingcart-sdk/src/main/java/com/freemud/sdk/api/assortment/shoppingcart/domain/CartGoods.java
View file @
5b4aa878
...
@@ -32,9 +32,9 @@ public class CartGoods {
...
@@ -32,9 +32,9 @@ public class CartGoods {
private
String
goodsId
;
private
String
goodsId
;
/**
/**
* 购买人的的
sessionid
* 购买人的的
名称
*/
*/
private
String
sessionId
;
private
String
userName
;
/**
/**
* 购买人的的userId
* 购买人的的userId
...
...
shopping-cart-application-service/src/main/java/cn/freemud/entities/vo/ShoppingCartCollageGoodsResponseVo.java
0 → 100644
View file @
5b4aa878
/**
* All rights Reserved, Designed By www.freemud.cn
*
* @Title: ShoppingCartUpdateRequestVo
* @Package cn.freemud.entities.vo
* @Description:
* @author: ping.wu
* @date: 2018/5/22 10:42
* @version V1.0
* @Copyright: 2018 www.freemud.cn Inc. All rights reserved.
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
*/
package
cn
.
freemud
.
entities
.
vo
;
import
lombok.Data
;
import
java.util.List
;
@Data
public
class
ShoppingCartCollageGoodsResponseVo
extends
ShoppingCartGoodsBaseResponseVo
{
/**
* 用户商品信息
*/
List
<
CartGoods
>
userProducts
;
/**
* 用户昵称
*/
private
String
userName
;
}
shopping-cart-application-service/src/main/java/cn/freemud/entities/vo/ShoppingCartCollageResponseVo.java
0 → 100644
View file @
5b4aa878
/**
* All rights Reserved, Designed By www.freemud.cn
*
* @Title: ShoppingCartUpdateRequestVo
* @Package cn.freemud.entities.vo
* @Description:
* @author: ping.wu
* @date: 2018/5/22 10:42
* @version V1.0
* @Copyright: 2018 www.freemud.cn Inc. All rights reserved.
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
*/
package
cn
.
freemud
.
entities
.
vo
;
import
lombok.Builder
;
import
lombok.Data
;
import
java.util.List
;
@Data
public
class
ShoppingCartCollageResponseVo
extends
ShoppingCartGoodsBaseResponseVo
{
/**
* 用户商品信息
*/
private
List
<
ShoppingCartCollageGoodsResponseVo
>
userProducts
;
/**
* 商品总数
*/
private
Integer
productsCount
;
/**
* 活动信息
*/
private
ActivityTip
activityTip
;
/**
* 原总价
*/
private
Long
originalTotalAmount
;
/**
* 现总价
*/
private
Long
totalAmount
;
/**
* 总折扣价
*/
private
Long
totalDiscountAmount
;
/**
* 新包装费(该字段给新版本前端展示,使其好计算)
*/
private
Long
newPackAmount
;
/**
* 优惠券折扣
*/
private
Long
couponDiscount
;
/**
* 满减折扣
*/
private
Long
fullDiscount
;
/**
* svc卡支付描述
*/
private
String
svcDiscountDesc
;
/**
* 可用优惠券列表
*/
private
ActivityClassifyCouponBean
availableCoupon
;
private
ActivityTip
buyOneGetActivity
;
/**
* 积分抵扣优惠
*/
private
ShoppingCartCustomerScoreVo
customerScoreVo
;
/**
* 起送费
*/
private
Long
freeDeliveryPrice
;
/**
* 会员卡原价
*/
private
Integer
cardOriginalAmount
;
/**
* 会员卡优惠金额
*/
private
Integer
cardDiscountAmount
;
/**
* 配送费
*/
private
Long
deliveryAmount
;
/**
* 减免后配送费
*/
private
Long
discountDeliveryAmount
;
/**
* 满多少额度 减免
*/
private
Long
thresholdAmount
;
/**
* 是否参加满额减免
*/
@Builder
.
Default
private
Boolean
isDiscountDelivery
=
false
;
/**
* 满额减配送费描述
*/
private
String
deliveryDiscountDesc
;
/**
* 减免后配送费
*/
private
String
discountDeliveryActivityCode
;
/**
* 配送费为零的原因:0:正常,1:超出配送范围
*/
private
Integer
deliveryFeeZeroReason
;
/**
* 购物车版本号
*/
private
Integer
carVer
;
}
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/ShoppingCartCollageServiceImpl.java
View file @
5b4aa878
...
@@ -41,10 +41,14 @@ import com.freemud.sdk.api.assortment.shoppingcart.service.impl.ShoppingCartBase
...
@@ -41,10 +41,14 @@ import com.freemud.sdk.api.assortment.shoppingcart.service.impl.ShoppingCartBase
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.lang.ObjectUtils
;
import
org.apache.commons.lang.ObjectUtils
;
import
org.apache.commons.lang.StringUtils
;
import
org.apache.commons.lang.StringUtils
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.BeansException
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
java.text.MessageFormat
;
import
java.text.MessageFormat
;
import
java.util.*
;
import
java.util.*
;
import
java.util.function.Function
;
import
java.util.stream.Collector
;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
/**
/**
...
@@ -158,15 +162,15 @@ public class ShoppingCartCollageServiceImpl extends AbstractShoppingCartImpl imp
...
@@ -158,15 +162,15 @@ public class ShoppingCartCollageServiceImpl extends AbstractShoppingCartImpl imp
//添加非商品券商品
//添加非商品券商品
List
<
CartGoods
>
cartGoodsRedisList
=
addNotProductCouponGoods
(
addShoppingCartGoodsRequestVo
,
cartGoods
,
goodsId
,
crateUserId
,
shoppingCartGoodsResponseVo
,
allCartGoodsList
);
List
<
CartGoods
>
cartGoodsRedisList
=
addNotProductCouponGoods
(
addShoppingCartGoodsRequestVo
,
cartGoods
,
goodsId
,
crateUserId
,
shoppingCartGoodsResponseVo
,
allCartGoodsList
);
// 更新拼单购物车人员缓存中的的购物车行id集合
List
<
String
>
cartGoodsUids
=
cartGoodsRedisList
.
stream
().
filter
(
cartGoods1
->
currentUserId
.
equals
(
cartGoods1
.
getUserId
())).
map
(
CartGoods:
:
getCartGoodsUid
).
collect
(
Collectors
.
toList
());
collageCartBaseService
.
updateCollageCartGoodsUids
(
cartGoodsUids
,
partnerId
,
storeId
,
crateUserId
,
currentUserId
);
// 当商品数量被设为0时
// 当商品数量被设为0时
if
(
Objects
.
equals
(
cartGoods
.
getQty
(),
0
))
{
if
(
Objects
.
equals
(
cartGoods
.
getQty
(),
0
))
{
assortmentSdkService
.
updateGoodsQtyBySdk
(
partnerId
,
currentUserId
,
storeId
,
cartGoods
.
getCartGoodsUid
(),
0
,
""
,
collageCartBaseService
);
cartGoodsRedisList
=
assortmentSdkService
.
updateGoodsQtyBySdk
(
partnerId
,
currentUserId
,
storeId
,
cartGoods
.
getCartGoodsUid
(),
0
,
""
,
collageCartBaseService
);
}
}
// 更新拼单购物车人员缓存中的的购物车行id集合
List
<
String
>
cartGoodsUids
=
cartGoodsRedisList
.
stream
().
filter
(
cartGoods1
->
currentUserId
.
equals
(
cartGoods1
.
getUserId
())).
map
(
CartGoods:
:
getCartGoodsUid
).
collect
(
Collectors
.
toList
());
collageCartBaseService
.
updateCollageCartGoodsUids
(
cartGoodsUids
,
partnerId
,
storeId
,
crateUserId
,
currentUserId
);
}
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
,
"购物车商品有变动,请手动刷新再修改"
);
...
@@ -196,7 +200,38 @@ public class ShoppingCartCollageServiceImpl extends AbstractShoppingCartImpl imp
...
@@ -196,7 +200,38 @@ public class ShoppingCartCollageServiceImpl extends AbstractShoppingCartImpl imp
shoppingCartGoodsResponseVo
.
setCarVer
(
collageCartBaseService
.
incrementCartVersion
(
partnerId
,
storeId
,
crateUserId
));
shoppingCartGoodsResponseVo
.
setCarVer
(
collageCartBaseService
.
incrementCartVersion
(
partnerId
,
storeId
,
crateUserId
));
//埋点添加购物车行为
//埋点添加购物车行为
this
.
buriedPointShoppingCart
(
addShoppingCartGoodsRequestVo
,
spuId
,
productName
);
this
.
buriedPointShoppingCart
(
addShoppingCartGoodsRequestVo
,
spuId
,
productName
);
return
ResponseUtil
.
success
(
shoppingCartGoodsResponseVo
);
// 根据人员分类购物车
ShoppingCartCollageResponseVo
shoppingCartCollageResponseVo
=
splitByUser
(
shoppingCartGoodsResponseVo
);
return
ResponseUtil
.
success
(
shoppingCartCollageResponseVo
);
}
/**
* 根据人员分类购物车,方便前端展示
* @param shoppingCartGoodsResponseVo
* @return
*/
public
ShoppingCartCollageResponseVo
splitByUser
(
ShoppingCartGoodsResponseVo
shoppingCartGoodsResponseVo
){
ShoppingCartCollageResponseVo
shoppingCartCollageResponseVo
=
new
ShoppingCartCollageResponseVo
();
BeanUtils
.
copyProperties
(
shoppingCartGoodsResponseVo
,
shoppingCartCollageResponseVo
);
List
<
CartGoods
>
cartGoods
=
shoppingCartGoodsResponseVo
.
getProducts
();
Map
<
String
,
String
>
userInfo
=
cartGoods
.
stream
().
collect
(
Collectors
.
toMap
(
CartGoods:
:
getUserId
,
CartGoods:
:
getUserName
,
(
k1
,
k2
)
->
k1
));
Map
<
String
,
List
<
CartGoods
>>
userGoods
=
cartGoods
.
stream
().
collect
(
Collectors
.
groupingBy
(
CartGoods:
:
getUserId
));
List
<
ShoppingCartCollageGoodsResponseVo
>
userProducts
=
new
ArrayList
<>();
for
(
Map
.
Entry
<
String
,
String
>
m:
userInfo
.
entrySet
()){
ShoppingCartCollageGoodsResponseVo
shoppingCartCollageGoodsResponseVo
=
new
ShoppingCartCollageGoodsResponseVo
();
shoppingCartCollageGoodsResponseVo
.
setUserName
(
m
.
getValue
());
shoppingCartCollageGoodsResponseVo
.
setUserProducts
(
userGoods
.
get
(
m
.
getKey
()));
userProducts
.
add
(
shoppingCartCollageGoodsResponseVo
);
}
shoppingCartCollageResponseVo
.
setUserProducts
(
userProducts
);
return
shoppingCartCollageResponseVo
;
}
}
@Override
@Override
...
@@ -287,7 +322,11 @@ public class ShoppingCartCollageServiceImpl extends AbstractShoppingCartImpl imp
...
@@ -287,7 +322,11 @@ public class ShoppingCartCollageServiceImpl extends AbstractShoppingCartImpl imp
setAddAndUpdateResponse
(
shoppingCartGoodsResponseVo
,
calculationDiscountResult
,
cartGoodsList
,
shoppingCartGoodsResponseVo
.
getToastMsg
(),
partnerId
,
storeId
,
crateUserId
,
ShoppingCartConstant
.
ADD_AND_UPDATE
,
null
);
setAddAndUpdateResponse
(
shoppingCartGoodsResponseVo
,
calculationDiscountResult
,
cartGoodsList
,
shoppingCartGoodsResponseVo
.
getToastMsg
(),
partnerId
,
storeId
,
crateUserId
,
ShoppingCartConstant
.
ADD_AND_UPDATE
,
null
);
// 设置购物车版本号
// 设置购物车版本号
shoppingCartGoodsResponseVo
.
setCarVer
(
collageCartBaseService
.
incrementCartVersion
(
partnerId
,
storeId
,
crateUserId
));
shoppingCartGoodsResponseVo
.
setCarVer
(
collageCartBaseService
.
incrementCartVersion
(
partnerId
,
storeId
,
crateUserId
));
return
ResponseUtil
.
success
(
shoppingCartGoodsResponseVo
);
// 根据人员分类购物车
ShoppingCartCollageResponseVo
shoppingCartCollageResponseVo
=
splitByUser
(
shoppingCartGoodsResponseVo
);
return
ResponseUtil
.
success
(
shoppingCartCollageResponseVo
);
}
}
@Override
@Override
...
@@ -388,7 +427,11 @@ public class ShoppingCartCollageServiceImpl extends AbstractShoppingCartImpl imp
...
@@ -388,7 +427,11 @@ public class ShoppingCartCollageServiceImpl extends AbstractShoppingCartImpl imp
this
.
addNeedCardAmount
(
shoppingCartInfoRequestVo
,
shoppingCartGoodsResponseVo
);
this
.
addNeedCardAmount
(
shoppingCartInfoRequestVo
,
shoppingCartGoodsResponseVo
);
// 设置购物车版本号
// 设置购物车版本号
shoppingCartGoodsResponseVo
.
setCarVer
(
collageCartBaseService
.
incrementCartVersion
(
partnerId
,
storeId
,
crateUserId
));
shoppingCartGoodsResponseVo
.
setCarVer
(
collageCartBaseService
.
incrementCartVersion
(
partnerId
,
storeId
,
crateUserId
));
return
ResponseUtil
.
success
(
shoppingCartGoodsResponseVo
);
// 根据人员分类购物车
ShoppingCartCollageResponseVo
shoppingCartCollageResponseVo
=
splitByUser
(
shoppingCartGoodsResponseVo
);
return
ResponseUtil
.
success
(
shoppingCartCollageResponseVo
);
}
}
@Override
@Override
...
@@ -870,6 +913,9 @@ public class ShoppingCartCollageServiceImpl extends AbstractShoppingCartImpl imp
...
@@ -870,6 +913,9 @@ public class ShoppingCartCollageServiceImpl extends AbstractShoppingCartImpl imp
setAddAndUpdateResponse
(
shoppingCartGoodsResponseVo
,
calculationDiscountResult
,
cartGoodsList
,
shoppingCartGoodsResponseVo
.
getToastMsg
(),
partnerId
,
storeId
,
crateUserId
,
ShoppingCartConstant
.
ADD_AND_UPDATE
,
null
);
setAddAndUpdateResponse
(
shoppingCartGoodsResponseVo
,
calculationDiscountResult
,
cartGoodsList
,
shoppingCartGoodsResponseVo
.
getToastMsg
(),
partnerId
,
storeId
,
crateUserId
,
ShoppingCartConstant
.
ADD_AND_UPDATE
,
null
);
// 设置购物车版本号
// 设置购物车版本号
shoppingCartGoodsResponseVo
.
setCarVer
(
collageCartBaseService
.
incrementCartVersion
(
partnerId
,
storeId
,
crateUserId
));
shoppingCartGoodsResponseVo
.
setCarVer
(
collageCartBaseService
.
incrementCartVersion
(
partnerId
,
storeId
,
crateUserId
));
return
ResponseUtil
.
success
(
shoppingCartGoodsResponseVo
);
// 根据人员分类购物车
ShoppingCartCollageResponseVo
shoppingCartCollageResponseVo
=
splitByUser
(
shoppingCartGoodsResponseVo
);
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