Commit 9bc3acb8 by 刘鹏飞

拼单购物车版本号加添加有效时间-拼单的有效时间

parent e1097059
......@@ -410,7 +410,23 @@ public class CollageCartBaseServiceImpl implements ShoppingCartBaseService {
* @return
*/
public Integer incrementCartVersion(String partnerId, String storeId, String userId) {
return redisCache.opsForValue().increment(genCollageCarVerKey(partnerId, storeId, userId), 1).intValue();
// 版本号加1
Integer num = redisCache.opsForValue().increment(genCollageCarVerKey(partnerId, storeId, userId), 1).intValue();
// 版本号设置有效期为拼单的有效期
BoundHashOperations<String, String, String> operations = redisCache.getRedisTemplate().boundHashOps(genCollageBaseHashKey(partnerId, storeId, userId));
Long expire = operations.getExpire();
if(expire < -1){
Map<String,String> request = new HashMap<>();
request.put("partnerId",partnerId);
request.put("storeId",storeId);
request.put("userId",userId);
ApiLog.info("增加购物车版本,拼单已经失效,param:"+ JSONObject.toJSONString(request));
return null;
}
redisCache.getRedisTemplate().expire(genCollageCarVerKey(partnerId, storeId, userId),expire,TimeUnit.SECONDS);
return num;
}
public List<CartGoods> removeGoodsUids(String partnerId, String storeId, String userId,List<String> goodsUids) {
......
......@@ -29,4 +29,9 @@ public class ShoppingCartCollageGoodsResponseVo extends ShoppingCartGoodsBaseRes
*/
private String userName;
/**
* 用户头像
*/
private String photoUrl;
}
......@@ -30,6 +30,7 @@ import com.freemud.application.sdk.api.productcenter.domain.ProductBeanDTO;
import com.freemud.card.sdk.log.ErrorLog;
import com.freemud.sdk.api.assortment.shoppingcart.constant.CommonsConstant;
import com.freemud.sdk.api.assortment.shoppingcart.constant.RedisKeyConstant;
import com.freemud.sdk.api.assortment.shoppingcart.domain.CollageMemberState;
import com.freemud.sdk.api.assortment.shoppingcart.domain.CollageOrder;
import com.freemud.sdk.api.assortment.shoppingcart.domain.CollageOrderDto;
import com.freemud.sdk.api.assortment.shoppingcart.enums.BusinessTypeEnum;
......@@ -213,7 +214,7 @@ public class ShoppingCartCollageServiceImpl extends AbstractShoppingCartImpl imp
this.buriedPointShoppingCart(addShoppingCartGoodsRequestVo, spuId, productName);
// 根据人员分类购物车
ShoppingCartCollageResponseVo shoppingCartCollageResponseVo = splitByUser(shoppingCartGoodsResponseVo);
ShoppingCartCollageResponseVo shoppingCartCollageResponseVo = splitByUser(shoppingCartGoodsResponseVo,crateUserId,partnerId,storeId);
return ResponseUtil.success(shoppingCartCollageResponseVo);
}
......@@ -223,20 +224,32 @@ public class ShoppingCartCollageServiceImpl extends AbstractShoppingCartImpl imp
* @param shoppingCartGoodsResponseVo
* @return
*/
public ShoppingCartCollageResponseVo splitByUser(ShoppingCartGoodsResponseVo shoppingCartGoodsResponseVo){
public ShoppingCartCollageResponseVo splitByUser(ShoppingCartGoodsResponseVo shoppingCartGoodsResponseVo,String createUserId,String partnerId,String storeId){
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));
// 获取参单人员信息
CollageOrderDto collageOrderDto = CollageOrderDto.builder()
.createCollageUserId(createUserId)
.partnerId(partnerId)
.storeId(storeId)
.build();
List<CollageMemberState> collageMemberState = collageOrderBaseService.getCollageMemberState(collageOrderDto).getResult();
if(collageMemberState == null || collageMemberState.isEmpty()){
return null;
}
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()){
for(CollageMemberState cmbs:collageMemberState){
ShoppingCartCollageGoodsResponseVo shoppingCartCollageGoodsResponseVo = new ShoppingCartCollageGoodsResponseVo();
shoppingCartCollageGoodsResponseVo.setUserName(m.getValue());
shoppingCartCollageGoodsResponseVo.setProducts(userGoods.get(m.getKey()));
shoppingCartCollageGoodsResponseVo.setUserName(cmbs.getNickName());
shoppingCartCollageGoodsResponseVo.setPhotoUrl(cmbs.getPhotoUrl());
shoppingCartCollageGoodsResponseVo.setProducts(userGoods.get(cmbs.getUserId()));
userProducts.add(shoppingCartCollageGoodsResponseVo);
}
......@@ -346,7 +359,7 @@ public class ShoppingCartCollageServiceImpl extends AbstractShoppingCartImpl imp
shoppingCartGoodsResponseVo.setCarVer(collageCartBaseService.incrementCartVersion(partnerId, storeId, crateUserId));
// 根据人员分类购物车
ShoppingCartCollageResponseVo shoppingCartCollageResponseVo = splitByUser(shoppingCartGoodsResponseVo);
ShoppingCartCollageResponseVo shoppingCartCollageResponseVo = splitByUser(shoppingCartGoodsResponseVo,crateUserId,partnerId,storeId);
return ResponseUtil.success(shoppingCartCollageResponseVo);
}
......@@ -460,7 +473,7 @@ public class ShoppingCartCollageServiceImpl extends AbstractShoppingCartImpl imp
shoppingCartGoodsResponseVo.setCarVer(collageCartBaseService.incrementCartVersion(partnerId, storeId, crateUserId));
// 根据人员分类购物车
ShoppingCartCollageResponseVo shoppingCartCollageResponseVo = splitByUser(shoppingCartGoodsResponseVo);
ShoppingCartCollageResponseVo shoppingCartCollageResponseVo = splitByUser(shoppingCartGoodsResponseVo,crateUserId,partnerId,storeId);
return ResponseUtil.success(shoppingCartCollageResponseVo);
}
......@@ -1083,7 +1096,7 @@ public class ShoppingCartCollageServiceImpl extends AbstractShoppingCartImpl imp
// 设置购物车版本号
shoppingCartGoodsResponseVo.setCarVer(collageCartBaseService.incrementCartVersion(partnerId, storeId, crateUserId));
// 根据人员分类购物车
ShoppingCartCollageResponseVo shoppingCartCollageResponseVo = splitByUser(shoppingCartGoodsResponseVo);
ShoppingCartCollageResponseVo shoppingCartCollageResponseVo = splitByUser(shoppingCartGoodsResponseVo,crateUserId,partnerId,storeId);
return ResponseUtil.success(shoppingCartCollageResponseVo);
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment