From 626d711cb15896055c13fe344eb7fcc824589715 Mon Sep 17 00:00:00 2001 From: yujian <yujian@163.com> Date: 星期四, 19 十二月 2019 15:38:42 +0800 Subject: [PATCH] 帮助中心 --- fanli/src/main/java/com/yeshi/fanli/util/RedisManager.java | 117 +++++++++++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 103 insertions(+), 14 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 4c6aaac..2ba1493 100644 --- a/fanli/src/main/java/com/yeshi/fanli/util/RedisManager.java +++ b/fanli/src/main/java/com/yeshi/fanli/util/RedisManager.java @@ -10,7 +10,9 @@ import com.google.gson.Gson; import com.google.gson.reflect.TypeToken; +import com.yeshi.fanli.dto.pdd.PDDGoodsDetail; import com.yeshi.fanli.entity.common.ImageInfo; +import com.yeshi.fanli.entity.jd.JDGoods; import com.yeshi.fanli.entity.taobao.PidUser; import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief; import com.yeshi.fanli.entity.taobao.TaoBaoShopInfo; @@ -20,6 +22,8 @@ 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.jd.JDApiUtil; +import com.yeshi.fanli.util.pinduoduo.PinDuoDuoApiUtil; import com.yeshi.fanli.util.taobao.TaoBaoCouponUtil; import com.yeshi.fanli.util.taobao.TaoBaoUtil; import com.yeshi.fanli.util.taobao.TaoKeApiUtil; @@ -27,6 +31,7 @@ import net.sf.json.JSONArray; import redis.clients.jedis.Jedis; import redis.clients.jedis.JedisPool; +import redis.clients.jedis.params.SetParams; //鎶㈢孩鍖呴噰鐢ㄧ殑redis @Component @@ -52,10 +57,12 @@ */ private void setString(String key, String value) { Jedis jedis = jedisPool.getResource(); + SetParams params=new SetParams().nx().ex(60); + jedis.set(key, value, params); try { jedis.set(key, value); } finally { - jedisPool.returnResource(jedis); + jedis.close(); } } @@ -71,7 +78,7 @@ try { jedis.del(key); } finally { - jedisPool.returnResource(jedis); + jedis.close(); } } @@ -89,7 +96,7 @@ try { jedis.setex(key, seconds, value); } finally { - jedisPool.returnResource(jedis); + jedis.close(); } } @@ -98,7 +105,7 @@ try { return jedis.get(key); } finally { - jedisPool.returnResource(jedis); + jedis.close(); } } @@ -107,7 +114,7 @@ try { jedis.incr(key); } finally { - jedisPool.returnResource(jedis); + jedis.close(); } } @@ -116,7 +123,7 @@ try { jedis.expire(key, seconds); } finally { - jedisPool.returnResource(jedis); + jedis.close(); } } @@ -258,7 +265,23 @@ else return false; } finally { - jedisPool.returnResource(jedis); + jedis.close(); + } + } + + public boolean frequencyLimit(String key, int timeS, int num) { + key = "frequency-" + key; + Jedis jedis = jedisPool.getResource(); + try { + long count = jedis.incr(key); + if (count == 1) + jedis.expire(key, timeS); + if (count >= num) + return true; + else + return false; + } finally { + jedis.close(); } } @@ -384,8 +407,6 @@ */ public void saveSMSVCode(String phone, int type, String code) { - if (!Constant.IS_OUTNET) - return; String key = "smscode-" + phone + "-" + type; // 淇濆瓨2鍒嗛挓 setString(key, code, 120); @@ -398,8 +419,8 @@ * @return */ public String getSMSVCode(String phone, int type) { - if (!Constant.IS_OUTNET) - return ""; + // if (!Constant.IS_OUTNET) + // return ""; String key = "smscode-" + phone + "-" + type; // 淇濆瓨2鍒嗛挓 return getString(key); @@ -413,8 +434,8 @@ * @param code */ public void clearSMSVCode(String phone, int type) { - if (!Constant.IS_OUTNET) - return; + // if (!Constant.IS_OUTNET) + // return; String key = "smscode-" + phone + "-" + type; removeKey(key); } @@ -510,6 +531,37 @@ } /** + * 淇濆瓨娣樼ぜ閲戠殑鍙d护 + * + * @param url + * @param token + */ + public void saveTLJToken(String url, String token) { + String key = "taobao-tlj-token-" + StringUtil.Md5(url); + if (Constant.IS_OUTNET) { + if (!StringUtil.isNullOrEmpty(token)) { + // 鍙d护缂撳瓨10澶� + cacheCommonString(key, token, 60 * 60 * 24 * 10); + } + } + } + + /** + * 鑾峰彇娣樼ぜ閲戝彛浠� + * + * @param url + * @return + */ + public String getTLJToken(String url) { + String key = "taobao-common-token-" + StringUtil.Md5(url); + + if (Constant.IS_OUTNET) { + return getCommonString(key); + } + return null; + } + + /** * 淇濆瓨瀵硅薄 * * @param T @@ -553,7 +605,7 @@ */ public Class<?> getObj(Class<?> clazz, String key) { String value = getCommonString(key); - return new Gson().fromJson(value, clazz); + return (Class<?>) new Gson().fromJson(value, clazz); } /** @@ -568,4 +620,41 @@ return JsonUtil.jsonToList(value, clazz); } + public JDGoods getJDGoods(long goodsId) { + String key = "jingdong-goods-" + goodsId; + + String value = getCommonString(key); + if (StringUtil.isNullOrEmpty(value)) { + JDGoods jdGoods = JDApiUtil.queryGoodsDetail(goodsId); + if (jdGoods == null) { + jdGoods = JDApiUtil.getGoodsDetail(goodsId); + } + + // 缂撳瓨20鍒嗛挓 + if (jdGoods != null) + cacheCommonString(key, JsonUtil.getSimpleGson().toJson(jdGoods), 60 * 20); + + return jdGoods; + } else {// 鐩存帴鍙栫紦瀛� + return JsonUtil.getSimpleGson().fromJson(value, JDGoods.class); + } + } + + public PDDGoodsDetail getPDDGoodsDetail(long goodsId) { + String key = "pinduoduo-goods-" + goodsId; + + String value = getCommonString(key); + if (StringUtil.isNullOrEmpty(value)) { + PDDGoodsDetail pddGoods = PinDuoDuoApiUtil.getGoodsDetail(goodsId); + + // 缂撳瓨20鍒嗛挓 + if (pddGoods != null) + cacheCommonString(key, JsonUtil.getSimpleGson().toJson(pddGoods), 60 * 20); + + return pddGoods; + } else {// 鐩存帴鍙栫紦瀛� + return JsonUtil.getSimpleGson().fromJson(value, PDDGoodsDetail.class); + } + } + } -- Gitblit v1.8.0