diff --git a/mallinkAdmin/src/main/java/com/iformall/config/RedisConfig.java b/mallinkAdmin/src/main/java/com/iformall/config/RedisConfig.java index 257b53769..d5b729fa9 100644 --- a/mallinkAdmin/src/main/java/com/iformall/config/RedisConfig.java +++ b/mallinkAdmin/src/main/java/com/iformall/config/RedisConfig.java @@ -279,4 +279,22 @@ public class RedisConfig extends CachingConfigurerSupport { return template; } + @Bean("wxLevelConfigListRedisTemplate") + public RedisTemplate> getWxLevelConfigListRedisTemplate(RedisConnectionFactory connectionFactory) { + RedisTemplate> template = new RedisTemplate<>(); + + Jackson2JsonRedisSerializer j = new Jackson2JsonRedisSerializer(List.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/mallinkBApi/src/main/java/com/iformall/config/RedisConfig.java b/mallinkBApi/src/main/java/com/iformall/config/RedisConfig.java index 7a18426d6..eb59174c5 100644 --- a/mallinkBApi/src/main/java/com/iformall/config/RedisConfig.java +++ b/mallinkBApi/src/main/java/com/iformall/config/RedisConfig.java @@ -246,6 +246,24 @@ public class RedisConfig extends CachingConfigurerSupport { return template; } + @Bean("wxLevelConfigListRedisTemplate") + public RedisTemplate> getWxLevelConfigListRedisTemplate(RedisConnectionFactory connectionFactory) { + RedisTemplate> template = new RedisTemplate<>(); + + Jackson2JsonRedisSerializer j = new Jackson2JsonRedisSerializer(List.class); + + // value值的序列化 + template.setValueSerializer(j); + template.setHashKeySerializer(j); + + // key的序列化 + template.setKeySerializer(new StringRedisSerializer()); + template.setHashKeySerializer(new StringRedisSerializer()); + + template.setConnectionFactory(connectionFactory); + return template; + } + @Bean("stringValueOperations") public ValueOperations getStringValueOperations(RedisConnectionFactory connectionFactory) { StringRedisTemplate template = new StringRedisTemplate(); diff --git a/mallinkCApi/src/main/java/com/iformall/config/RedisConfig.java b/mallinkCApi/src/main/java/com/iformall/config/RedisConfig.java index bb440154d..4411c5b9a 100644 --- a/mallinkCApi/src/main/java/com/iformall/config/RedisConfig.java +++ b/mallinkCApi/src/main/java/com/iformall/config/RedisConfig.java @@ -267,6 +267,24 @@ public class RedisConfig extends CachingConfigurerSupport { return template; } + @Bean("wxLevelConfigListRedisTemplate") + public RedisTemplate> getWxLevelConfigListRedisTemplate(RedisConnectionFactory connectionFactory) { + RedisTemplate> template = new RedisTemplate<>(); + + Jackson2JsonRedisSerializer j = new Jackson2JsonRedisSerializer(List.class); + + // value值的序列化 + template.setValueSerializer(j); + template.setHashKeySerializer(j); + + // key的序列化 + template.setKeySerializer(new StringRedisSerializer()); + template.setHashKeySerializer(new StringRedisSerializer()); + + template.setConnectionFactory(connectionFactory); + return template; + } + @Bean("stringValueOperations") public ValueOperations getStringValueOperations(RedisConnectionFactory connectionFactory) { StringRedisTemplate template = new StringRedisTemplate(); diff --git a/mallinkCallback/src/main/java/com/iformall/config/RedisConfig.java b/mallinkCallback/src/main/java/com/iformall/config/RedisConfig.java index 533a42862..0dd8a6c91 100644 --- a/mallinkCallback/src/main/java/com/iformall/config/RedisConfig.java +++ b/mallinkCallback/src/main/java/com/iformall/config/RedisConfig.java @@ -278,4 +278,22 @@ public class RedisConfig extends CachingConfigurerSupport { return template; } + @Bean("wxLevelConfigListRedisTemplate") + public RedisTemplate> getWxLevelConfigListRedisTemplate(RedisConnectionFactory connectionFactory) { + RedisTemplate> template = new RedisTemplate<>(); + + Jackson2JsonRedisSerializer j = new Jackson2JsonRedisSerializer(List.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/mallinkMQConsumer/src/main/java/com/iformall/config/RedisConfig.java b/mallinkMQConsumer/src/main/java/com/iformall/config/RedisConfig.java index 0d1302699..8bdf29d82 100644 --- a/mallinkMQConsumer/src/main/java/com/iformall/config/RedisConfig.java +++ b/mallinkMQConsumer/src/main/java/com/iformall/config/RedisConfig.java @@ -264,4 +264,23 @@ public class RedisConfig extends CachingConfigurerSupport { return template; } + @Bean("wxLevelConfigListRedisTemplate") + public RedisTemplate> getWxLevelConfigListRedisTemplate(RedisConnectionFactory connectionFactory) { + RedisTemplate> template = new RedisTemplate<>(); + + Jackson2JsonRedisSerializer j = new Jackson2JsonRedisSerializer(List.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/mallinkPosApi/src/main/java/com/iformall/config/RedisConfig.java b/mallinkPosApi/src/main/java/com/iformall/config/RedisConfig.java index 6a8769b45..d2d3390cc 100644 --- a/mallinkPosApi/src/main/java/com/iformall/config/RedisConfig.java +++ b/mallinkPosApi/src/main/java/com/iformall/config/RedisConfig.java @@ -246,4 +246,22 @@ public class RedisConfig extends CachingConfigurerSupport { return template; } + @Bean("wxLevelConfigListRedisTemplate") + public RedisTemplate> getWxLevelConfigListRedisTemplate(RedisConnectionFactory connectionFactory) { + RedisTemplate> template = new RedisTemplate<>(); + + Jackson2JsonRedisSerializer j = new Jackson2JsonRedisSerializer(List.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/mallinkSchedule/src/main/java/com/iformall/config/RedisConfig.java b/mallinkSchedule/src/main/java/com/iformall/config/RedisConfig.java index 0d1302699..7f3bc2878 100644 --- a/mallinkSchedule/src/main/java/com/iformall/config/RedisConfig.java +++ b/mallinkSchedule/src/main/java/com/iformall/config/RedisConfig.java @@ -264,4 +264,22 @@ public class RedisConfig extends CachingConfigurerSupport { return template; } + @Bean("wxLevelConfigListRedisTemplate") + public RedisTemplate> getWxLevelConfigListRedisTemplate(RedisConnectionFactory connectionFactory) { + RedisTemplate> template = new RedisTemplate<>(); + + Jackson2JsonRedisSerializer j = new Jackson2JsonRedisSerializer(List.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/mallinkService/src/main/java/com/iformall/service/impl/WxLevelConfigServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxLevelConfigServiceImpl.java index 4da539116..986a7ff20 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxLevelConfigServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxLevelConfigServiceImpl.java @@ -6,6 +6,8 @@ import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import com.iformall.common.IdWorker; import com.iformall.domain.dto.WxCUserBasicInfoDto; +import com.iformall.domain.po.WxAppinfo; +import com.iformall.domain.po.WxCUserBasicInfo; import com.iformall.domain.po.base.BaseEntity; import com.iformall.domain.po.WxLevelConfig; import com.iformall.domain.po.WxLevelMerchant; @@ -16,16 +18,21 @@ import com.iformall.mapper.WxLevelConfigMapper; import com.iformall.mapper.WxLevelMerchantMapper; import com.iformall.service.WxCUserBasicInfoService; import com.iformall.service.WxLevelConfigService; +import com.iformall.utils.Constant; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.data.redis.core.RedisTemplate; +import org.springframework.data.redis.core.ValueOperations; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.ArrayList; import java.util.Date; import java.util.List; +import java.util.concurrent.TimeUnit; @Service public class WxLevelConfigServiceImpl implements WxLevelConfigService { @@ -46,6 +53,10 @@ public class WxLevelConfigServiceImpl implements WxLevelConfigService { @Autowired private WxCUserBasicInfoService wxCUserBasicInfoService; + @Autowired + @Qualifier("wxLevelConfigListRedisTemplate") + RedisTemplate> wxLevelConfigListRedisTemplate; + @Override public PageInfo listAsPage(TenantEntity tenantEntity,WxLevelConfig record, Integer pageIndex, Integer pageSize) { PageInfo page = PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxLevelConfigMapper.findList(record)); @@ -128,13 +139,17 @@ public class WxLevelConfigServiceImpl implements WxLevelConfigService { @Override public List getByTenantInfo(TenantEntity tenantEntity) { + String key = Constant.levelConfigPrev + tenantEntity.getTenantId(); + ValueOperations> operations = wxLevelConfigListRedisTemplate.opsForValue(); + if(wxLevelConfigListRedisTemplate.hasKey(key)){ + return operations.get(key); + } WxLevelConfig wxLevelConfig = new WxLevelConfig(); wxLevelConfig.setTenantId(tenantEntity.getTenantId()); - if(StringUtils.isNotBlank(tenantEntity.getParentTenantId())){ - wxLevelConfig.setTenantId(tenantEntity.getParentTenantId()); - } wxLevelConfig.setSortColumns(BaseEntity.SortField.Points_ASC); - return wxLevelConfigMapper.findList(wxLevelConfig); + List list = wxLevelConfigMapper.findList(wxLevelConfig); + operations.set(key, list, 7, TimeUnit.DAYS); + return list; } @Override @@ -152,6 +167,7 @@ public class WxLevelConfigServiceImpl implements WxLevelConfigService { } else { wxLevelConfigMapper.updateById(record); } + this.deleteRedis(record.getTenantId()); } @Transactional(rollbackFor = {Exception.class}) @@ -172,6 +188,7 @@ public class WxLevelConfigServiceImpl implements WxLevelConfigService { levelConfigs.add(levelConfig); } wxLevelConfigMapper.insertBatch(levelConfigs); + this.deleteRedis(tenantEntity.getTenantId()); } @Override @@ -188,6 +205,7 @@ public class WxLevelConfigServiceImpl implements WxLevelConfigService { } } wxLevelConfigMapper.batchUpdate(levelConfigs); + this.deleteRedis(tenantEntity.getTenantId()); } @Override @@ -197,11 +215,14 @@ public class WxLevelConfigServiceImpl implements WxLevelConfigService { @Override public void deleteById(Long id) { + WxLevelConfig records = this.getById(id); + this.deleteRedis(records.getTenantId()); wxLevelConfigMapper.deleteById(id); } @Override public void deleteAll(TenantEntity tenantEntity) { + this.deleteRedis(tenantEntity.getTenantId()); wxLevelConfigMapper.deleteAll(tenantEntity.getTenantId()); } @@ -216,4 +237,10 @@ public class WxLevelConfigServiceImpl implements WxLevelConfigService { return wxLevelMerchantapper.findListCVo(record); } + private void deleteRedis(String tenantId){ + String key1 = Constant.levelConfigPrev + tenantId; + if(wxLevelConfigListRedisTemplate.hasKey(key1)){ + wxLevelConfigListRedisTemplate.delete(key1); + } + } } diff --git a/mallinkService/src/main/java/com/iformall/utils/Constant.java b/mallinkService/src/main/java/com/iformall/utils/Constant.java index 6a4ac9903..179b626ab 100644 --- a/mallinkService/src/main/java/com/iformall/utils/Constant.java +++ b/mallinkService/src/main/java/com/iformall/utils/Constant.java @@ -63,4 +63,6 @@ public class Constant { public static final String mallinfoPrev = "mallinfo:"; public static final String subMallinfoPrev = "mallinfo:subMallinfo:"; + public static final String levelConfigPrev = "levelConfig:"; + } diff --git a/mallinkSysAdmin/src/main/java/com/iformall/config/RedisConfig.java b/mallinkSysAdmin/src/main/java/com/iformall/config/RedisConfig.java index 207c6a42f..e1cbd1fe7 100644 --- a/mallinkSysAdmin/src/main/java/com/iformall/config/RedisConfig.java +++ b/mallinkSysAdmin/src/main/java/com/iformall/config/RedisConfig.java @@ -277,4 +277,21 @@ public class RedisConfig extends CachingConfigurerSupport { return template; } + @Bean("wxLevelConfigListRedisTemplate") + public RedisTemplate> getWxLevelConfigListRedisTemplate(RedisConnectionFactory connectionFactory) { + RedisTemplate> template = new RedisTemplate<>(); + + Jackson2JsonRedisSerializer j = new Jackson2JsonRedisSerializer(List.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/mallinkWebSocketServer/src/main/java/com/iformall/config/RedisConfig.java b/mallinkWebSocketServer/src/main/java/com/iformall/config/RedisConfig.java index edbf24e26..ee67d949b 100644 --- a/mallinkWebSocketServer/src/main/java/com/iformall/config/RedisConfig.java +++ b/mallinkWebSocketServer/src/main/java/com/iformall/config/RedisConfig.java @@ -263,4 +263,21 @@ public class RedisConfig extends CachingConfigurerSupport { return template; } + @Bean("wxLevelConfigListRedisTemplate") + public RedisTemplate> getWxLevelConfigListRedisTemplate(RedisConnectionFactory connectionFactory) { + RedisTemplate> template = new RedisTemplate<>(); + + Jackson2JsonRedisSerializer j = new Jackson2JsonRedisSerializer(List.class); + + // value值的序列化 + template.setValueSerializer(j); + template.setHashKeySerializer(j); + + // key的序列化 + template.setKeySerializer(new StringRedisSerializer()); + template.setHashKeySerializer(new StringRedisSerializer()); + + template.setConnectionFactory(connectionFactory); + return template; + } }