Explorar el Código

修改缓存预热

silent hace 4 años
padre
commit
f78498698c

+ 13 - 4
src/main/java/org/springblade/gateway/common_gateway/controller/AppPlatFormSettingController.java

@@ -17,6 +17,7 @@ import org.springblade.sing.desk.entity.PlatformSetting;
 import org.springblade.sing.desk.service.IPlatformSettingService;
 import org.springframework.web.bind.annotation.*;
 
+import javax.annotation.PostConstruct;
 import javax.validation.Valid;
 import java.util.HashMap;
 import java.util.Map;
@@ -34,7 +35,15 @@ import java.util.Map;
 public class AppPlatFormSettingController extends BladeController {
 	private IPlatformSettingService platformSettingService;
 
-	private PlatformSettingUtil platformSettingUtil;
+	/**
+	 * 将平台设置放入缓存(预热)
+	 */
+	@PostConstruct
+	public void init(){
+		for (PlatformSetting platformSetting : platformSettingService.list()) {
+			PlatformSettingUtil.setPlatformSettingToCache(platformSetting);
+		}
+	}
 
 	/**
 	 * 获取平台设置
@@ -44,7 +53,7 @@ public class AppPlatFormSettingController extends BladeController {
 	@ApiOperation(value = "获取平台配置", notes = "传入key")
 	public R<String> getPlatformSetting(@RequestParam PlatformSettingEnum platformSettingEnum,
 										@ApiParam(value = "活动ID") @RequestParam(required = false) Long activeId){
-		return R.data(platformSettingUtil.getPlatformSettingByCache(platformSettingEnum.name(),activeId));
+		return R.data(PlatformSettingUtil.getPlatformSettingByCache(platformSettingEnum.name(),activeId));
 	}
 
 	/**
@@ -58,7 +67,7 @@ public class AppPlatFormSettingController extends BladeController {
 		String[] split = keys.split(",");
 		Map<String, String> result = new HashMap<>();
 		for (String key : split) {
-			String value = platformSettingUtil.getPlatformSettingByCache(key,activeId);
+			String value = PlatformSettingUtil.getPlatformSettingByCache(key,activeId);
 			if(StringUtils.isNotEmpty(value)){
 				result.put(key,value);
 			}
@@ -73,7 +82,7 @@ public class AppPlatFormSettingController extends BladeController {
 	@ApiOperationSupport(order = 2)
 	@ApiOperation(value = "更新平台配置", notes = "传入key")
 	public R<Boolean> getPlatformSetting(@Valid PlatformSetting platformSetting){
-		platformSettingUtil.setPlatformSettingToCache(platformSetting);
+		PlatformSettingUtil.setPlatformSettingToCache(platformSetting);
 		LambdaUpdateWrapper<PlatformSetting> lambdaUpdateWrapper = Wrappers.<PlatformSetting>lambdaUpdate()
 			.eq(PlatformSetting::getKey, platformSetting.getKey());
 		if(ObjectUtils.isNotEmpty(platformSetting.getActiveId())){

+ 10 - 14
src/main/java/org/springblade/gateway/common_gateway/util/PlatformSettingUtil.java

@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.ObjectUtils;
 import org.apache.commons.lang3.StringUtils;
+import org.springblade.common.utils.SpringContextHolder;
 import org.springblade.core.redis.cache.BladeRedis;
 import org.springblade.gateway.common_gateway.constant.PlatformSettingConstant;
 import org.springblade.gateway.common_gateway.dto.ActiveSettingDto;
@@ -14,8 +15,6 @@ import org.springblade.gateway.common_gateway.dto.PointGoodsSettingDto;
 import org.springblade.gateway.common_gateway.enums.PlatformSettingEnum;
 import org.springblade.sing.desk.entity.PlatformSetting;
 import org.springblade.sing.desk.service.IPlatformSettingService;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Component;
 
 import javax.validation.constraints.NotNull;
 
@@ -25,21 +24,18 @@ import javax.validation.constraints.NotNull;
  * @Date: Created in 15:18 2021/11/9
  * @Modified By:
  */
-@Component
 @Slf4j
 public class PlatformSettingUtil {
-	@Autowired
-	private IPlatformSettingService platformSettingService;
+	private final static IPlatformSettingService platformSettingService = SpringContextHolder.getBean(IPlatformSettingService.class);
 
-	@Autowired
-	private BladeRedis bladeRedis;
+	private final static BladeRedis bladeRedis = SpringContextHolder.getBean(BladeRedis.class);
 
 
 	/**
 	 * 公共设置
 	 * @return
 	 */
-	public CommonSettingDto getCommonSetting(){
+	public static CommonSettingDto getCommonSetting(){
 		return getPlatformSettingByCache(PlatformSettingEnum.COMMON_SETTING,null);
 	}
 
@@ -47,7 +43,7 @@ public class PlatformSettingUtil {
 	 * 获取活动配置
 	 * @return
 	 */
-	public ActiveSettingDto getActiveSetting(Long activeId){
+	public static ActiveSettingDto getActiveSetting(Long activeId){
 		return getPlatformSettingByCache(PlatformSettingEnum.ACTIVE_SETTING,activeId);
 	}
 
@@ -55,7 +51,7 @@ public class PlatformSettingUtil {
 	 * 获取积分商场设置
 	 * @return
 	 */
-	public PointGoodsSettingDto getPointGoodsSetting(){
+	public static PointGoodsSettingDto getPointGoodsSetting(){
 		return getPlatformSettingByCache(PlatformSettingEnum.POINT_GOODS_SETTING,null);
 	}
 
@@ -63,7 +59,7 @@ public class PlatformSettingUtil {
 	 * 获取平台设置
 	 * @return
 	 */
-	public <T> T getPlatformSettingByCache(PlatformSettingEnum platformSettingEnum,Long activeId){
+	public static <T> T getPlatformSettingByCache(PlatformSettingEnum platformSettingEnum,Long activeId){
 		String platformSettingByCache = getPlatformSettingByCache(platformSettingEnum.name(),activeId);
 		if(StringUtils.isNotEmpty(platformSettingByCache)){
 			try {
@@ -79,7 +75,7 @@ public class PlatformSettingUtil {
 	 * 获取平台设置
 	 * @return
 	 */
-	public <T> T getPlatformSettingByCache(String key,@NotNull Class<T> tClass,Long activeId){
+	public static <T> T getPlatformSettingByCache(String key,@NotNull Class<T> tClass,Long activeId){
 		String platformSettingByCache = getPlatformSettingByCache(key,activeId);
 		if(StringUtils.isNotEmpty(platformSettingByCache)){
 			try {
@@ -95,7 +91,7 @@ public class PlatformSettingUtil {
 	 * 获取平台设置
 	 * @return
 	 */
-	public String getPlatformSettingByCache(String key,Long activeId){
+	public static String getPlatformSettingByCache(String key,Long activeId){
 		String value = bladeRedis.hGet(PlatformSettingConstant.getCacheKey(activeId),key);
 		if(ObjectUtils.isEmpty(value)){
 			LambdaQueryWrapper<PlatformSetting> lambdaQueryWrapper = Wrappers.<PlatformSetting>lambdaQuery()
@@ -118,7 +114,7 @@ public class PlatformSettingUtil {
 	 * 设置平台设置缓存
 	 * @param platformSetting
 	 */
-	public void setPlatformSettingToCache(PlatformSetting platformSetting){
+	public static void setPlatformSettingToCache(PlatformSetting platformSetting){
 		if(ObjectUtils.isEmpty(platformSetting)){
 			return;
 		}