Administrator
2018-11-01 53ec85f940759d1da205903032b3792ce2dac6be
获取优惠券列表由ehcache缓存换成redis缓存
1个文件已修改
42 ■■■■■ 已修改文件
fanli/src/main/java/com/yeshi/fanli/service/impl/goods/TaoBaoCouponServiceImpl.java 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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;
    }