RefreshCacheServiceImpl.java 3.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. package com.cyksj.service.mange.impl;
  2. import com.baomidou.mybatisplus.core.toolkit.Wrappers;
  3. import com.cyksj.mapper.mirrorshop.UserMirrorShopMapper;
  4. import com.cyksj.model.entity.UserMirrorShop;
  5. import com.cyksj.redis.RedisService;
  6. import com.cyksj.service.mange.RefreshCacheService;
  7. import lombok.RequiredArgsConstructor;
  8. import org.springframework.stereotype.Service;
  9. import java.util.Optional;
  10. import java.util.Set;
  11. /**
  12. * 项目名: yhlxj2
  13. * 文件名: RefreshCacheServiceImpl
  14. * 创建者: JavaZou
  15. * 创建时间:2024/2/22 16:28
  16. */
  17. @Service
  18. @RequiredArgsConstructor
  19. public class RefreshCacheServiceImpl implements RefreshCacheService {
  20. private final RedisService redisService;
  21. private final UserMirrorShopMapper userMirrorShopMapper;
  22. @Override
  23. public void refreshYhHomePageCache() {
  24. Set<String> keys = redisService.keys(RedisService.key.YH_HOME_PAGHE_CACHE.getName() + "*");
  25. redisService.del(keys.toArray(String[]::new));
  26. }
  27. @Override
  28. public void refreshYhHomeCategoryPageCache() {
  29. Set<String> keys = redisService.keys(RedisService.key.YH_HOME_PAGHE_CACHE.getName() + "category" + "*");
  30. Set<String> shoKeys = redisService.keys(RedisService.key.YH_HOME_PAGHE_CACHE_SHOP.getName() + "category" + "*");
  31. redisService.del(keys.toArray(String[]::new));
  32. redisService.del(shoKeys.toArray(String[]::new));
  33. }
  34. @Override
  35. public void refreshGoodsSkuSubsidyPageCache() {
  36. Set<String> keys = redisService.keys(RedisService.key.YH_HOME_PAGHE_CACHE.getName() + "subsidy" + "*");
  37. redisService.del(keys.toArray(String[]::new));
  38. }
  39. @Override
  40. public void refreshShopUserIdCacheByYshId(Long yhsId) {
  41. String yhShopCacheKey = RedisService.key.YH_HOME_PAGHE_CACHE_SHOP.getName() + yhsId + "*";
  42. Set<String> keys = redisService.keys(yhShopCacheKey);
  43. redisService.del(keys.toArray(String[]::new));
  44. }
  45. @Override
  46. public void refreshUserShopMangeCache(String customId) {
  47. Set<String> keys = redisService.keys(RedisService.key.YH_HOME_PAGHE_CACHE_SHOP.getName() + customId + "*");
  48. redisService.del(keys.toArray(String[]::new));
  49. }
  50. @Override
  51. public void goodsQuestionCache() {
  52. //售前
  53. String goodsQuestionKey = RedisService.key.YH_HOME_PAGHE_CACHE.getName() + "goods_detail:*";
  54. Set<String> keys = redisService.keys(goodsQuestionKey);
  55. redisService.del(keys.toArray(String[]::new));
  56. //售后缓存
  57. redisService.del(redisService.keys(RedisService.key.YH_GOODS_QUESTIONS_DETAIL.name().toLowerCase() + "*").toArray(String[]::new));
  58. }
  59. @Override
  60. public void refreshWholesaleGoods() {
  61. Set<String> keys = redisService.keys(RedisService.key.GOODS_WHOLESALE_KEY.getName() + "*");
  62. redisService.del(keys.toArray(String[]::new));
  63. }
  64. @Override
  65. public void refreshUserMirrorShopAdvertiseCache(Long userId) {
  66. Optional.ofNullable(userMirrorShopMapper.selectOne(Wrappers.lambdaQuery(UserMirrorShop.class).eq(UserMirrorShop::getUserId, userId).last("limit 1")))
  67. .ifPresent(um -> {
  68. String key = RedisService.key.USER_MIRROR_SHOP_ADVERTISE_CACHE_KEY.getName() + um.getCustomId();
  69. redisService.del(key);
  70. });
  71. }
  72. }