| @@ -279,4 +279,22 @@ public class RedisConfig extends CachingConfigurerSupport { | |||
| return template; | |||
| } | |||
| @Bean("wxLevelConfigListRedisTemplate") | |||
| public RedisTemplate<String, List<WxLevelConfig>> getWxLevelConfigListRedisTemplate(RedisConnectionFactory connectionFactory) { | |||
| RedisTemplate<String, List<WxLevelConfig>> template = new RedisTemplate<>(); | |||
| Jackson2JsonRedisSerializer<List> 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; | |||
| } | |||
| } | |||
| @@ -246,6 +246,24 @@ public class RedisConfig extends CachingConfigurerSupport { | |||
| return template; | |||
| } | |||
| @Bean("wxLevelConfigListRedisTemplate") | |||
| public RedisTemplate<String, List<WxLevelConfig>> getWxLevelConfigListRedisTemplate(RedisConnectionFactory connectionFactory) { | |||
| RedisTemplate<String, List<WxLevelConfig>> template = new RedisTemplate<>(); | |||
| Jackson2JsonRedisSerializer<List> 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<String, String> getStringValueOperations(RedisConnectionFactory connectionFactory) { | |||
| StringRedisTemplate template = new StringRedisTemplate(); | |||
| @@ -267,6 +267,24 @@ public class RedisConfig extends CachingConfigurerSupport { | |||
| return template; | |||
| } | |||
| @Bean("wxLevelConfigListRedisTemplate") | |||
| public RedisTemplate<String, List<WxLevelConfig>> getWxLevelConfigListRedisTemplate(RedisConnectionFactory connectionFactory) { | |||
| RedisTemplate<String, List<WxLevelConfig>> template = new RedisTemplate<>(); | |||
| Jackson2JsonRedisSerializer<List> 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<String, String> getStringValueOperations(RedisConnectionFactory connectionFactory) { | |||
| StringRedisTemplate template = new StringRedisTemplate(); | |||
| @@ -278,4 +278,22 @@ public class RedisConfig extends CachingConfigurerSupport { | |||
| return template; | |||
| } | |||
| @Bean("wxLevelConfigListRedisTemplate") | |||
| public RedisTemplate<String, List<WxLevelConfig>> getWxLevelConfigListRedisTemplate(RedisConnectionFactory connectionFactory) { | |||
| RedisTemplate<String, List<WxLevelConfig>> template = new RedisTemplate<>(); | |||
| Jackson2JsonRedisSerializer<List> 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; | |||
| } | |||
| } | |||
| @@ -264,4 +264,23 @@ public class RedisConfig extends CachingConfigurerSupport { | |||
| return template; | |||
| } | |||
| @Bean("wxLevelConfigListRedisTemplate") | |||
| public RedisTemplate<String, List<WxLevelConfig>> getWxLevelConfigListRedisTemplate(RedisConnectionFactory connectionFactory) { | |||
| RedisTemplate<String, List<WxLevelConfig>> template = new RedisTemplate<>(); | |||
| Jackson2JsonRedisSerializer<List> 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; | |||
| } | |||
| } | |||
| @@ -246,4 +246,22 @@ public class RedisConfig extends CachingConfigurerSupport { | |||
| return template; | |||
| } | |||
| @Bean("wxLevelConfigListRedisTemplate") | |||
| public RedisTemplate<String, List<WxLevelConfig>> getWxLevelConfigListRedisTemplate(RedisConnectionFactory connectionFactory) { | |||
| RedisTemplate<String, List<WxLevelConfig>> template = new RedisTemplate<>(); | |||
| Jackson2JsonRedisSerializer<List> 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; | |||
| } | |||
| } | |||
| @@ -264,4 +264,22 @@ public class RedisConfig extends CachingConfigurerSupport { | |||
| return template; | |||
| } | |||
| @Bean("wxLevelConfigListRedisTemplate") | |||
| public RedisTemplate<String, List<WxLevelConfig>> getWxLevelConfigListRedisTemplate(RedisConnectionFactory connectionFactory) { | |||
| RedisTemplate<String, List<WxLevelConfig>> template = new RedisTemplate<>(); | |||
| Jackson2JsonRedisSerializer<List> 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; | |||
| } | |||
| } | |||
| @@ -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<String, List<WxLevelConfig>> wxLevelConfigListRedisTemplate; | |||
| @Override | |||
| public PageInfo<WxLevelConfig> listAsPage(TenantEntity tenantEntity,WxLevelConfig record, Integer pageIndex, Integer pageSize) { | |||
| PageInfo<WxLevelConfig> page = PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxLevelConfigMapper.findList(record)); | |||
| @@ -128,13 +139,17 @@ public class WxLevelConfigServiceImpl implements WxLevelConfigService { | |||
| @Override | |||
| public List<WxLevelConfig> getByTenantInfo(TenantEntity tenantEntity) { | |||
| String key = Constant.levelConfigPrev + tenantEntity.getTenantId(); | |||
| ValueOperations<String, List<WxLevelConfig>> 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<WxLevelConfig> 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); | |||
| } | |||
| } | |||
| } | |||
| @@ -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:"; | |||
| } | |||
| @@ -277,4 +277,21 @@ public class RedisConfig extends CachingConfigurerSupport { | |||
| return template; | |||
| } | |||
| @Bean("wxLevelConfigListRedisTemplate") | |||
| public RedisTemplate<String, List<WxLevelConfig>> getWxLevelConfigListRedisTemplate(RedisConnectionFactory connectionFactory) { | |||
| RedisTemplate<String, List<WxLevelConfig>> template = new RedisTemplate<>(); | |||
| Jackson2JsonRedisSerializer<List> 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; | |||
| } | |||
| } | |||
| @@ -263,4 +263,21 @@ public class RedisConfig extends CachingConfigurerSupport { | |||
| return template; | |||
| } | |||
| @Bean("wxLevelConfigListRedisTemplate") | |||
| public RedisTemplate<String, List<WxLevelConfig>> getWxLevelConfigListRedisTemplate(RedisConnectionFactory connectionFactory) { | |||
| RedisTemplate<String, List<WxLevelConfig>> template = new RedisTemplate<>(); | |||
| Jackson2JsonRedisSerializer<List> 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; | |||
| } | |||
| } | |||