admin
2025-02-25 30d8e227e8d823b6c38c3b9c90ac2df03b63befe
fanli/src/main/java/com/yeshi/fanli/service/manger/goods/jd/JDGoodsLinkParseManager.java
@@ -1,42 +1,43 @@
package com.yeshi.fanli.service.manger.goods.jd;
import javax.annotation.Resource;
import org.springframework.stereotype.Component;
import com.yeshi.fanli.util.RedisManager;
import com.yeshi.fanli.util.StringUtil;
import com.yeshi.fanli.util.jd.JDUtil;
/**
 * 京东商品链接解析管理器
 *
 * @author Administrator
 *
 */
@Component
public class JDGoodsLinkParseManager {
   @Resource
   private RedisManager redisManager;
   /**
    * 根据短链解析商品ID
    *
    * @param shortLink
    * @return
    */
   public String parseGoodsIdByJDShortUrl(String shortLink) {
      String key = "jd-link-to-goods-" + StringUtil.Md5(shortLink);
      String value = redisManager.getCommonString(key);
      if (!StringUtil.isNullOrEmpty(value)) {
         return value;
      }
      String goodsId = JDUtil.getJDGoodsIdByUJD(shortLink);
      if (!StringUtil.isNullOrEmpty(goodsId)) {
         redisManager.cacheCommonString(key, goodsId, 30 * 60);// 缓存30分钟
      }
      return goodsId;
   }
}
package com.yeshi.fanli.service.manger.goods.jd;
import javax.annotation.Resource;
import org.springframework.stereotype.Component;
import com.yeshi.fanli.util.RedisKeyEnum;
import com.yeshi.fanli.util.RedisManager;
import com.yeshi.fanli.util.StringUtil;
import com.yeshi.fanli.util.jd.JDUtil;
/**
 * 京东商品链接解析管理器
 *
 * @author Administrator
 *
 */
@Component
public class JDGoodsLinkParseManager {
   @Resource
   private RedisManager redisManager;
   /**
    * 根据短链解析商品ID
    *
    * @param shortLink
    * @return
    */
   public String parseGoodsIdByJDShortUrl(String shortLink) {
      String key = RedisKeyEnum.getRedisKey(RedisKeyEnum.JDShortUrl, StringUtil.Md5(shortLink));
      String value = redisManager.getCommonString(key);
      if (!StringUtil.isNullOrEmpty(value)) {
         return value;
      }
      String goodsId = JDUtil.getJDGoodsIdByUJD(shortLink);
      if (!StringUtil.isNullOrEmpty(goodsId)) {
         redisManager.cacheCommonString(key, goodsId, 30 * 60);// 缓存30分钟
      }
      return goodsId;
   }
}