Просмотр исходного кода

解决c端首页列表缓存问题

release_toaliyun_real
winter 2 лет назад
Родитель
Сommit
7c02406224
5 измененных файлов: 73 добавлений и 26 удалений
  1. +1
    -0
      mallinkAdmin/src/main/java/com/iformall/controller/market/WxCouponChannelController.java
  2. +27
    -0
      mallinkAdmin/src/main/java/com/iformall/controller/market/WxCouponController.java
  3. +39
    -23
      mallinkCApi/src/main/java/com/iformall/controller/WxCouponChannelController.java
  4. +2
    -0
      mallinkService/src/main/java/com/iformall/service/WxCouponService.java
  5. +4
    -3
      mallinkService/src/main/java/com/iformall/service/impl/WxCouponServiceImpl.java

+ 1
- 0
mallinkAdmin/src/main/java/com/iformall/controller/market/WxCouponChannelController.java Просмотреть файл

@@ -153,6 +153,7 @@ public class WxCouponChannelController extends BaseController {
}
}
CouponCacheUtils.removeDouyinLivePageCache(redisTemplate, this.getTenantInfo().getTenantId(), null, null);
wxCouponService.clearCIndexCache(getTenantInfo());
return resultData;
}



+ 27
- 0
mallinkAdmin/src/main/java/com/iformall/controller/market/WxCouponController.java Просмотреть файл

@@ -206,6 +206,33 @@ public class WxCouponController extends BaseController {
return resultData;
}
@TenantIgnore
@ApiOperation("新增接口")
@PostMapping("updateHtml")
public ResultData updateHtml(@RequestBody WxCoupon wxCoupon) {
logger.debug("[" + getIpAddr() + "] WxCouponController::updateHtml");
TenantEntity tenantEntity = getTenantInfo();
wxCoupon.updateTenantInfo(tenantEntity);

if(null == wxCoupon.getContentType() || null == EnumCouponContentType.getEnum(wxCoupon.getContentType())){
return new ResultData(Result.ERROR,"contentType参数错误");
}
if(null == wxCoupon.getId()){
return new ResultData(Result.ERROR,"id参数错误");
}
WxCoupon coupon = wxCouponService.findById(wxCoupon);
if(null == coupon){
return new ResultData(Result.ERROR,"id参数错误");
}
wxCouponService.update(wxCoupon);
CouponCacheUtils.removeCouponCache(redisTemplate, wxCoupon.getId());
CouponCacheUtils.removeCouponMerchantCache(redisTemplate, wxCoupon.getId(),null);
CouponCacheUtils.removeOnlyCouponCache(redisTemplate, wxCoupon.getId());
return new ResultData();
}
@TenantIgnore
@ApiOperation("根据id更新接口")
@PostMapping("update")


+ 39
- 23
mallinkCApi/src/main/java/com/iformall/controller/WxCouponChannelController.java Просмотреть файл

@@ -48,7 +48,7 @@ public class WxCouponChannelController extends BaseController {
@Qualifier("objectCommonRedisTemplate")
RedisTemplate<String, Object> redisTemplate;

@RedisCache
//@RedisCache
@ApiOperation("分页列表接口")
@GetMapping("list")
@ApiImplicitParams({
@@ -69,29 +69,45 @@ public class WxCouponChannelController extends BaseController {
wxCouponChannel.setSortColumns(BaseEntity.SortField.CCUpdateDate_DESC, BaseEntity.SortField.CCId_DESC);
wxCouponChannel.setShowBeginTime(new Date());

if(EnumCouponChannelType.COUPON_CHANNEL_ID_CARD.getCode().equals(wxCouponChannel.getTargetAd())
|| EnumCouponChannelType.COUPON_CHANNEL_ID_CREDIT.getCode().equals(wxCouponChannel.getTargetAd())){
PageInfo<WxCouponChannelVo> page = wxCouponChannelService.newListPageVo(wxCouponChannel, pageNum, pageSize);
if(page.getList() != null && page.getList().size() > 0){
filterTimed(wxCouponChannel, page);
}
return new ResultData(page);
}

String key = EnumCacheKey.C_INDEX_PAGE_LIST.getMessage()
+ wxCouponChannel.getTenantId() + "_"
+ wxCouponChannel.getTargetAd() + "_"
+ wxCouponChannel.getBusiness() + "_"
+ pageNum + ":"+ pageNum + ":";
PageInfo<WxCouponChannelVo> page = RedisCacheUtils.getCacheObject(redisTemplate, key, PageInfo.class);
logger.info("WxCouponChannelController.chache.get:{} page:{}",key,page);
if (null == page ) {
page = wxCouponChannelService.newListPageVo(wxCouponChannel, pageNum, pageSize);
if(page.getList() != null && page.getList().size() > 0){
filterTimed(wxCouponChannel, page);
RedisCacheUtils.cache(redisTemplate, key, page, 100);
}
}
+ wxCouponChannel.getTenantId() + "_"
+ wxCouponChannel.getTargetAd() + "_"
+ wxCouponChannel.getBusiness() + "_"
+ pageNum + ":"+ pageNum + ":";
PageInfo<WxCouponChannelVo> page = RedisCacheUtils.getCacheObject(redisTemplate, key, PageInfo.class);
logger.info("WxCouponChannelController.chache.get:{} page:{}",key,page);
if (null == page ) {
page = wxCouponChannelService.newListPageVo(wxCouponChannel, pageNum, pageSize);
if(page.getList() != null && page.getList().size() > 0){
filterTimed(wxCouponChannel, page);
RedisCacheUtils.cache(redisTemplate, key, page, 600);
}
}
// if(EnumCouponChannelType.COUPON_CHANNEL_ID_CARD.getCode().equals(wxCouponChannel.getTargetAd())
// || EnumCouponChannelType.COUPON_CHANNEL_ID_CREDIT.getCode().equals(wxCouponChannel.getTargetAd())){
//
//
// PageInfo<WxCouponChannelVo> page = wxCouponChannelService.newListPageVo(wxCouponChannel, pageNum, pageSize);
// if(page.getList() != null && page.getList().size() > 0){
// filterTimed(wxCouponChannel, page);
// }
// return new ResultData(page);
// }
//
// String key = EnumCacheKey.C_INDEX_PAGE_LIST.getMessage()
// + wxCouponChannel.getTenantId() + "_"
// + wxCouponChannel.getTargetAd() + "_"
// + wxCouponChannel.getBusiness() + "_"
// + pageNum + ":"+ pageNum + ":";
// PageInfo<WxCouponChannelVo> page = RedisCacheUtils.getCacheObject(redisTemplate, key, PageInfo.class);
// logger.info("WxCouponChannelController.chache.get:{} page:{}",key,page);
// if (null == page ) {
// page = wxCouponChannelService.newListPageVo(wxCouponChannel, pageNum, pageSize);
// if(page.getList() != null && page.getList().size() > 0){
// filterTimed(wxCouponChannel, page);
// RedisCacheUtils.cache(redisTemplate, key, page, 100);
// }
// }
return new ResultData(page);
}


+ 2
- 0
mallinkService/src/main/java/com/iformall/service/WxCouponService.java Просмотреть файл

@@ -319,4 +319,6 @@ public interface WxCouponService {
WxCouponCVo getDraftCoupon(Long couponId, String tenantId, TenantEntity mallTenantEntity);

Map<String, Object> findCouponDetail(TenantEntity tenantInfo, Long id);
public void clearCIndexCache(TenantEntity tenantEntity);
}

+ 4
- 3
mallinkService/src/main/java/com/iformall/service/impl/WxCouponServiceImpl.java Просмотреть файл

@@ -763,7 +763,7 @@ public class WxCouponServiceImpl implements WxCouponService {
}

//清空缓存
clearCache(record);
clearCIndexCache(record);
return new ResultData(record.getId());
}

@@ -1141,7 +1141,7 @@ public class WxCouponServiceImpl implements WxCouponService {
coupon.setUpdateDate(new Date());
wxCouponMapper.updateById(coupon);
//清空缓存
clearCache(record);
clearCIndexCache(record);
return new ResultData(record.getId());
}

@@ -1150,7 +1150,8 @@ public class WxCouponServiceImpl implements WxCouponService {
* 清除c端首页券列表缓存
* @param tenantEntity
*/
public void clearCache(TenantEntity tenantEntity){
@Override
public void clearCIndexCache(TenantEntity tenantEntity){
for (int i = 1; i <=5 ; i++) {
String key = EnumCacheKey.C_INDEX_PAGE_LIST.getMessage() +tenantEntity.getTenantId()+"_" + i + ":";
cdRedisTemplate.delete(key);


Загрузка…
Отмена
Сохранить