admin
2025-02-25 30d8e227e8d823b6c38c3b9c90ac2df03b63befe
fanli/src/main/java/com/yeshi/fanli/util/cache/PinDuoDuoCacheUtil.java
@@ -1,55 +1,53 @@
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.entity.jd.JDGoods;
import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief;
import com.yeshi.fanli.util.RedisManager;
import com.yeshi.fanli.util.StringUtil;
import com.yeshi.fanli.util.jd.JDApiUtil;
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 = "PDD-goods-" + goods.getGoodsId();
      redisManager.cacheCommonString(key, new Gson().toJson(goods), 60 * 20);
   }
   /**
    * 获取缓存数据
    * @param goodsId
    * @return
    */
   public PDDGoodsDetail getGoodsInfo(long goodsId){
      String key = "PDD-goods-" + 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;
   }
}
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(String 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;
   }
}