Commit 5307852fb2c826c07ca06d207d9ce665d18fca2e
1 parent
4c846ef4
【优化】SYSTEM: 小程序订阅模版获取增加缓存
Showing
3 changed files
with
15 additions
and
0 deletions
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/redis/RedisKeyConstants.java
| @@ -98,4 +98,13 @@ public interface RedisKeyConstants { | @@ -98,4 +98,13 @@ public interface RedisKeyConstants { | ||
| 98 | * VALUE 数据格式:String 模版信息 | 98 | * VALUE 数据格式:String 模版信息 |
| 99 | */ | 99 | */ |
| 100 | String SMS_TEMPLATE = "sms_template"; | 100 | String SMS_TEMPLATE = "sms_template"; |
| 101 | + | ||
| 102 | + /** | ||
| 103 | + * 小程序订阅模版的缓存 | ||
| 104 | + * | ||
| 105 | + * KEY 格式:wxa_subscribe_template:{userType} | ||
| 106 | + * VALUE 数据格式 String, 模版信息 | ||
| 107 | + */ | ||
| 108 | + String WXA_SUBSCRIBE_TEMPLATE = "wxa_subscribe_template"; | ||
| 109 | + | ||
| 101 | } | 110 | } |
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/social/SocialClientService.java
| @@ -76,6 +76,9 @@ public interface SocialClientService { | @@ -76,6 +76,9 @@ public interface SocialClientService { | ||
| 76 | /** | 76 | /** |
| 77 | * 获得微信小程订阅模板 | 77 | * 获得微信小程订阅模板 |
| 78 | * | 78 | * |
| 79 | + * 缓存的目的:考虑到微信小程序订阅消息选择好模版后几乎不会变动,缓存增加查询效率 | ||
| 80 | + * | ||
| 81 | + * @param userType 用户类型 | ||
| 79 | * @return 微信小程订阅模板 | 82 | * @return 微信小程订阅模板 |
| 80 | */ | 83 | */ |
| 81 | List<TemplateInfo> getSubscribeTemplateList(Integer userType); | 84 | List<TemplateInfo> getSubscribeTemplateList(Integer userType); |
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/social/SocialClientServiceImpl.java
| @@ -24,6 +24,7 @@ import cn.iocoder.yudao.module.system.controller.admin.socail.vo.client.SocialCl | @@ -24,6 +24,7 @@ import cn.iocoder.yudao.module.system.controller.admin.socail.vo.client.SocialCl | ||
| 24 | import cn.iocoder.yudao.module.system.controller.admin.socail.vo.client.SocialClientSaveReqVO; | 24 | import cn.iocoder.yudao.module.system.controller.admin.socail.vo.client.SocialClientSaveReqVO; |
| 25 | import cn.iocoder.yudao.module.system.dal.dataobject.social.SocialClientDO; | 25 | import cn.iocoder.yudao.module.system.dal.dataobject.social.SocialClientDO; |
| 26 | import cn.iocoder.yudao.module.system.dal.mysql.social.SocialClientMapper; | 26 | import cn.iocoder.yudao.module.system.dal.mysql.social.SocialClientMapper; |
| 27 | +import cn.iocoder.yudao.module.system.dal.redis.RedisKeyConstants; | ||
| 27 | import cn.iocoder.yudao.module.system.enums.social.SocialTypeEnum; | 28 | import cn.iocoder.yudao.module.system.enums.social.SocialTypeEnum; |
| 28 | import com.binarywang.spring.starter.wxjava.miniapp.properties.WxMaProperties; | 29 | import com.binarywang.spring.starter.wxjava.miniapp.properties.WxMaProperties; |
| 29 | import com.binarywang.spring.starter.wxjava.mp.properties.WxMpProperties; | 30 | import com.binarywang.spring.starter.wxjava.mp.properties.WxMpProperties; |
| @@ -48,6 +49,7 @@ import me.chanjar.weixin.mp.api.WxMpService; | @@ -48,6 +49,7 @@ import me.chanjar.weixin.mp.api.WxMpService; | ||
| 48 | import me.chanjar.weixin.mp.api.impl.WxMpServiceImpl; | 49 | import me.chanjar.weixin.mp.api.impl.WxMpServiceImpl; |
| 49 | import me.chanjar.weixin.mp.config.impl.WxMpRedisConfigImpl; | 50 | import me.chanjar.weixin.mp.config.impl.WxMpRedisConfigImpl; |
| 50 | import org.springframework.beans.factory.annotation.Value; | 51 | import org.springframework.beans.factory.annotation.Value; |
| 52 | +import org.springframework.cache.annotation.Cacheable; | ||
| 51 | import org.springframework.data.redis.core.StringRedisTemplate; | 53 | import org.springframework.data.redis.core.StringRedisTemplate; |
| 52 | import org.springframework.stereotype.Service; | 54 | import org.springframework.stereotype.Service; |
| 53 | 55 | ||
| @@ -265,6 +267,7 @@ public class SocialClientServiceImpl implements SocialClientService { | @@ -265,6 +267,7 @@ public class SocialClientServiceImpl implements SocialClientService { | ||
| 265 | } | 267 | } |
| 266 | 268 | ||
| 267 | @Override | 269 | @Override |
| 270 | + @Cacheable(cacheNames = RedisKeyConstants.WXA_SUBSCRIBE_TEMPLATE, key = "#userType", condition = "#result != null") | ||
| 268 | public List<TemplateInfo> getSubscribeTemplateList(Integer userType) { | 271 | public List<TemplateInfo> getSubscribeTemplateList(Integer userType) { |
| 269 | WxMaService service = getWxMaService(userType); | 272 | WxMaService service = getWxMaService(userType); |
| 270 | try { | 273 | try { |