From 14d1880f6eaa93b4f79828ab841a87c4c0b006c8 Mon Sep 17 00:00:00 2001
From: yujian <yujian@123.com>
Date: 星期四, 23 五月 2019 11:17:30 +0800
Subject: [PATCH] 选品库商品状态更新
---
fanli/src/main/java/com/yeshi/fanli/util/RedisManager.java | 199 +++++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 189 insertions(+), 10 deletions(-)
diff --git a/fanli/src/main/java/com/yeshi/fanli/util/RedisManager.java b/fanli/src/main/java/com/yeshi/fanli/util/RedisManager.java
index 5047bbe..0f48288 100644
--- a/fanli/src/main/java/com/yeshi/fanli/util/RedisManager.java
+++ b/fanli/src/main/java/com/yeshi/fanli/util/RedisManager.java
@@ -6,6 +6,7 @@
import javax.annotation.Resource;
import org.springframework.stereotype.Component;
+import org.yeshi.utils.JsonUtil;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
@@ -16,12 +17,12 @@
import com.yeshi.fanli.entity.taobao.TaoBaoUnionConfig;
import com.yeshi.fanli.exception.taobao.TaobaoGoodsDownException;
import com.yeshi.fanli.log.LogHelper;
+import com.yeshi.fanli.service.inter.config.ConfigService;
import com.yeshi.fanli.service.inter.taobao.TaoBaoShopService;
import com.yeshi.fanli.service.inter.taobao.TaoBaoUnionConfigService;
import com.yeshi.fanli.util.taobao.TaoBaoCouponUtil;
import com.yeshi.fanli.util.taobao.TaoBaoUtil;
import com.yeshi.fanli.util.taobao.TaoKeApiUtil;
-import org.yeshi.utils.JsonUtil;
import net.sf.json.JSONArray;
import redis.clients.jedis.Jedis;
@@ -39,8 +40,9 @@
@Resource
private TaoBaoUnionConfigService taoBaoUnionConfigService;
-
-
+
+ @Resource
+ private ConfigService configService;
/**
* 缂撳瓨瀛楃涓�
@@ -100,6 +102,24 @@
}
}
+ public void increase(String key) {
+ Jedis jedis = jedisPool.getResource();
+ try {
+ jedis.incr(key);
+ } finally {
+ jedisPool.returnResource(jedis);
+ }
+ }
+
+ public void expire(String key, int seconds) {
+ Jedis jedis = jedisPool.getResource();
+ try {
+ jedis.expire(key, seconds);
+ } finally {
+ jedisPool.returnResource(jedis);
+ }
+ }
+
public void cacheCommonString(String key, String value, int seconds) {
setString(key, value, seconds);
}
@@ -117,15 +137,27 @@
}
/**
- * 灏嗕俊鎭案涔呬繚瀛樺埌Redis
+ * 涓存椂瀛樺偍娣樺疂鐨勫晢鍝佽鎯�
*
* @param goods
*/
- public void saveTaoBaoGoodsBriefForever(TaoBaoGoodsBrief goods) {
- String key = "taobao-goods-" + goods.getAuctionId();
+ public void saveTaoBaoGoodsBriefTemp(TaoBaoGoodsBrief goods) {
+ if (goods == null)
+ return;
+ String key = "taobao-goods-temp-" + goods.getAuctionId();
if (Constant.IS_OUTNET) {
- cacheCommonString(key, JsonUtil.getSimpleGson().toJson(goods));
+ // 鏆傚瓨4涓皬鏃剁殑鍒嗕韩
+ cacheCommonString(key, JsonUtil.getSimpleGson().toJson(goods), 60 * 60 * 4);
}
+ }
+
+ public TaoBaoGoodsBrief getTaoBaoGoodsTemp(Long auctionId) {
+ String key = "taobao-goods-temp-" + auctionId;
+ String value = getCommonString(key);
+ if (!StringUtil.isNullOrEmpty(value)) {
+ return JsonUtil.getSimpleGson().fromJson(value, TaoBaoGoodsBrief.class);
+ }
+ return null;
}
/**
@@ -171,7 +203,7 @@
if (StringUtil.isNullOrEmpty(value)) {
List<ImageInfo> list = null;
try {
- list = TaoBaoUtil.getTBDetailImageWithSizev2(auctionId);
+ list = TaoBaoUtil.getTBDetailImageWithSizev2(auctionId, configService.getTaoBaoProxyIP());
} catch (Exception e) {
e.printStackTrace();
}
@@ -221,7 +253,7 @@
long count = jedis.incr(key);
if (count == 1)
jedis.expire(key, 5);
- if (count >= 100)
+ if (count >= 10)
return true;
else
return false;
@@ -270,19 +302,38 @@
String value = "";
if (Constant.IS_OUTNET)
value = getCommonString(key);
+
if (StringUtil.isNullOrEmpty(value)) {
TaoBaoGoodsBrief goods = new TaoBaoGoodsBrief();
goods.setShopTitle(shopTitle);
goods.setSellerId(sellerId);
goods.setAuctionId(auctionId);
TaoBaoShopInfo info = taoBaoShopService.getTaoBaoShopInfo(goods);
+
+ if (info != null) {
+ String shopUrl = info.getShopUrl();
+ if (shopUrl != null && shopUrl.contains("tmall://page.tm/shop")) {
+ shopUrl = "http://store.taobao.com/shop/view_shop.htm?user_number_id=" + sellerId;
+ info.setShopUrl(shopUrl);
+ }
+ }
+
if (Constant.IS_OUTNET && info != null) {
value = new Gson().toJson(info);
cacheCommonString(key, value, 60 * 60 * 2);
}
+
return info;
} else {
- return new Gson().fromJson(value, TaoBaoShopInfo.class);
+ TaoBaoShopInfo info = new Gson().fromJson(value, TaoBaoShopInfo.class);
+
+ String shopUrl = info.getShopUrl();
+ if (shopUrl != null && shopUrl.contains("tmall://page.tm/shop")) {
+ shopUrl = "http://store.taobao.com/shop/view_shop.htm?user_number_id=" + sellerId;
+ info.setShopUrl(shopUrl);
+ }
+
+ return info;
}
}
@@ -389,4 +440,132 @@
return !StringUtil.isNullOrEmpty(getString(key));
}
+ /**
+ * 缂撳瓨鐭繛鎺�1鍒嗛挓
+ *
+ * @param uid
+ * @param shortlink
+ */
+ public void setInviteShortLink(long uid, String shortlink) {
+ String value = "";
+ String key = "invite-shortlink-" + uid;
+
+ if (Constant.IS_OUTNET) {
+
+ value = getCommonString(key);
+
+ if (StringUtil.isNullOrEmpty(value)) {
+ cacheCommonString(key, shortlink, 60);
+ }
+ }
+
+ }
+
+ /**
+ * 鑾峰彇鐢ㄦ埛鐭繛鎺�
+ *
+ * @param uid
+ * @return
+ */
+ public String getInviteShortLink(long uid) {
+
+ String value = "";
+ String key = "invite-shortlink-" + uid;
+
+ if (Constant.IS_OUTNET)
+ value = getCommonString(key);
+
+ return value;
+ }
+
+ /**
+ * 淇濆瓨娣樺彛浠�
+ *
+ * @param auctionId
+ * @param token
+ */
+ public void saveCommonTaoToken(Long auctionId, String token) {
+ String key = "taobao-common-token-" + auctionId;
+ if (Constant.IS_OUTNET) {
+ if (!StringUtil.isNullOrEmpty(token)) {
+ // 鍙d护缂撳瓨10澶�
+ cacheCommonString(key, token, 60 * 60 * 24 * 10);
+ }
+ }
+ }
+
+ /**
+ * 鑾峰彇鐢ㄦ埛鐭繛鎺�
+ *
+ * @param uid
+ * @return
+ */
+ public String getCommonTaoToken(Long auctionId) {
+ String key = "taobao-common-token-" + auctionId;
+
+ if (Constant.IS_OUTNET) {
+ return getCommonString(key);
+ }
+ return null;
+ }
+
+ /**
+ * 淇濆瓨瀵硅薄
+ *
+ * @param T
+ * @param key
+ * @param seconds
+ */
+ public void saveObj(Class<?> clazz, String key, Integer seconds) {
+ if (clazz == null)
+ return;
+ String value = new Gson().toJson(clazz);
+ if (seconds != null)
+ cacheCommonString(key, value, seconds);
+ else
+ cacheCommonString(key, value);
+ }
+
+ /**
+ * 淇濆瓨鍒楄〃
+ *
+ * @param clazzList
+ * @param key
+ * @param seconds
+ */
+ public <T> T saveObjList(List<T> clazzList, String key, Integer seconds) {
+ if (clazzList == null)
+ return null;
+ String value = new Gson().toJson(clazzList);
+ if (seconds != null)
+ cacheCommonString(key, value, seconds);
+ else
+ cacheCommonString(key, value);
+ return null;
+ }
+
+ /**
+ * 鑾峰彇瀵硅薄
+ *
+ * @param clazz
+ * @param key
+ * @return
+ */
+ public Class<?> getObj(Class<?> clazz, String key) {
+ String value = getCommonString(key);
+ return (Class<?>) new Gson().fromJson(value, clazz);
+ }
+
+ /**
+ * 鑾峰彇鍒楄〃
+ *
+ * @param clazz
+ * @param key
+ * @return
+ */
+ public <T> List<T> getObjList(Class<T> clazz, String key) {
+ String value = getCommonString(key);
+ return JsonUtil.jsonToList(value, clazz);
+ }
+
}
--
Gitblit v1.8.0