package com.yeshi.fanli.util.cache; import javax.annotation.Resource; import org.springframework.stereotype.Component; import org.yeshi.utils.JsonUtil; import com.google.gson.Gson; import com.yeshi.fanli.dto.pdd.PDDGoodsDetail; import com.yeshi.fanli.util.RedisKeyEnum; import com.yeshi.fanli.util.RedisManager; import com.yeshi.fanli.util.StringUtil; import com.yeshi.fanli.util.pinduoduo.PinDuoDuoApiUtil; @Component public class PinDuoDuoCacheUtil { @Resource private RedisManager redisManager; /** * 保存常规的京东商品详情(搜索,详情) * * @param goods */ public void saveGoodsInfo(PDDGoodsDetail goods) { if (goods == null || goods.getGoodsId() == null) { return; } // 保存20分钟 String key = RedisKeyEnum.getRedisKey(RedisKeyEnum.PDDGoods, goods.getGoodsId() + "" ); redisManager.cacheCommonString(key, new Gson().toJson(goods), 60 * 20); } /** * 获取缓存数据 * @param goodsId * @return */ public PDDGoodsDetail getGoodsInfo(long goodsId){ String key = RedisKeyEnum.getRedisKey(RedisKeyEnum.PDDGoods, goodsId + ""); String value = redisManager.getCommonString(key); if (!StringUtil.isNullOrEmpty(value)) { return JsonUtil.getSimpleGson().fromJson(value, PDDGoodsDetail.class); } PDDGoodsDetail goods = PinDuoDuoApiUtil.getGoodsDetail(goodsId); // 缓存20分钟 if (goods != null) { redisManager.cacheCommonString(key, JsonUtil.getSimpleGson().toJson(goods), 60 * 20); } return goods; } }