Bladeren bron

[修改][卷列表][添加缓存]

release_toaliyun_real
luozukai 6 jaren geleden
bovenliggende
commit
9d26adf6c8
3 gewijzigde bestanden met toevoegingen van 78 en 0 verwijderingen
  1. +19
    -0
      mallinkCApi/src/main/java/com/iformall/config/RedisConfig.java
  2. +34
    -0
      mallinkService/src/main/java/com/iformall/enums/EnumTargetAd.java
  3. +25
    -0
      mallinkService/src/main/java/com/iformall/service/impl/WxCouponChannelServiceImpl.java

+ 19
- 0
mallinkCApi/src/main/java/com/iformall/config/RedisConfig.java Bestand weergeven

@@ -1,10 +1,12 @@
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.WxCouponCVo;
import com.iformall.domain.vo.WxCouponChannelVo;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.cache.CacheManager;
@@ -140,4 +142,21 @@ public class RedisConfig extends CachingConfigurerSupport {
return template;
}

@Bean("couponChannelRedisTemplate")
public RedisTemplate<String, PageInfo<WxCouponChannelVo>> getCouponChannelRedisTemplate(RedisConnectionFactory connectionFactory) {
RedisTemplate<String, PageInfo<WxCouponChannelVo>> template = new RedisTemplate<>();

Jackson2JsonRedisSerializer<PageInfo> j = new Jackson2JsonRedisSerializer<PageInfo>(PageInfo.class);
// value值的序列化
template.setValueSerializer(j);
template.setHashKeySerializer(j);

// key的序列化
template.setKeySerializer(new StringRedisSerializer());
template.setHashKeySerializer(new StringRedisSerializer());

template.setConnectionFactory(connectionFactory);
return template;
}

}

+ 34
- 0
mallinkService/src/main/java/com/iformall/enums/EnumTargetAd.java Bestand weergeven

@@ -0,0 +1,34 @@
package com.iformall.enums;

public enum EnumTargetAd {


LIST(1, "列表"),
BUG(2, "显示抢购"),
;

public static EnumTargetAd getEnum(Integer code) {
for (EnumTargetAd value : values()) {
if (value.getCode().equals(code)) {
return value;
}
}
return null;
}

private Integer code;
private String message;

EnumTargetAd(Integer code, String message) {
this.code = code;
this.message = message;
}

public Integer getCode() {
return code;
}

public String getMessage() {
return message;
}
}

+ 25
- 0
mallinkService/src/main/java/com/iformall/service/impl/WxCouponChannelServiceImpl.java Bestand weergeven

@@ -21,9 +21,13 @@ import com.iformall.service.*;
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 java.util.*;
import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;

@Service
@@ -46,6 +50,9 @@ public class WxCouponChannelServiceImpl implements WxCouponChannelService {
QrCodeService qrCodeService;
@Autowired
WxCardInfoMapper wxCardInfoMapper;
@Autowired
@Qualifier("couponChannelRedisTemplate")
RedisTemplate<String, PageInfo<WxCouponChannelVo>> cdRedisTemplate;

/**
* B端业务端
@@ -284,6 +291,24 @@ public class WxCouponChannelServiceImpl implements WxCouponChannelService {
*/
@Override
public PageInfo<WxCouponChannelVo> listPageCVo(WxCouponChannel record, Integer pageIndex, Integer pageSize) {
PageInfo<WxCouponChannelVo> pageInfo;
//首页走缓存
if(EnumTargetAd.LIST.getCode().equals(record.getTargetAd()) && new Integer(6).equals(pageSize)) {
//logger.info("---------chache");
String key = "couponChannelList_" + pageIndex + ":";
ValueOperations<String, PageInfo<WxCouponChannelVo>> operations = cdRedisTemplate.opsForValue();
boolean hasKey = cdRedisTemplate.hasKey(key);
if (hasKey) {
pageInfo = operations.get(key);
//logger.info("---------get:{}",pageInfo.getList().size());
}else{
pageInfo = PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxCouponChannelMapper.findVoList(record));
}
//插入缓存
operations.set(key, pageInfo, 3600, TimeUnit.SECONDS);
return pageInfo;
}

return PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxCouponChannelMapper.findVoList(record));
}



Laden…
Annuleren
Opslaan