diff --git a/mallinkAdmin/src/main/java/com/iformall/config/RedisConfig.java b/mallinkAdmin/src/main/java/com/iformall/config/RedisConfig.java index 7da08a3d9..52e91f4de 100644 --- a/mallinkAdmin/src/main/java/com/iformall/config/RedisConfig.java +++ b/mallinkAdmin/src/main/java/com/iformall/config/RedisConfig.java @@ -1,9 +1,11 @@ package com.iformall.config; +import com.github.pagehelper.PageInfo; import com.iformall.domain.po.PushLimit; import com.iformall.domain.po.WxCUser; import com.iformall.domain.po.WxMall; import com.iformall.domain.po.WxScoreRules; +import com.iformall.domain.vo.WxCouponChannelVo; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.cache.CacheManager; @@ -160,4 +162,22 @@ public class RedisConfig extends CachingConfigurerSupport { return template; } + + @Bean("couponChannelRedisTemplate") + public RedisTemplate> getCouponChannelRedisTemplate(RedisConnectionFactory connectionFactory) { + RedisTemplate> template = new RedisTemplate<>(); + + Jackson2JsonRedisSerializer j = new Jackson2JsonRedisSerializer(PageInfo.class); + // value值的序列化 + template.setValueSerializer(j); + template.setHashKeySerializer(j); + + // key的序列化 + template.setKeySerializer(new StringRedisSerializer()); + template.setHashKeySerializer(new StringRedisSerializer()); + + template.setConnectionFactory(connectionFactory); + return template; + } + } diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/market/WxCouponChannelController.java b/mallinkAdmin/src/main/java/com/iformall/controller/market/WxCouponChannelController.java index f68ff413e..49be33a3e 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/market/WxCouponChannelController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/market/WxCouponChannelController.java @@ -67,7 +67,6 @@ public class WxCouponChannelController extends BaseController { return new ResultData(page); } - @ApiOperation("根据id更新接口") @PostMapping("update") @SystemControllerLog(description = "券投放-更新") @@ -92,6 +91,8 @@ public class WxCouponChannelController extends BaseController { return resultData; } + + @ApiOperation("根据id查询接口") @GetMapping("/findById") @ApiImplicitParam(name = "id", value = "id", dataType = "Long", paramType = "query", required = true) 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 e5749b1e2..7fb800d74 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponChannelServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponChannelServiceImpl.java @@ -118,9 +118,23 @@ public class WxCouponChannelServiceImpl implements WxCouponChannelService { record.setUpdateDate(new Date()); wxCouponChannelMapper.updateByPrimaryKeySelective(record); } + + //清除缓存 + clearCache(record.getTenantId()); return new ResultData(); } + /** + * 清除c端首页卷列表缓存 + * @param tenantId + */ + public void clearCache(String tenantId){ + for (int i = 1; i <=20 ; i++) { + String key = "couponChannelList_"+tenantId+"_" + i + ":"; + cdRedisTemplate.delete(key); + } + } + @Override public ResultData addBatch(String[] ids, String[] channelId, String tanantId, Date beginTime, Date endTime) { List errorList = new ArrayList<>(); @@ -293,14 +307,14 @@ public class WxCouponChannelServiceImpl implements WxCouponChannelService { public PageInfo listPageCVo(WxCouponChannel record, Integer pageIndex, Integer pageSize) { PageInfo pageInfo; //首页走缓存 - if(EnumTargetAd.LIST.getCode().equals(record.getTargetAd()) && new Integer(6).equals(pageSize)) { - //logger.info("---------chache"); - String key = "couponChannelList_" + pageIndex + ":"; + if(EnumTargetAd.LIST.getCode().equals(record.getTargetAd()) && new Integer(6).equals(pageSize) && pageIndex.intValue() <=20 ) { + logger.info("---------chache"); + String key = "couponChannelList_"+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("---------get:{}",pageInfo.getList().size()); }else{ pageInfo = PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxCouponChannelMapper.findVoList(record)); }