diff --git a/mallinkService/src/main/java/com/iformall/enums/EnumCacheKey.java b/mallinkService/src/main/java/com/iformall/enums/EnumCacheKey.java new file mode 100644 index 000000000..0f9ac04f6 --- /dev/null +++ b/mallinkService/src/main/java/com/iformall/enums/EnumCacheKey.java @@ -0,0 +1,49 @@ +package com.iformall.enums; + +import java.util.HashMap; +import java.util.Map; + +/** + * Created by Stormeye on 2018/08/09. + */ +public enum EnumCacheKey { + + C_INDEX_PAGE_LIST(0, "couponChannelList_"), + + ; + private static Map map = new HashMap(); + static { + for (EnumCacheKey value : values()) { + map.put(value.code, value); + } + } + + public static EnumCacheKey getEnum(Integer code) { + if (code == null) return null; + return map.get(code); + } + + public static String getEnumMessage(Integer code) { + if (code == null) return null; + if (map.get(code) == null) + return null; + return map.get(code).getMessage(); + } + + private Integer code; + private String message; + + + EnumCacheKey(Integer code, String message) { + this.code = code; + this.message = message; + } + + public Integer getCode() { + return code; + } + + public String getMessage() { + return message; + } +} diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponChannelServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponChannelServiceImpl.java index 57ba86e33..ef62c4a57 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponChannelServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponChannelServiceImpl.java @@ -18,6 +18,8 @@ import com.iformall.mapper.WxCouponChannelMapper; import com.iformall.mapper.WxCouponMerchantMapper; import com.iformall.mapper.WxMerchantMapper; import com.iformall.service.*; +import com.iformall.utils.JsonUtil; +import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -129,8 +131,8 @@ public class WxCouponChannelServiceImpl implements WxCouponChannelService { * @param tenantId */ public void clearCache(String tenantId){ - for (int i = 1; i <=20 ; i++) { - String key = "couponChannelList_"+tenantId+"_" + i + ":"; + for (int i = 1; i <=5 ; i++) { + String key = EnumCacheKey.C_INDEX_PAGE_LIST.getMessage()+tenantId+"_" + i + ":"; cdRedisTemplate.delete(key); } } @@ -306,20 +308,24 @@ public class WxCouponChannelServiceImpl implements WxCouponChannelService { @Override public PageInfo listPageCVo(WxCouponChannel record, Integer pageIndex, Integer pageSize) { PageInfo pageInfo; - //首页走缓存 - if(EnumTargetAd.LIST.getCode().equals(record.getTargetAd()) && new Integer(6).equals(pageSize) && pageIndex.intValue() <=20 ) { - logger.info("---------chache"); - String key = "couponChannelList_"+record.getTenantId()+"_" + pageIndex + ":"; + //仅c端首页走缓存 + if(EnumCouponChannelType.COUPON_CHANNEL_ID_LIST.getCode().equals(record.getTargetAd()) + && new Integer(6).equals(pageSize) + && pageIndex.intValue() <=5 + && record.getBusiness() == null) { + + logger.info("listPageCVo.chache"); + String key = EnumCacheKey.C_INDEX_PAGE_LIST.getMessage() +record.getTenantId()+"_" + pageIndex + ":"; ValueOperations> operations = cdRedisTemplate.opsForValue(); boolean hasKey = cdRedisTemplate.hasKey(key); if (hasKey) { pageInfo = operations.get(key); - logger.info("---------get:{}",pageInfo.getList().size()); + logger.info("listPageCVo.chache.get:{}", pageInfo.getList()==null?0:pageInfo.getList().size()); }else{ pageInfo = PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxCouponChannelMapper.findVoList(record)); } //插入缓存 - operations.set(key, pageInfo, 3600, TimeUnit.SECONDS); + operations.set(key, pageInfo, 60, TimeUnit.SECONDS); return pageInfo; } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponServiceImpl.java index 41027b3d5..a373b9238 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponServiceImpl.java @@ -446,8 +446,8 @@ public class WxCouponServiceImpl implements WxCouponService { * @param tenantId */ public void clearCache(String tenantId){ - for (int i = 1; i <=20 ; i++) { - String key = "couponChannelList_"+tenantId+"_" + i + ":"; + for (int i = 1; i <=5 ; i++) { + String key = EnumCacheKey.C_INDEX_PAGE_LIST.getMessage() +tenantId+"_" + i + ":"; cdRedisTemplate.delete(key); } }