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(); + } }