Commit 9bc3acb8 by 刘鹏飞

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

parent e1097059
...@@ -410,7 +410,23 @@ public class CollageCartBaseServiceImpl implements ShoppingCartBaseService { ...@@ -410,7 +410,23 @@ public class CollageCartBaseServiceImpl implements ShoppingCartBaseService {
* @return * @return
*/ */
public Integer incrementCartVersion(String partnerId, String storeId, String userId) { 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) { public List<CartGoods> removeGoodsUids(String partnerId, String storeId, String userId,List<String> goodsUids) {
......
...@@ -29,4 +29,9 @@ public class ShoppingCartCollageGoodsResponseVo extends ShoppingCartGoodsBaseRes ...@@ -29,4 +29,9 @@ public class ShoppingCartCollageGoodsResponseVo extends ShoppingCartGoodsBaseRes
*/ */
private String userName; private String userName;
/**
* 用户头像
*/
private String photoUrl;
} }
...@@ -30,6 +30,7 @@ import com.freemud.application.sdk.api.productcenter.domain.ProductBeanDTO; ...@@ -30,6 +30,7 @@ import com.freemud.application.sdk.api.productcenter.domain.ProductBeanDTO;
import com.freemud.card.sdk.log.ErrorLog; import com.freemud.card.sdk.log.ErrorLog;
import com.freemud.sdk.api.assortment.shoppingcart.constant.CommonsConstant; 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.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.CollageOrder;
import com.freemud.sdk.api.assortment.shoppingcart.domain.CollageOrderDto; import com.freemud.sdk.api.assortment.shoppingcart.domain.CollageOrderDto;
import com.freemud.sdk.api.assortment.shoppingcart.enums.BusinessTypeEnum; import com.freemud.sdk.api.assortment.shoppingcart.enums.BusinessTypeEnum;
...@@ -213,7 +214,7 @@ public class ShoppingCartCollageServiceImpl extends AbstractShoppingCartImpl imp ...@@ -213,7 +214,7 @@ public class ShoppingCartCollageServiceImpl extends AbstractShoppingCartImpl imp
this.buriedPointShoppingCart(addShoppingCartGoodsRequestVo, spuId, productName); this.buriedPointShoppingCart(addShoppingCartGoodsRequestVo, spuId, productName);
// 根据人员分类购物车 // 根据人员分类购物车
ShoppingCartCollageResponseVo shoppingCartCollageResponseVo = splitByUser(shoppingCartGoodsResponseVo); ShoppingCartCollageResponseVo shoppingCartCollageResponseVo = splitByUser(shoppingCartGoodsResponseVo,crateUserId,partnerId,storeId);
return ResponseUtil.success(shoppingCartCollageResponseVo); return ResponseUtil.success(shoppingCartCollageResponseVo);
} }
...@@ -223,20 +224,32 @@ public class ShoppingCartCollageServiceImpl extends AbstractShoppingCartImpl imp ...@@ -223,20 +224,32 @@ public class ShoppingCartCollageServiceImpl extends AbstractShoppingCartImpl imp
* @param shoppingCartGoodsResponseVo * @param shoppingCartGoodsResponseVo
* @return * @return
*/ */
public ShoppingCartCollageResponseVo splitByUser(ShoppingCartGoodsResponseVo shoppingCartGoodsResponseVo){ public ShoppingCartCollageResponseVo splitByUser(ShoppingCartGoodsResponseVo shoppingCartGoodsResponseVo,String createUserId,String partnerId,String storeId){
ShoppingCartCollageResponseVo shoppingCartCollageResponseVo = new ShoppingCartCollageResponseVo(); ShoppingCartCollageResponseVo shoppingCartCollageResponseVo = new ShoppingCartCollageResponseVo();
BeanUtils.copyProperties(shoppingCartGoodsResponseVo,shoppingCartCollageResponseVo); BeanUtils.copyProperties(shoppingCartGoodsResponseVo,shoppingCartCollageResponseVo);
List<CartGoods> cartGoods = shoppingCartGoodsResponseVo.getProducts(); 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)); Map<String,List<CartGoods>> userGoods = cartGoods.stream().collect(Collectors.groupingBy(CartGoods::getUserId));
List<ShoppingCartCollageGoodsResponseVo> userProducts = new ArrayList<>(); List<ShoppingCartCollageGoodsResponseVo> userProducts = new ArrayList<>();
for(Map.Entry<String,String> m:userInfo.entrySet()){ for(CollageMemberState cmbs:collageMemberState){
ShoppingCartCollageGoodsResponseVo shoppingCartCollageGoodsResponseVo = new ShoppingCartCollageGoodsResponseVo(); ShoppingCartCollageGoodsResponseVo shoppingCartCollageGoodsResponseVo = new ShoppingCartCollageGoodsResponseVo();
shoppingCartCollageGoodsResponseVo.setUserName(m.getValue()); shoppingCartCollageGoodsResponseVo.setUserName(cmbs.getNickName());
shoppingCartCollageGoodsResponseVo.setProducts(userGoods.get(m.getKey())); shoppingCartCollageGoodsResponseVo.setPhotoUrl(cmbs.getPhotoUrl());
shoppingCartCollageGoodsResponseVo.setProducts(userGoods.get(cmbs.getUserId()));
userProducts.add(shoppingCartCollageGoodsResponseVo); userProducts.add(shoppingCartCollageGoodsResponseVo);
} }
...@@ -346,7 +359,7 @@ public class ShoppingCartCollageServiceImpl extends AbstractShoppingCartImpl imp ...@@ -346,7 +359,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); ShoppingCartCollageResponseVo shoppingCartCollageResponseVo = splitByUser(shoppingCartGoodsResponseVo,crateUserId,partnerId,storeId);
return ResponseUtil.success(shoppingCartCollageResponseVo); return ResponseUtil.success(shoppingCartCollageResponseVo);
} }
...@@ -460,7 +473,7 @@ public class ShoppingCartCollageServiceImpl extends AbstractShoppingCartImpl imp ...@@ -460,7 +473,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); ShoppingCartCollageResponseVo shoppingCartCollageResponseVo = splitByUser(shoppingCartGoodsResponseVo,crateUserId,partnerId,storeId);
return ResponseUtil.success(shoppingCartCollageResponseVo); return ResponseUtil.success(shoppingCartCollageResponseVo);
} }
...@@ -1083,7 +1096,7 @@ public class ShoppingCartCollageServiceImpl extends AbstractShoppingCartImpl imp ...@@ -1083,7 +1096,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); ShoppingCartCollageResponseVo shoppingCartCollageResponseVo = splitByUser(shoppingCartGoodsResponseVo,crateUserId,partnerId,storeId);
return ResponseUtil.success(shoppingCartCollageResponseVo); 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