@Override
  public List<SkuStockInMemVo> getStocksBySkuIdList(List<Long> skuIdList) {
    if (skuIdList == null || skuIdList.size() <= 0) {
      logger.error("skuIdList is null or no elements");
      return null;
    }

    List<SkuStockInMemVo> skuStockInMemVoList = new ArrayList<SkuStockInMemVo>();
    for (Long skuId : skuIdList) {
      ResponseResult<Integer> result =
          dataStore.getValueByKeyAndField(CartConstant.SKU_STOCK_NAMESPACE, String.valueOf(skuId));

      if (result.getCode() == CodeInfoClass.COMMON_FAIL
          || result.getCode() == CodeInfoClass.NOT_EXIST) {
        logger.error(
            "system err or no stockCount found in mem,skuId:"
                + skuId
                + ",code:"
                + result.getCode());
        continue;
      }
      SkuStockInMemVo vo = new SkuStockInMemVo();
      vo.setSkuId(skuId);
      vo.setStockCount(result.getResult());
      skuStockInMemVoList.add(vo);
    }
    return skuStockInMemVoList;
  }
  @Override
  public boolean deleteBySkuId(Long skuId) {
    if (skuId == null) {
      logger.error("skuId is null");
      return false;
    }

    ResponseResult<Integer> result =
        dataStore.deleteValueOfHashByKeyAndFieldWhenExist(
            CartConstant.SKU_STOCK_NAMESPACE, String.valueOf(skuId));

    return result.getCode() == CodeInfoClass.SUCCESS;
  }
  @Override
  public boolean insert(SkuStockInMemVo vo) {
    if (vo == null || vo.getSkuId() == null || vo.getStockCount() < 0) {
      logger.error("vo or stockCount is null,skuId:" + vo.getSkuId());
      return false;
    }

    ResponseResult<Integer> result =
        dataStore.putToHashNotExist(
            CartConstant.SKU_STOCK_NAMESPACE, String.valueOf(vo.getSkuId()), vo.getStockCount());

    return result.getCode() == CodeInfoClass.SUCCESS;
  }
  @Override
  public Integer decreaseStock(Long skuId, Integer num) {
    if (skuId == null || num == null || num <= 0) {
      logger.error("skuId,num is null or num is less than 0,skuId:" + skuId + ",num:" + num);
      return CodeInfoClass.failInt;
    }
    ResponseResult<Integer> res =
        dataStore.decreaseValueByNum(CartConstant.SKU_STOCK_NAMESPACE, String.valueOf(skuId), num);

    if (res.getCode() == CodeInfoClass.COMMON_FAIL) {
      logger.error("decreaseStock err,skuId:" + skuId + ",num:" + num);
      return CodeInfoClass.failInt;
    }
    return res.getResult();
  }