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.entity.jd.JDGoods;
|
import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief;
|
import com.yeshi.fanli.exception.taobao.TaobaoGoodsDownException;
|
import com.yeshi.fanli.log.LogHelper;
|
import com.yeshi.fanli.util.Constant;
|
import com.yeshi.fanli.util.RedisManager;
|
import com.yeshi.fanli.util.StringUtil;
|
import com.yeshi.fanli.util.jd.JDApiUtil;
|
import com.yeshi.fanli.util.taobao.TaoKeApiUtil;
|
|
@Component
|
public class JDGoodsCacheUtil {
|
@Resource
|
private RedisManager redisManager;
|
|
/**
|
* 保存常规的京东商品详情(搜索,详情)
|
*
|
* @param goods
|
*/
|
public void saveGoodsInfo(JDGoods goods) {
|
if (goods == null || goods.getSkuId() == null) {
|
return;
|
}
|
// 保存20分钟
|
String key = "JD-goods-" + goods.getSkuId();
|
redisManager.cacheCommonString(key, new Gson().toJson(goods), 60 * 20);
|
}
|
|
|
/**
|
* 获取缓存数据
|
* @param goodsId
|
* @return
|
*/
|
public JDGoods getGoodsInfo(long goodsId){
|
String key = "JD-goods-" + goodsId;
|
String value = redisManager.getCommonString(key);
|
if (!StringUtil.isNullOrEmpty(value)) {
|
return JsonUtil.getSimpleGson().fromJson(value, JDGoods.class);
|
}
|
|
JDGoods goods = JDApiUtil.queryGoodsDetail(goodsId);
|
if (goods == null) {
|
goods = JDApiUtil.getGoodsDetail(goodsId);
|
}
|
// 缓存20分钟
|
if (goods != null) {
|
redisManager.cacheCommonString(key, JsonUtil.getSimpleGson().toJson(goods), 60 * 20);
|
}
|
return goods;
|
}
|
|
}
|