package com.mzl.flower.base.cache; import com.alibaba.fastjson.JSON; import com.mzl.flower.entity.flower.*; import org.springframework.stereotype.Component; import java.util.List; @Component public class MarkupCacheClient extends BaseCacheClient { private static final String MODULE_PL = "markup_pl"; private static final String MODULE_PS_SP = "markup_ps_sp"; private static final String MODULE_PS_SP_CG = "markup_ps_sp_cg"; private static final String MODULE_SP = "markup_sp"; private static final String MODULE_SP_CG = "markup_sp_cg"; public void addMarkupPl(List plList){ addMarkup(MODULE_PL, MODULE_PL, plList); } public List getMarkupPl(){ return JSON.parseArray(getMarkup(MODULE_PL, MODULE_PL), FlowerMarkupPl.class); } public void deleteMarkupPl(){ deleteMarkup(MODULE_PL, MODULE_PL); } public void addMarkupPsSp(Long partnerId, Long flowerId, FlowerMarkupPsSp sp){ String key = MODULE_PS_SP + ":" + partnerId; addMarkup(key, flowerId + "", sp); } public FlowerMarkupPsSp getMarkupPsSp(Long partnerId, Long flowerId){ String key = MODULE_PS_SP + ":" + partnerId; return JSON.parseObject(getMarkup(key, flowerId + ""), FlowerMarkupPsSp.class); } public void deleteMarkupPsSp(Long partnerId, Long flowerId){ String key = MODULE_PS_SP + ":" + partnerId; deleteMarkup(key, flowerId + ""); } public void deleteAllPsSp(Long partnerId){ String key = MODULE_PS_SP + ":" + partnerId; deleteAll(key); } public void addMarkupPsSpCg(Long partnerId, Long categoryId, FlowerMarkupPsSpCg cg){ String key = MODULE_PS_SP_CG + ":" + partnerId; addMarkup(key, categoryId + "", cg); } public FlowerMarkupPsSpCg getMarkupPsSpCg(Long partnerId, Long categoryId){ String key = MODULE_PS_SP_CG + ":" + partnerId; return JSON.parseObject(getMarkup(key, categoryId + ""), FlowerMarkupPsSpCg.class); } public void deleteMarkupPsSpCg(Long partnerId, Long categoryId){ String key = MODULE_PS_SP_CG + ":" + partnerId; deleteMarkup(key, categoryId + ""); } public void deleteAllPsSpCg(Long partnerId){ String key = MODULE_PS_SP_CG + ":" + partnerId; deleteAll(key); } public void addMarkupSp(Long partnerId, Long flowerId, FlowerMarkupSp sp){ String key = MODULE_SP + ":" + partnerId; addMarkup(key, flowerId + "", sp); } public FlowerMarkupSp getMarkupSp(Long partnerId, Long flowerId){ String key = MODULE_SP + ":" + partnerId; return JSON.parseObject(getMarkup(key, flowerId + ""), FlowerMarkupSp.class); } public void deleteMarkupSp(Long partnerId, Long flowerId){ String key = MODULE_SP + ":" + partnerId; deleteMarkup(key, flowerId + ""); } public void deleteAllSp(Long partnerId){ String key = MODULE_SP + ":" + partnerId; deleteAll(key); } public void addMarkupSpCg(Long partnerId, Long categoryId, FlowerMarkupSpCg cg){ String key = MODULE_SP_CG + ":" + partnerId; addMarkup(key, categoryId + "", cg); } public FlowerMarkupSpCg getMarkupSpCg(Long partnerId, Long categoryId){ String key = MODULE_SP_CG + ":" + partnerId; return JSON.parseObject(getMarkup(key, categoryId + ""), FlowerMarkupSpCg.class); } public void deleteMarkupSpCg(Long partnerId, Long categoryId){ String key = MODULE_SP_CG + ":" + partnerId; deleteMarkup(key, categoryId + ""); } public void deleteAllSpCg(Long partnerId){ String key = MODULE_SP_CG + ":" + partnerId; deleteAll(key); } private void addMarkup(String key, String subKey, Object value) { hashOperations.put(getKey(key), subKey, JSON.toJSONString(value)); } private String getMarkup(String key, String subKey) { return hashOperations.get(getKey(key), subKey); } private void deleteMarkup(String key, String subKey) { hashOperations.delete(getKey(key), subKey); } private void deleteAll(String key) { stringRedisTemplate.delete(getKey(key)); } }