From ba01e230ef1b76461f7447c84388ac21a49990f5 Mon Sep 17 00:00:00 2001 From: baize <3533151373@qq.com> Date: Tue, 2 Apr 2024 16:48:25 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BC=93=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cache/abs/AtomicSequenceCacheAbs.java | 44 +++++++++------- .../product/cache/ProjectSkuStockCache.java | 50 ++++++++++++++++++- 2 files changed, 76 insertions(+), 18 deletions(-) diff --git a/muyu-common/muyu-common-cache/src/main/java/com/muyu/cache/abs/AtomicSequenceCacheAbs.java b/muyu-common/muyu-common-cache/src/main/java/com/muyu/cache/abs/AtomicSequenceCacheAbs.java index 57dfe0b..1747a30 100644 --- a/muyu-common/muyu-common-cache/src/main/java/com/muyu/cache/abs/AtomicSequenceCacheAbs.java +++ b/muyu-common/muyu-common-cache/src/main/java/com/muyu/cache/abs/AtomicSequenceCacheAbs.java @@ -21,7 +21,7 @@ public abstract class AtomicSequenceCacheAbs implements AtomicSequenceCache implements AtomicSequenceCache{ + + @Autowired + private ProjectSkuStockData projectSkuStockData; + + /** + * key前缀 + * @return key前缀 + */ + @Override + public String keyPre() { + return "project:sku:stock:"; + } + + /** + * 编码 + * @param skuStockKey ID + * @return 键 + */ + @Override + public String encode(SkuStockKey skuStockKey){ + return keyPre()+skuStockKey.getProjectId()+":"+skuStockKey.getSku(); + } + @Override + public Long getData(SkuStockKey key) { + return projectSkuStockData.getData(key); + } + + /** + * 解码 + * @param redisKey 数据库键 + * @return ID + */ + @Override + public SkuStockKey decode(String redisKey) { + String[] split = redisKey.replace(keyPre(), "").split(":"); + return SkuStockKey.builder() + .projectId(Convert.toLong(split[0])) + .sku(split[1]) + .build(); + } }