yujian
2019-01-22 88b54772dbcf5ecab1e2316e4e4626ac901b8908
fanli/src/main/java/com/yeshi/fanli/service/impl/goods/TaoBaoCouponServiceImpl.java
@@ -1,6 +1,7 @@
package com.yeshi.fanli.service.impl.goods;
import java.io.Serializable;
import java.lang.reflect.Type;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
@@ -16,6 +17,8 @@
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import com.yeshi.fanli.dao.taobao.TaoBaoCouponDao;
import com.yeshi.fanli.entity.taobao.PidUser;
import com.yeshi.fanli.entity.taobao.TaoBaoCoupon;
@@ -25,6 +28,8 @@
import com.yeshi.fanli.service.inter.goods.TaoBaoCouponService;
import com.yeshi.fanli.service.inter.taobao.TaoBaoUnionConfigService;
import com.yeshi.fanli.util.Constant;
import com.yeshi.fanli.util.RedisManager;
import com.yeshi.fanli.util.StringUtil;
import com.yeshi.fanli.util.taobao.TaoBaoCouponUtil;
import com.yeshi.fanli.util.taobao.TaoKeApiUtil;
@@ -36,6 +41,9 @@
   @Resource
   private TaoBaoUnionConfigService taoBaoUnionConfigService;
   @Resource
   private RedisManager redisManager;
   @Transactional
   public void updateTaoBaoCoupon() {
@@ -196,13 +204,41 @@
         return findList.get(0);
      return null;
   }
   @Cacheable(value = "taoBaoCouponCache", key = "'getTaoBaoCouponList'+#page")
   /**
    * 采用redis做缓存
    */
   @Override
   public List<TaoBaoGoodsBrief> getTaoBaoCouponList(int page) {
      System.out.println("进入了方法");
      TaoBaoSearchResult result = TaoKeApiUtil.getMaterialByMaterialId(3756, page, 20);//  searchCouple(null, null, page, 20);
      if (result != null)
      String key = "cachecoupon-" + page;
      String resultStr = "";
      try {
         resultStr = redisManager.getCommonString(key);
      } catch (Exception e) {
      }
      if (!StringUtil.isNullOrEmpty(resultStr)) {
         Type type = new TypeToken<List<TaoBaoGoodsBrief>>() {
         }.getType();
         List<TaoBaoGoodsBrief> list = new Gson().fromJson(resultStr, type);
         return list;
      }
      TaoBaoSearchResult result = TaoKeApiUtil.getMaterialByMaterialId(3756, page, 20);// searchCouple(null,
                                                                     // null,
                                                                     // page,
                                                                     // 20);
      if (result != null && result.getTaoBaoGoodsBriefs() != null && result.getTaoBaoGoodsBriefs().size() > 0) {
         // 20分钟缓存
         try {
            redisManager.cacheCommonString(key, new Gson().toJson(result.getTaoBaoGoodsBriefs()), 60 * 20);
         } catch (Exception e) {
         }
         return result.getTaoBaoGoodsBriefs();
      }
      return null;
   }