From 383bc94d5cb43f5c9652a0d87afe85142ba44d60 Mon Sep 17 00:00:00 2001 From: xhxu Date: Fri, 17 Dec 2021 19:59:39 +0800 Subject: [PATCH] =?UTF-8?q?/=E3=80=81redis?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/WxMiniappThemeController.java | 34 +++++++++++++------ .../impl/WxMiniappThemeServiceImpl.java | 12 +++++++ .../java/com/iformall/utils/Constant.java | 2 ++ 3 files changed, 37 insertions(+), 11 deletions(-) diff --git a/mallinkCApi/src/main/java/com/iformall/controller/WxMiniappThemeController.java b/mallinkCApi/src/main/java/com/iformall/controller/WxMiniappThemeController.java index 6bc191b88..43763c785 100644 --- a/mallinkCApi/src/main/java/com/iformall/controller/WxMiniappThemeController.java +++ b/mallinkCApi/src/main/java/com/iformall/controller/WxMiniappThemeController.java @@ -9,11 +9,15 @@ import com.iformall.domain.po.WxThemeMall; import com.iformall.enums.EnumAppModelType; import com.iformall.enums.EnumThemeType; import com.iformall.service.WxMiniappThemeService; +import com.iformall.utils.Constant; +import com.iformall.utils.RedisCacheUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; 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.web.bind.annotation.*; import java.util.HashMap; @@ -30,6 +34,10 @@ public class WxMiniappThemeController extends BaseController { @Autowired WxMiniappThemeService wxMiniappThemeService; + @Autowired + @Qualifier("objectCommonRedisTemplate") + RedisTemplate objectCommonRedisTemplate; + @RedisCache @ApiOperation("查询MiniappTheme列表") @GetMapping(value = "/getOne") @@ -40,17 +48,21 @@ public class WxMiniappThemeController extends BaseController { mouldType = EnumAppModelType.CLASSICS.getCode(); } try { - WxThemeMall wxThemeMall = new WxThemeMall(); - wxThemeMall.setTenantId(getTenantInfo().getTenantId()); - wxThemeMall.setThemeType(EnumThemeType.C.getCode()); - wxThemeMall.setMouldType(mouldType); - WxThemeMall themeMall = wxMiniappThemeService.findThemeMall(wxThemeMall); - List valueList = null; - if(themeMall != null){ - valueList = wxMiniappThemeService.findTheme(themeMall); - } - if(valueList == null || valueList.size() == 0){ - valueList = wxMiniappThemeService.findDefaultList(EnumThemeType.C.getCode(),mouldType); + String key = Constant.theme + getTenantInfo().getTenantId() + ":" + EnumThemeType.C + mouldType; + List valueList = RedisCacheUtils.getCacheListObject(objectCommonRedisTemplate, key, WxMiniappThemeValue.class); + if(null == valueList){ + WxThemeMall wxThemeMall = new WxThemeMall(); + wxThemeMall.setTenantId(getTenantInfo().getTenantId()); + wxThemeMall.setThemeType(EnumThemeType.C.getCode()); + wxThemeMall.setMouldType(mouldType); + WxThemeMall themeMall = wxMiniappThemeService.findThemeMall(wxThemeMall); + if(themeMall != null){ + valueList = wxMiniappThemeService.findTheme(themeMall); + } + if(valueList == null || valueList.size() == 0){ + valueList = wxMiniappThemeService.findDefaultList(EnumThemeType.C.getCode(),mouldType); + } + RedisCacheUtils.cache(objectCommonRedisTemplate,key,valueList,3600*24*3); } Map map = new HashMap(); diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxMiniappThemeServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxMiniappThemeServiceImpl.java index 10ce0268a..f7d400347 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxMiniappThemeServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxMiniappThemeServiceImpl.java @@ -6,12 +6,17 @@ import com.iformall.common.IdWorker; import com.iformall.domain.po.WxMiniappTheme; import com.iformall.domain.po.WxMiniappThemeValue; import com.iformall.domain.po.WxThemeMall; +import com.iformall.enums.EnumThemeType; import com.iformall.mapper.WxMiniappThemeMapper; import com.iformall.mapper.WxThemeMallMapper; import com.iformall.service.WxMiniappThemeService; +import com.iformall.utils.Constant; +import com.iformall.utils.RedisCacheUtils; 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.stereotype.Service; import java.util.Date; @@ -28,6 +33,10 @@ public class WxMiniappThemeServiceImpl implements WxMiniappThemeService { @Autowired WxThemeMallMapper wxThemeMallMapper; + @Autowired + @Qualifier("objectCommonRedisTemplate") + RedisTemplate objectCommonRedisTemplate; + @Override public List findList(WxMiniappTheme record) { return wxMiniappThemeMapper.findList(record); @@ -64,6 +73,9 @@ public class WxMiniappThemeServiceImpl implements WxMiniappThemeService { }else{ wxThemeMallMapper.updateType(record); } + //修改主题 清除缓存 + String key = Constant.theme + record.getTenantId() + ":" + EnumThemeType.getEnum(record.getThemeType()) + record.getMouldType(); + RedisCacheUtils.removeCache(objectCommonRedisTemplate,key); } @Override diff --git a/mallinkService/src/main/java/com/iformall/utils/Constant.java b/mallinkService/src/main/java/com/iformall/utils/Constant.java index f62186f67..93f61a251 100644 --- a/mallinkService/src/main/java/com/iformall/utils/Constant.java +++ b/mallinkService/src/main/java/com/iformall/utils/Constant.java @@ -45,6 +45,8 @@ public class Constant { public static final String cuserQr = "weapp:cuser-qr:"; + public static final String theme = "weapp:theme:"; + public static final String publicApi = "publicApi:"; public static final String publicApiNonce = publicApi + "nonce:";