Commit 3175c831 by 刘鹏飞

拼单购物车方法判断修改

parent df54eac0
...@@ -64,14 +64,17 @@ public class CollageCartBaseServiceImpl implements ShoppingCartBaseService { ...@@ -64,14 +64,17 @@ public class CollageCartBaseServiceImpl implements ShoppingCartBaseService {
@Override @Override
public BaseResponse<List<CartGoods>> getCartGoodsList(CartParamDto cartParamDto, String trackingNo) { public BaseResponse<List<CartGoods>> getCartGoodsList(CartParamDto cartParamDto, String trackingNo) {
doCheck(cartParamDto); try {
// 构建缓存key doCheck(cartParamDto);
String collageCartHashKey = genCollageCarHashKey(cartParamDto.getPartnerId(), cartParamDto.getStoreId(), cartParamDto.getUserId()); // 构建缓存key
BoundHashOperations<String, String, CartGoods> operations = redisTemplate.boundHashOps(collageCartHashKey); String collageCartHashKey = genCollageCarHashKey(cartParamDto.getPartnerId(), cartParamDto.getStoreId(), cartParamDto.getUserId());
List<CartGoods> cartGoodsList = operations.values(); BoundHashOperations<String, String, CartGoods> operations = redisTemplate.boundHashOps(collageCartHashKey);
//对创建时间进行排序 List<CartGoods> cartGoodsList = operations.values();
cartGoodsList.sort(Comparator.comparingLong(CartGoods::getCreateTimeMili)); return CartResponseUtil.success(cartGoodsList);
return CartResponseUtil.success(cartGoodsList); } catch (Exception e) {
ErrorLog.printErrorLog("获取拼单购物车异常", "CollageCartBaseServiceImpl/getCartGoodsList", cartParamDto, e);
return CartResponseUtil.error("获取拼单购物车异常");
}
} }
private void doCheck(CartParamDto cartParamDto) { private void doCheck(CartParamDto cartParamDto) {
...@@ -98,14 +101,23 @@ public class CollageCartBaseServiceImpl implements ShoppingCartBaseService { ...@@ -98,14 +101,23 @@ public class CollageCartBaseServiceImpl implements ShoppingCartBaseService {
try { try {
String redisKey = genCollageCarHashKey(cartParamDto.getPartnerId(), cartParamDto.getStoreId(), cartParamDto.getUserId()); String redisKey = genCollageCarHashKey(cartParamDto.getPartnerId(), cartParamDto.getStoreId(), cartParamDto.getUserId());
BoundHashOperations<String, String, CartGoods> operations = redisTemplate.boundHashOps(redisKey); BoundHashOperations<String, String, CartGoods> operations = redisTemplate.boundHashOps(redisKey);
// 获取拼单购物车的有效期
// 如果购物车已经存在则获取剩余的时间,如果不存在,则设置有效期为1小时(拼单的有效期为1小时)
Long expire =3600L;
if(redisTemplate.hasKey(redisKey)){
expire =operations.getExpire();
}
this.clear(cartParamDto, trackingNo); this.clear(cartParamDto, trackingNo);
Map<String, CartGoods> cartGoodsMap = cartParamDto.getCartGoodsList().parallelStream() Map<String, CartGoods> cartGoodsMap = cartParamDto.getCartGoodsList().parallelStream()
.filter(k -> org.apache.commons.lang.StringUtils.isNotEmpty(k.getCartGoodsUid())) .filter(k -> org.apache.commons.lang.StringUtils.isNotEmpty(k.getCartGoodsUid()))
.collect(Collectors.toMap(CartGoods::getCartGoodsUid, Function.identity(), (k1, k2) -> k1)); .collect(Collectors.toMap(CartGoods::getCartGoodsUid, Function.identity(), (k1, k2) -> k1));
operations.putAll(cartGoodsMap); operations.putAll(cartGoodsMap);
operations.expire(expire,TimeUnit.SECONDS);
return CartResponseUtil.success(); return CartResponseUtil.success();
} catch (Exception e) { } catch (Exception e) {
ErrorLog.printErrorLog("assortment-shoppingcart-sdk", trackingNo, e.getMessage(), "setCartGoodsList", cartParamDto, e, Level.ERROR); ErrorLog.printErrorLog("设置拼单购物车异常", "CollageCartBaseServiceImpl/setCartGoodsList", cartParamDto, e);
return null; return null;
} }
} }
...@@ -118,7 +130,7 @@ public class CollageCartBaseServiceImpl implements ShoppingCartBaseService { ...@@ -118,7 +130,7 @@ public class CollageCartBaseServiceImpl implements ShoppingCartBaseService {
redisCache.delete(collageCartHashKey); redisCache.delete(collageCartHashKey);
return new BaseResponse(VersionUtils.VER_1, CartResponseConstant.SUCCESS.getCode(), CartResponseConstant.SUCCESS.getMessage()); return new BaseResponse(VersionUtils.VER_1, CartResponseConstant.SUCCESS.getCode(), CartResponseConstant.SUCCESS.getMessage());
} catch (Exception e) { } catch (Exception e) {
ErrorLog.printErrorLog("assortment-shoppingcart-sdk", trackingNo, e.getMessage(), "setCartGoodsList", cartParamDto, e, Level.ERROR); ErrorLog.printErrorLog("清空拼单购物车异常", "CollageCartBaseServiceImpl/clear", cartParamDto, e);
return null; return null;
} }
} }
...@@ -163,7 +175,7 @@ public class CollageCartBaseServiceImpl implements ShoppingCartBaseService { ...@@ -163,7 +175,7 @@ public class CollageCartBaseServiceImpl implements ShoppingCartBaseService {
} }
return this.getCartGoodsList(cartParamDto, trackingNo); return this.getCartGoodsList(cartParamDto, trackingNo);
} catch (Exception e) { } catch (Exception e) {
ErrorLog.printErrorLog("assortment-shoppingcart-sdk", trackingNo, e.getMessage(), "updateGoodsQty", cartParamDto, e, Level.ERROR); ErrorLog.printErrorLog("更新拼单购物车商品数量异常", "CollageCartBaseServiceImpl/updateGoodsQty", cartParamDto, e);
return null; return null;
} }
} }
...@@ -175,7 +187,14 @@ public class CollageCartBaseServiceImpl implements ShoppingCartBaseService { ...@@ -175,7 +187,14 @@ public class CollageCartBaseServiceImpl implements ShoppingCartBaseService {
* @return * @return
*/ */
public Integer getCartVersion(String key) { public Integer getCartVersion(String key) {
Integer value = redisCache.getValue(key); Integer value = null;
try {
value = redisCache.getValue(key);
} catch (Exception e) {
Map<String,String> request = new HashMap<>();
request.put("key",key);
ErrorLog.printErrorLog("获取当前购物车版本信息异常", "CollageCartBaseServiceImpl/getCartVersion", request, e);
}
return value == null ? 1 : value; return value == null ? 1 : value;
} }
...@@ -198,8 +217,17 @@ public class CollageCartBaseServiceImpl implements ShoppingCartBaseService { ...@@ -198,8 +217,17 @@ public class CollageCartBaseServiceImpl implements ShoppingCartBaseService {
* @return * @return
*/ */
public Map<String, String> getCollageBase(String partnerId, String storeId, String userId) { public Map<String, String> getCollageBase(String partnerId, String storeId, String userId) {
String collageBaseKey = genCollageBaseHashKey(partnerId, storeId, userId); try {
return redisCache.hashGetAll(collageBaseKey); String collageBaseKey = genCollageBaseHashKey(partnerId, storeId, userId);
return redisCache.hashGetAll(collageBaseKey);
} catch (Exception e) {
Map<String,String> request = new HashMap<>();
request.put("partnerId",partnerId);
request.put("storeId",storeId);
request.put("userId",userId);
ErrorLog.printErrorLog("获取拼单基础信息异常", "CollageCartBaseServiceImpl/getCollageBase", request, e);
return null;
}
} }
/** /**
...@@ -221,8 +249,17 @@ public class CollageCartBaseServiceImpl implements ShoppingCartBaseService { ...@@ -221,8 +249,17 @@ public class CollageCartBaseServiceImpl implements ShoppingCartBaseService {
* @return * @return
*/ */
public Boolean getCollageLock(String partnerId, String storeId, String userId) { public Boolean getCollageLock(String partnerId, String storeId, String userId) {
String collageLockKey = genCollageLockKey(partnerId, storeId, userId); try {
return redisCache.getValue(collageLockKey); String collageLockKey = genCollageLockKey(partnerId, storeId, userId);
return redisCache.getValue(collageLockKey);
} catch (Exception e) {
Map<String,String> request = new HashMap<>();
request.put("partnerId",partnerId);
request.put("storeId",storeId);
request.put("userId",userId);
ErrorLog.printErrorLog("获取拼单锁定状态异常", "CollageCartBaseServiceImpl/getCollageLock", request, e);
return null;
}
} }
/** /**
...@@ -244,8 +281,17 @@ public class CollageCartBaseServiceImpl implements ShoppingCartBaseService { ...@@ -244,8 +281,17 @@ public class CollageCartBaseServiceImpl implements ShoppingCartBaseService {
* @return * @return
*/ */
public List<String> getCollageMemberHashKey(String partnerId, String storeId, String userId,String sessionId) { public List<String> getCollageMemberHashKey(String partnerId, String storeId, String userId,String sessionId) {
String collageMemberHashKey = genCollageMemberHashKey(partnerId, storeId, userId); try {
return redisCache.hashGet(collageMemberHashKey,sessionId); String collageMemberHashKey = genCollageMemberHashKey(partnerId, storeId, userId);
return redisCache.hashGet(collageMemberHashKey,sessionId);
} catch (Exception e) {
Map<String,String> request = new HashMap<>();
request.put("partnerId",partnerId);
request.put("storeId",storeId);
request.put("userId",userId);
ErrorLog.printErrorLog("获取获取拼单点餐位异常", "CollageCartBaseServiceImpl/getCollageMemberHashKey", request, e);
return null;
}
} }
/** /**
...@@ -267,8 +313,18 @@ public class CollageCartBaseServiceImpl implements ShoppingCartBaseService { ...@@ -267,8 +313,18 @@ public class CollageCartBaseServiceImpl implements ShoppingCartBaseService {
* @return * @return
*/ */
public Boolean getCollageMemStateHashKey(String partnerId, String storeId, String userId,String sessionId) { public Boolean getCollageMemStateHashKey(String partnerId, String storeId, String userId,String sessionId) {
String collageMemberHashKey = genCollageMemberStateHashKey(partnerId, storeId, userId); try {
return redisCache.hashGet(collageMemberHashKey,sessionId); String collageMemberHashKey = genCollageMemberStateHashKey(partnerId, storeId, userId);
return redisCache.hashGet(collageMemberHashKey,sessionId);
} catch (Exception e) {
Map<String,String> request = new HashMap<>();
request.put("partnerId",partnerId);
request.put("storeId",storeId);
request.put("userId",userId);
request.put("sessionId",sessionId);
ErrorLog.printErrorLog("获取拼单用户选好的状态异常", "CollageCartBaseServiceImpl/getCollageMemStateHashKey", request, e);
return null;
}
} }
/** /**
......
...@@ -5,37 +5,34 @@ ...@@ -5,37 +5,34 @@
* @Package cn.freemud.controller * @Package cn.freemud.controller
* @Description: * @Description:
* @author: ping.wu * @author: ping.wu
* @date: 2018/5/18 18:07 * @date: 2020/09/29
* @version V1.0 * @version V1.0
* @Copyright: 2018 www.freemud.cn Inc. All rights reserved. * @Copyright: 2020 www.freemud.cn Inc. All rights reserved.
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目 * 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
*/ */
package cn.freemud.controller; package cn.freemud.controller;
import cn.freemud.base.entity.BaseResponse; import cn.freemud.base.entity.BaseResponse;
import cn.freemud.entities.vo.*; import cn.freemud.entities.vo.*;
import cn.freemud.enums.ResponseResult;
import cn.freemud.service.impl.ShoppingCartCollageServiceImpl; import cn.freemud.service.impl.ShoppingCartCollageServiceImpl;
import cn.freemud.utils.ResponseUtil;
import com.freemud.api.assortment.datamanager.enums.IappIdType;
import com.freemud.application.sdk.api.base.SDKCommonBaseContextWare; import com.freemud.application.sdk.api.base.SDKCommonBaseContextWare;
import com.freemud.application.sdk.api.log.ApiAnnotation; import com.freemud.application.sdk.api.log.ApiAnnotation;
import com.freemud.application.sdk.api.log.LogParams; import com.freemud.application.sdk.api.log.LogParams;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.MediaType; import org.springframework.http.MediaType;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController @RestController
@RequestMapping(value = "/shoppingCart/collage", consumes = MediaType.APPLICATION_JSON_UTF8_VALUE) @RequestMapping(value = "/shoppingCart/collage", consumes = MediaType.APPLICATION_JSON_UTF8_VALUE)
@Api(value = "购物车 controller", tags = {"拼单购物车管理接口"}) @Api(value = "购物车 controller", tags = {"拼单购物车管理接口"})
@Slf4j @Slf4j
public class ShoppingCartCollageController { public class ShoppingCartCollageController {
/** /**
* 向拼单购物车中添加商品 * 向拼单购物车中添加商品
*/ */
......
...@@ -114,9 +114,6 @@ public abstract class AbstractShoppingCartImpl implements ShoppingCartNewService ...@@ -114,9 +114,6 @@ public abstract class AbstractShoppingCartImpl implements ShoppingCartNewService
} }
public UserLoginInfoDto convert2UserLoginInfoDto(CustomerInfoVo assortmentCustomerInfoVo) { public UserLoginInfoDto convert2UserLoginInfoDto(CustomerInfoVo assortmentCustomerInfoVo) {
if (assortmentCustomerInfoVo == null || assortmentCustomerInfoVo.getMemberId() == null) {
throw new ServiceException(ResponseResult.NOT_LOGIN);
}
UserLoginInfoDto userLoginInfoDto = new UserLoginInfoDto(); UserLoginInfoDto userLoginInfoDto = new UserLoginInfoDto();
userLoginInfoDto.setMemberId(assortmentCustomerInfoVo.getMemberId()); userLoginInfoDto.setMemberId(assortmentCustomerInfoVo.getMemberId());
...@@ -133,7 +130,7 @@ public abstract class AbstractShoppingCartImpl implements ShoppingCartNewService ...@@ -133,7 +130,7 @@ public abstract class AbstractShoppingCartImpl implements ShoppingCartNewService
} }
/** /**
* 汇总sku数量 * 汇总商品数量
* *
* @param allCartGoodsList * @param allCartGoodsList
* @param cartGoods * @param cartGoods
......
...@@ -28,13 +28,18 @@ import java.util.stream.Collectors; ...@@ -28,13 +28,18 @@ import java.util.stream.Collectors;
* @Title: * @Title:
* @Package cn.freemud.service * @Package cn.freemud.service
* @Description: * @Description:
* @author: ping.wu * @author: pengfei.liu
* @date: 2018/5/18 19:49 * @date: 2020/9/29
* @Copyright: 2018 www.freemud.cn Inc. All rights reserved. * @Copyright: 2020 www.freemud.cn Inc. All rights reserved.
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目 * 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
*/ */
public interface ShoppingCartCollageService { public interface ShoppingCartCollageService {
/**
* 清除自己的购物车
* @param shoppingCartCollageClearRequestVo
* @return
*/
BaseResponse clearPartCarGoods(ShoppingCartCollageClearRequestVo shoppingCartCollageClearRequestVo); BaseResponse clearPartCarGoods(ShoppingCartCollageClearRequestVo shoppingCartCollageClearRequestVo);
} }
...@@ -76,9 +76,6 @@ public class ShoppingCartCollageServiceImpl extends AbstractShoppingCartImpl imp ...@@ -76,9 +76,6 @@ public class ShoppingCartCollageServiceImpl extends AbstractShoppingCartImpl imp
private ActivityAdapter activityAdapter; private ActivityAdapter activityAdapter;
@Autowired @Autowired
private CollageOrderAdapter collageOrderAdapter;
@Autowired
private RedisCache redisCache; private RedisCache redisCache;
@Autowired @Autowired
...@@ -109,7 +106,7 @@ public class ShoppingCartCollageServiceImpl extends AbstractShoppingCartImpl imp ...@@ -109,7 +106,7 @@ public class ShoppingCartCollageServiceImpl extends AbstractShoppingCartImpl imp
// 获取当前登陆用户信息 // 获取当前登陆用户信息
CustomerInfoVo currentUserInfoVo = getCustomerInfoVo(addShoppingCartGoodsRequestVo.getSessionId()); CustomerInfoVo currentUserInfoVo = getCustomerInfoVo(addShoppingCartGoodsRequestVo.getSessionId());
// 当前用户必须登陆 // 当前用户必须登陆
if (currentUserInfoVo.getMemberId() == null) { if (null == currentUserInfoVo || StringUtils.isEmpty(currentUserInfoVo.getMemberId())) {
throw new ServiceException(ResponseResult.NOT_LOGIN); throw new ServiceException(ResponseResult.NOT_LOGIN);
} }
UserLoginInfoDto userLoginInfoDto = convert2UserLoginInfoDto(currentUserInfoVo); UserLoginInfoDto userLoginInfoDto = convert2UserLoginInfoDto(currentUserInfoVo);
...@@ -129,7 +126,7 @@ public class ShoppingCartCollageServiceImpl extends AbstractShoppingCartImpl imp ...@@ -129,7 +126,7 @@ public class ShoppingCartCollageServiceImpl extends AbstractShoppingCartImpl imp
String crateUserId = addShoppingCartGoodsRequestVo.getCreateCollageUserId(); String crateUserId = addShoppingCartGoodsRequestVo.getCreateCollageUserId();
// 拼单相关条件校验 // 拼单相关条件校验
check(partnerId, storeId, crateUserId,addShoppingCartGoodsRequestVo.getShopId(),spuId,addShoppingCartGoodsRequestVo.getCreateCollageUserId(),currentSessionId); check(partnerId, storeId, crateUserId,spuId,currentSessionId);
CartGoods cartGoods = ShoppingCartConvertAdapter.convent2CartGoods(addShoppingCartGoodsRequestVo); CartGoods cartGoods = ShoppingCartConvertAdapter.convent2CartGoods(addShoppingCartGoodsRequestVo);
cartGoods.setSessionId(currentSessionId); cartGoods.setSessionId(currentSessionId);
...@@ -167,7 +164,7 @@ public class ShoppingCartCollageServiceImpl extends AbstractShoppingCartImpl imp ...@@ -167,7 +164,7 @@ public class ShoppingCartCollageServiceImpl extends AbstractShoppingCartImpl imp
// 当商品数量被设为0时 // 当商品数量被设为0时
if (Objects.equals(cartGoods.getQty(), 0)) { if (Objects.equals(cartGoods.getQty(), 0)) {
assortmentSdkService.updateGoodsQtyBySdk(partnerId, currentUserId, storeId, cartGoods.getCartGoodsUid(), 0, "", shoppingCartBaseService); assortmentSdkService.updateGoodsQtyBySdk(partnerId, currentUserId, storeId, cartGoods.getCartGoodsUid(), 0, "", collageCartBaseService);
} }
} catch (Exception e) { } catch (Exception e) {
...@@ -224,7 +221,7 @@ public class ShoppingCartCollageServiceImpl extends AbstractShoppingCartImpl imp ...@@ -224,7 +221,7 @@ public class ShoppingCartCollageServiceImpl extends AbstractShoppingCartImpl imp
String crateUserId = updateShoppingCartGoodsQtyRequestVo.getCreateCollageUserId(); String crateUserId = updateShoppingCartGoodsQtyRequestVo.getCreateCollageUserId();
// 拼单相关条件校验 // 拼单相关条件校验
check(partnerId, storeId, crateUserId,updateShoppingCartGoodsQtyRequestVo.getShopId(),null,crateUserId,currentSessionId); check(partnerId, storeId, crateUserId,null,currentSessionId);
// 购物车版本加锁 // 购物车版本加锁
dolock(partnerId, storeId, crateUserId,updateShoppingCartGoodsQtyRequestVo.getCarVer()); dolock(partnerId, storeId, crateUserId,updateShoppingCartGoodsQtyRequestVo.getCarVer());
...@@ -572,12 +569,6 @@ public class ShoppingCartCollageServiceImpl extends AbstractShoppingCartImpl imp ...@@ -572,12 +569,6 @@ public class ShoppingCartCollageServiceImpl extends AbstractShoppingCartImpl imp
// 如果购物车中有商品券,则当前添加的商品是特价商品时,需要提示“已选商品券,与其他优惠商品不同享,商品将恢复原价” // 如果购物车中有商品券,则当前添加的商品是特价商品时,需要提示“已选商品券,与其他优惠商品不同享,商品将恢复原价”
// 拼单没有商品券、换购券 // 拼单没有商品券、换购券
/* boolean haveCouponProduct = allCartGoodsList.parallelStream().anyMatch(k -> k.getCartGoodsUid().startsWith(CommonsConstant.COUPON_PREFIX));
if (haveCouponProduct && isSpecialGoods(addShoppingCartGoodsRequestVo.getPartnerId(), addShoppingCartGoodsRequestVo.getShopId(), userId, addShoppingCartGoodsRequestVo.getAppId(), goodsId, addShoppingCartGoodsRequestVo.getOrderType())) {
// 如果购物车先加入商品券,再加入促销商品,toast提示“已选商品券,与其他优惠商品不同享,商品将恢复原价”
setToastMsgIfNotExist(shoppingCartGoodsResponseVo, ShoppingCartConstant.HAS_GOODS_COUPON_WHEN_ADD_SPECIAL_GOODS);
}*/
return cartGoodsList; return cartGoodsList;
} }
...@@ -593,15 +584,13 @@ public class ShoppingCartCollageServiceImpl extends AbstractShoppingCartImpl imp ...@@ -593,15 +584,13 @@ public class ShoppingCartCollageServiceImpl extends AbstractShoppingCartImpl imp
* @param partnerId * @param partnerId
* @param storeId * @param storeId
* @param crateUserId * @param crateUserId
* @param shopId
* @param spuId * @param spuId
* @param createCollageUserId
* @param currentSessionId * @param currentSessionId
*/ */
public void check(String partnerId,String storeId,String crateUserId,String shopId,String spuId,String createCollageUserId,String currentSessionId){ public void check(String partnerId,String storeId,String crateUserId,String spuId,String currentSessionId){
//店铺id不能为空 //店铺id不能为空
if (StringUtils.isEmpty(shopId)){ if (StringUtils.isEmpty(storeId)){
throw new ServiceException(ResponseResult.SHOPPING_CART_SHOP_ID_NOT_EMPTY); throw new ServiceException(ResponseResult.SHOPPING_CART_SHOP_ID_NOT_EMPTY);
} }
...@@ -611,7 +600,7 @@ public class ShoppingCartCollageServiceImpl extends AbstractShoppingCartImpl imp ...@@ -611,7 +600,7 @@ public class ShoppingCartCollageServiceImpl extends AbstractShoppingCartImpl imp
} }
// 拼单发起人id不能为空 // 拼单发起人id不能为空
// 拼单购物相关的redis的key都需要拼单发起人id,所以这个值是不能为空的 // 拼单购物相关的redis的key都需要拼单发起人id,所以这个值是不能为空的
if (StringUtils.isEmpty(createCollageUserId)){ if (StringUtils.isEmpty(crateUserId)){
throw new ServiceException(ResponseResult.COLLAGE_NOT_EXIST); throw new ServiceException(ResponseResult.COLLAGE_NOT_EXIST);
} }
...@@ -664,7 +653,7 @@ public class ShoppingCartCollageServiceImpl extends AbstractShoppingCartImpl imp ...@@ -664,7 +653,7 @@ public class ShoppingCartCollageServiceImpl extends AbstractShoppingCartImpl imp
if (!carVer.equals(cartVersion)) { if (!carVer.equals(cartVersion)) {
throw new ServiceException(ResponseResult.SHOPPING_CART_VERSION_ERROR); throw new ServiceException(ResponseResult.SHOPPING_CART_VERSION_ERROR);
} }
redisCache.getValue(collageCartVerKey);
boolean lock = RedisLock.getInstance(redisCache.getRedisTemplate()).lock(collageCartVerKey); boolean lock = RedisLock.getInstance(redisCache.getRedisTemplate()).lock(collageCartVerKey);
if (!lock) { if (!lock) {
//加锁失败 //加锁失败
...@@ -679,8 +668,12 @@ public class ShoppingCartCollageServiceImpl extends AbstractShoppingCartImpl imp ...@@ -679,8 +668,12 @@ public class ShoppingCartCollageServiceImpl extends AbstractShoppingCartImpl imp
* @param crateUserId * @param crateUserId
*/ */
private void doUnlock(String partnerId,String storeId,String crateUserId) { private void doUnlock(String partnerId,String storeId,String crateUserId) {
String collageCartVerKey = genCollageCarVerKey(partnerId, storeId, crateUserId); try {
RedisLock.getInstance(redisCache.getRedisTemplate()).unlock(collageCartVerKey); String collageCartVerKey = genCollageCarVerKey(partnerId, storeId, crateUserId);
RedisLock.getInstance(redisCache.getRedisTemplate()).unlock(collageCartVerKey);
} catch (Exception e) {
ErrorLog.errorConvertJson(SDKCommonBaseContextWare.getAppName(), LogThreadLocal.getTrackingNo(), getClass(), "购物车版本解锁解锁失败" , e);
}
} }
/** /**
......
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