清除分类商品缓存
This commit is contained in:
parent
6d0cef6667
commit
1c5cc04769
|
|
@ -1,5 +1,7 @@
|
|||
package com.czg.product.service;
|
||||
|
||||
import com.czg.product.vo.ProductVO;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
|
|
@ -36,4 +38,13 @@ public interface ProductRpcService {
|
|||
* @param dataList 库存恢复数据
|
||||
*/
|
||||
void orderRefundReturnStock(Long shopId, Long orderId, List<Map<String, Object>> dataList);
|
||||
|
||||
List<ProductVO> listAndLowPrice(Long shopId, List<Long> productIds);
|
||||
|
||||
/**
|
||||
* 清除分类商品缓存
|
||||
* @param shopId 店铺id
|
||||
* @param categoryId 商品分类id
|
||||
*/
|
||||
void cleanCategoryProduct(Long shopId, Long categoryId);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,7 +5,6 @@ import com.czg.product.entity.Product;
|
|||
import com.czg.product.entity.ProductStockFlow;
|
||||
import com.czg.product.param.*;
|
||||
import com.czg.product.vo.ProductStatisticsVo;
|
||||
import com.czg.product.vo.ProductVO;
|
||||
import com.mybatisflex.core.paginate.Page;
|
||||
import com.mybatisflex.core.service.IService;
|
||||
|
||||
|
|
@ -142,13 +141,4 @@ public interface ProductService extends IService<Product> {
|
|||
*/
|
||||
void refreshProductStock(ProductDTO param, List<ProductDTO> records);
|
||||
|
||||
List<ProductVO> listAndLowPrice(Long shopId, List<Long> productIds);
|
||||
|
||||
/**
|
||||
* 清除分类商品缓存
|
||||
* @param shopId 店铺id
|
||||
* @param categoryId 商品分类id
|
||||
*/
|
||||
void cleanCategoryProduct(Long shopId, Long categoryId);
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,17 +4,20 @@ import cn.hutool.core.collection.CollUtil;
|
|||
import cn.hutool.core.util.ObjUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.czg.account.dto.pad.*;
|
||||
import com.czg.account.entity.*;
|
||||
import com.czg.account.entity.PadLayout;
|
||||
import com.czg.account.entity.PadProductCategory;
|
||||
import com.czg.account.entity.PadProductCategoryDetail;
|
||||
import com.czg.account.entity.ShopProdCategory;
|
||||
import com.czg.account.service.*;
|
||||
import com.czg.enums.YesNoEnum;
|
||||
import com.czg.exception.ApiNotPrintException;
|
||||
import com.czg.product.entity.ProdSku;
|
||||
import com.czg.product.entity.Product;
|
||||
import com.czg.product.service.ProdSkuService;
|
||||
import com.czg.product.service.ProductRpcService;
|
||||
import com.czg.product.service.ProductService;
|
||||
import com.czg.product.vo.ProductVO;
|
||||
import com.czg.service.account.mapper.PadProductCategoryDetailMapper;
|
||||
import com.czg.utils.JoinQueryWrapper;
|
||||
import com.czg.utils.PageUtil;
|
||||
import com.github.pagehelper.PageHelper;
|
||||
import com.github.pagehelper.PageInfo;
|
||||
|
|
@ -44,6 +47,8 @@ public class PadProdServiceImpl implements PadProdService {
|
|||
@DubboReference
|
||||
private ProductService productService;
|
||||
@DubboReference
|
||||
private ProductRpcService productRpcService;
|
||||
@DubboReference
|
||||
private ProdSkuService prodSkuService;
|
||||
@Resource
|
||||
private ShopProdCategoryService shopProdCategoryService;
|
||||
|
|
@ -105,7 +110,7 @@ public class PadProdServiceImpl implements PadProdService {
|
|||
List<Long> productIds = padProductCategoryDetailMapper.selectListByQuery(new QueryWrapper().eq(PadProductCategoryDetail::getPadProductCategoryId, padProductCategory)).stream().map(PadProductCategoryDetail::getProductId).toList();
|
||||
padDetailDTO.setProductIdList(productIds);
|
||||
if (!productIds.isEmpty()) {
|
||||
List<ProductVO> products = productService.listAndLowPrice(shopId, productIds);
|
||||
List<ProductVO> products = productRpcService.listAndLowPrice(shopId, productIds);
|
||||
products.parallelStream().forEach(item -> {
|
||||
List<ProdSku> skuList = prodSkuService.list(new QueryWrapper().eq(ProdSku::getProductId, item.getId()));
|
||||
item.setSkuList(skuList);
|
||||
|
|
|
|||
|
|
@ -12,6 +12,8 @@ import com.czg.product.enums.InOutTypeEnum;
|
|||
import com.czg.product.service.ConsStockFlowService;
|
||||
import com.czg.product.service.ProductRpcService;
|
||||
import com.czg.product.service.ProductStockFlowService;
|
||||
import com.czg.product.vo.ProductVO;
|
||||
import com.czg.service.RedisService;
|
||||
import com.czg.service.product.mapper.ConsInfoMapper;
|
||||
import com.czg.service.product.mapper.ProdConsRelationMapper;
|
||||
import com.czg.service.product.mapper.ProductMapper;
|
||||
|
|
@ -26,6 +28,8 @@ import java.time.LocalDate;
|
|||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import static com.czg.constant.CacheConstant.ADMIN_CLIENT_PRODUCT_LIST;
|
||||
|
||||
/**
|
||||
* 商品RPC远程调用服务接口实现
|
||||
*
|
||||
|
|
@ -51,6 +55,8 @@ public class ProductRpcServiceImpl implements ProductRpcService {
|
|||
private ProductStockFlowService productStockFlowService;
|
||||
@Resource
|
||||
private RabbitPublisher rabbitPublisher;
|
||||
@Resource
|
||||
private RedisService redisService;
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
|
|
@ -275,4 +281,15 @@ public class ProductRpcServiceImpl implements ProductRpcService {
|
|||
//ThreadUtil.execAsync(() -> rabbitPublisher.sendProductInfoChangeMsg(Convert.toStr(shopId)));
|
||||
log.info("ProductService.--------------------------------------------库存更新成功");
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<ProductVO> listAndLowPrice(Long shopId, List<Long> productIds) {
|
||||
return productMapper.productList(shopId, productIds);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void cleanCategoryProduct(Long shopId, Long categoryId) {
|
||||
String key = ADMIN_CLIENT_PRODUCT_LIST + "::" + shopId + "::" + categoryId;
|
||||
redisService.del(key);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -20,7 +20,6 @@ import com.czg.product.enums.*;
|
|||
import com.czg.product.param.*;
|
||||
import com.czg.product.service.*;
|
||||
import com.czg.product.vo.ProductStatisticsVo;
|
||||
import com.czg.product.vo.ProductVO;
|
||||
import com.czg.sa.StpKit;
|
||||
import com.czg.service.RedisService;
|
||||
import com.czg.service.product.mapper.*;
|
||||
|
|
@ -773,15 +772,4 @@ public class ProductServiceImpl extends ServiceImpl<ProductMapper, Product> impl
|
|||
record.setStockNumber(stock.getOrDefault(record.getId(), 0));
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<ProductVO> listAndLowPrice(Long shopId, List<Long> productIds) {
|
||||
return mapper.productList(shopId, productIds);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void cleanCategoryProduct(Long shopId, Long categoryId) {
|
||||
String key = ADMIN_CLIENT_PRODUCT_LIST + "::" + shopId + "::" + categoryId;
|
||||
redisService.del(key);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue