Ver Fonte

1.修改 公用静态集合 统一到 redis缓存处理

slambb há 3 anos atrás
pai
commit
7df89e0e10
19 ficheiros alterados com 258 adições e 64 exclusões
  1. 33 23
      src/main/java/com/td/boss/BossApplication.java
  2. 6 2
      src/main/java/com/td/boss/aspect/SafetyAspect.java
  3. 5 2
      src/main/java/com/td/boss/config/security/CaptchaFilterConfig.java
  4. 7 5
      src/main/java/com/td/boss/config/security/LoginFailureHandlerConfig.java
  5. 4 1
      src/main/java/com/td/boss/config/security/LoginSuccessHandlerConfig.java
  6. 4 1
      src/main/java/com/td/boss/filter/gameFilter.java
  7. 4 2
      src/main/java/com/td/boss/game/complayergoods/controller/ComPlayerGoodsController.java
  8. 4 1
      src/main/java/com/td/boss/game/complayersattri/controller/ComPlayersAttriController.java
  9. 4 2
      src/main/java/com/td/boss/game/comsetting/controller/ComSettingController.java
  10. 7 4
      src/main/java/com/td/boss/game/comsnbapply/scheduled/BackService.java
  11. 5 2
      src/main/java/com/td/boss/game/comusers/controller/ComUsersController.java
  12. 7 3
      src/main/java/com/td/boss/sys/sysGame/controller/sysGamePropertyController.java
  13. 5 1
      src/main/java/com/td/boss/sys/syssetting/controller/SysSettingController.java
  14. 5 3
      src/main/java/com/td/boss/sys/syssetting/service/SysSettingServiceImpl.java
  15. 5 2
      src/main/java/com/td/boss/sys/syssettinglimit/service/SysSettingLimitServiceImpl.java
  16. 5 3
      src/main/java/com/td/boss/sys/syssettingtask/service/SysSettingTaskServiceImpl.java
  17. 5 1
      src/main/java/com/td/boss/sys/sysuser/controller/SysUserController.java
  18. 6 6
      src/main/java/com/td/boss/sys/sysuser/service/SysUserServiceImpl.java
  19. 137 0
      src/main/java/com/td/boss/util/RedisSettingMap.java

+ 33 - 23
src/main/java/com/td/boss/BossApplication.java

@@ -80,6 +80,9 @@ class IndexController {
     @Autowired
     private SysSettingLimitService sysSettingLimitService;
 
+    @Autowired
+    private RedisSettingMap redisSettingMap;
+
     @Autowired
     private SysUserMenuService sysUserMenuService;
 
@@ -109,21 +112,28 @@ class IndexController {
     public ApplicationRunner applicationRunner() {
         return applicationArguments -> {
             try {
+                /**
+                 * 当启动时候,向主redis设置一次数据。
+                 */
                 //系统启动时获取数据库数据,设置到公用静态集合sysSettingMap
-                SysSettingVo sysSettingVo = sysSettingService.get("1").getData();
-                SysSettingUtil.setSysSettingMap(sysSettingVo);
-
+                //SysSettingVo sysSettingVo = sysSettingService.get("1").getData();
+                //SysSettingUtil.setSysSettingMap(sysSettingVo);
+                redisSettingMap.updateSysSettingMap();
+                log.info(redisSettingMap.getSysSettingMap().toString());
                 //系统启动时获取数据库数据,设置到公用静态集合sysSettingTaskMap
-                SysSettingTaskVo sysSettingTaskVo = sysSettingTaskService.get("1").getData();
-                SysSettingTaskUtil.setSysSettingTaskMap(sysSettingTaskVo);
-
+                //SysSettingTaskVo sysSettingTaskVo = sysSettingTaskService.get("1").getData();
+                //SysSettingTaskUtil.setSysSettingTaskMap(sysSettingTaskVo);
+                redisSettingMap.updateSysSettingTaskMap();
+                log.info(redisSettingMap.getSysSettingTaskMap().toString());
                 //限制登录ip
-                SysSettingLimitVo sysSettingLimitVo = sysSettingLimitService.get("1").getData();
-                SysSettingLimitUtil.setSysSettingLimitMap(sysSettingLimitVo);
-
-                //更新Redis数据
+                //SysSettingLimitVo sysSettingLimitVo = sysSettingLimitService.get("1").getData();
+                //SysSettingLimitUtil.setSysSettingLimitMap(sysSettingLimitVo);
+                redisSettingMap.updateSysSettingLimitMap();
+                log.info(redisSettingMap.getSysSettingLimitMap().toString());
+                //更新com config 的 Redis数据
                 comConfigService.updateList();
-
+                //更新com setting 的redis数据
+                redisSettingMap.updateComSettingMap();
                 //获取本机内网IP
                 log.info("启动成功:" + "http://" + InetAddress.getLocalHost().getHostAddress() + ":" + port + contextPath);
             } catch (UnknownHostException e) {
@@ -140,14 +150,14 @@ class IndexController {
     public ModelAndView login(){
         ModelAndView modelAndView = new ModelAndView("login");
 
-        //系统信息
-        modelAndView.addObject("sys", SysSettingUtil.getSysSetting());
+        //系统信息 SysSettingUtil.getSysSetting()
+        modelAndView.addObject("sys",redisSettingMap.getSysSettingMap());
 
-        //系统审查信息
-        modelAndView.addObject("sysSettingTask", SysSettingTaskUtil.getSysSettingTask());
+        //系统审查信息 SysSettingTaskUtil.getSysSettingTask()
+        modelAndView.addObject("sysSettingTask", redisSettingMap.getSysSettingTaskMap());
 
-        //系统限制信息
-        modelAndView.addObject("sysSettingLimit", SysSettingLimitUtil.getSysSettingLimit());
+        //系统限制信息 SysSettingLimitUtil.getSysSettingLimit()
+        modelAndView.addObject("sysSettingLimit", redisSettingMap.getSysSettingLimitMap());
 
 
         //后端公钥
@@ -175,14 +185,14 @@ class IndexController {
     public ModelAndView index(){
         ModelAndView modelAndView = new ModelAndView("index");
 
-        //系统信息
-        modelAndView.addObject("sys", SysSettingUtil.getSysSetting());
+        //系统信息 SysSettingUtil.getSysSetting()
+        modelAndView.addObject("sys",redisSettingMap.getSysSettingMap());
 
-        //系统审查信息
-        modelAndView.addObject("sysSettingTask", SysSettingTaskUtil.getSysSettingTask());
+        //系统审查信息 SysSettingTaskUtil.getSysSettingTask()
+        modelAndView.addObject("sysSettingTask", redisSettingMap.getSysSettingTaskMap());
 
-        //系统限制信息
-        modelAndView.addObject("sysSettingLimit", SysSettingLimitUtil.getSysSettingLimit());
+        //系统限制信息 SysSettingLimitUtil.getSysSettingLimit()
+        modelAndView.addObject("sysSettingLimit", redisSettingMap.getSysSettingLimitMap());
 
         //登录用户
         SysUserVo sysUserVo = sysUserService.findByLoginName(SecurityUtil.getLoginUser().getUsername()).getData();

+ 6 - 2
src/main/java/com/td/boss/aspect/SafetyAspect.java

@@ -18,6 +18,7 @@ import org.aspectj.lang.annotation.Aspect;
 import org.aspectj.lang.annotation.Before;
 import org.aspectj.lang.annotation.Pointcut;
 import org.aspectj.lang.reflect.MethodSignature;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Component;
 import org.springframework.web.context.request.RequestContextHolder;
@@ -36,6 +37,9 @@ import java.text.SimpleDateFormat;
 @Component
 public class SafetyAspect {
 
+    @Autowired
+    private RedisSettingMap redisSettingMap;
+
     private final JwtTokenUtil jwtTokenUtil;
     private final String tokenHeader;
 
@@ -64,8 +68,8 @@ public class SafetyAspect {
     public Object around(ProceedingJoinPoint pjp) {
        try {
             log.info("---------------进入aop---------------");
-           //判断api加密开关是否开启
-           if("N".equals(SysSettingUtil.getSysSetting().getSysApiEncrypt())){
+           //判断api加密开关是否开启 SysSettingUtil.getSysSetting()
+           if("N".equals(redisSettingMap.getSysSettingMap().getSysApiEncrypt())){
                return pjp.proceed(pjp.getArgs());
            }
 

+ 5 - 2
src/main/java/com/td/boss/config/security/CaptchaFilterConfig.java

@@ -51,6 +51,9 @@ public class CaptchaFilterConfig implements Filter {
     @Value("${jwt.token}")
     private String tokenHeader;
 
+    @Autowired
+    private RedisSettingMap redisSettingMap;
+
     @Override
     public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
         HttpServletRequest request = (HttpServletRequest) servletRequest;
@@ -82,7 +85,7 @@ public class CaptchaFilterConfig implements Filter {
             mapper.setDateFormat(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"));
 
             //判断api加密开关是否开启
-            if ("Y".equals(SysSettingUtil.getSysSetting().getSysApiEncrypt())) {
+            if ("Y".equals(redisSettingMap.getSysSettingMap().getSysApiEncrypt())) {
                 //解密
                 try {
                     //AES加密后的数据
@@ -129,7 +132,7 @@ public class CaptchaFilterConfig implements Filter {
                 String dataString = "{\"code\":\"400\",\"msg\":\"验证码错误\"}";
 
                 //判断api加密开关是否开启
-                if ("Y".equals(SysSettingUtil.getSysSetting().getSysApiEncrypt())) {
+                if ("Y".equals(redisSettingMap.getSysSettingMap().getSysApiEncrypt())) {
                     //加密
                     try {
                         mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);

+ 7 - 5
src/main/java/com/td/boss/config/security/LoginFailureHandlerConfig.java

@@ -1,13 +1,11 @@
 package com.td.boss.config.security;
 
-import com.td.boss.util.AesUtil;
-import com.td.boss.util.ErrorUtil;
-import com.td.boss.util.RsaUtil;
-import com.td.boss.util.SysSettingUtil;
+import com.td.boss.util.*;
 import com.fasterxml.jackson.databind.DeserializationFeature;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.codec.binary.Base64;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.core.AuthenticationException;
 import org.springframework.security.web.authentication.AuthenticationFailureHandler;
 import org.springframework.stereotype.Component;
@@ -24,12 +22,16 @@ import java.text.SimpleDateFormat;
 @Component
 @Slf4j
 public class LoginFailureHandlerConfig implements AuthenticationFailureHandler {
+
+    @Autowired
+    private RedisSettingMap redisSettingMap;
+
     @Override
     public void onAuthenticationFailure(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, AuthenticationException e) throws IOException {
         String msg = "{\"code\":\"400\",\"msg\":\"用户名或密码错误\"}";
 
         //判断api加密开关是否开启
-        if("Y".equals(SysSettingUtil.getSysSetting().getSysApiEncrypt())){
+        if("Y".equals(redisSettingMap.getSysSettingMap().getSysApiEncrypt())){
             //加密
             try {
                 //前端公钥

+ 4 - 1
src/main/java/com/td/boss/config/security/LoginSuccessHandlerConfig.java

@@ -47,6 +47,9 @@ public class LoginSuccessHandlerConfig implements AuthenticationSuccessHandler {
     @Autowired
     private DataSource dataSource;
 
+    @Autowired
+    private RedisSettingMap redisSettingMap;
+
     @Override
     public void onAuthenticationSuccess(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Authentication authentication) throws IOException, ServletException {
         //从全局注册表中获取所有登陆用户,做用户单登陆判断
@@ -104,7 +107,7 @@ public class LoginSuccessHandlerConfig implements AuthenticationSuccessHandler {
         }
 
         //判断api加密开关是否开启
-        if("Y".equals(SysSettingUtil.getSysSetting().getSysApiEncrypt())) {
+        if("Y".equals(redisSettingMap.getSysSettingMap().getSysApiEncrypt())) {
             //加密
             try {
                 //前端公钥

+ 4 - 1
src/main/java/com/td/boss/filter/gameFilter.java

@@ -38,6 +38,9 @@ public class gameFilter implements Filter {
     @Autowired
     private StringRedisTemplate redisTemplate;
 
+    @Autowired
+    private RedisSettingMap redisSettingMap;
+
     @Override
     public void init(FilterConfig filterConfig) throws ServletException {
     }
@@ -77,7 +80,7 @@ public class gameFilter implements Filter {
             log.info("ipAddr:"+ipAddr);
             //IpVo ipVo = IpUtil.getIpVoByRequest(req);
             //log.info("ip2Addr:"+ ipVo.toString());
-            String limitedIp = SysSettingLimitUtil.getSysSettingLimit().getLimitedIp();
+            String limitedIp = redisSettingMap.getSysSettingLimitMap().getLimitedIp();
             if (StringUtils.hasText(limitedIp) && !Arrays.asList(limitedIp.split(",")).contains(ipAddr)) {
                 response.setCharacterEncoding("UTF-8");
                 response.setContentType("application/json; charset=utf-8");

+ 4 - 2
src/main/java/com/td/boss/game/complayergoods/controller/ComPlayerGoodsController.java

@@ -96,6 +96,8 @@ public class ComPlayerGoodsController extends CommonController<ComPlayerGoodsVo,
     //配置信息
     @Autowired
     private ComSettingService comSettingService;
+    @Autowired
+    private RedisSettingMap redisSettingMap;
 
     @Autowired
     private ComPlayerDogService comPlayerDogService;
@@ -263,7 +265,7 @@ public class ComPlayerGoodsController extends CommonController<ComPlayerGoodsVo,
             isWithered = diff * -1 / CultivateKeys.dayLong > witheredDay;
         }
         //获取数据库相关配置
-        ComSettingVo comSettingVo = comSettingService.get("1").getData();
+        ComSettingVo comSettingVo = redisSettingMap.getComSettingMap();//comSettingService.get("1").getData();
         if (comSettingVo.equals(null)) {
             return Result.of(null, false, ResultEnum.SETTING_IS_NULL.getMessage(), ResultEnum.SETTING_IS_NULL.getCode());
         }
@@ -519,7 +521,7 @@ public class ComPlayerGoodsController extends CommonController<ComPlayerGoodsVo,
         }
 
         //获取数据库相关配置
-        ComSettingVo comSettingVo = comSettingService.get("1").getData();
+        ComSettingVo comSettingVo = redisSettingMap.getComSettingMap();//comSettingService.get("1").getData();
         if (comSettingVo.equals(null)) {
             return Result.of(null, false, ResultEnum.SETTING_IS_NULL.getMessage(), ResultEnum.SETTING_IS_NULL.getCode());
         }

+ 4 - 1
src/main/java/com/td/boss/game/complayersattri/controller/ComPlayersAttriController.java

@@ -12,6 +12,7 @@ import com.td.boss.game.comsetting.vo.ComSettingVo;
 import com.td.boss.util.CopyUtil;
 import com.td.boss.util.DappUtil;
 import com.td.boss.util.DateUtil;
+import com.td.boss.util.RedisSettingMap;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
@@ -26,6 +27,8 @@ public class ComPlayersAttriController extends CommonController<ComPlayersAttriV
 
     @Autowired
     private ComSettingService comSettingService;
+    @Autowired
+    private RedisSettingMap redisSettingMap;
     /**
      * 获取玩家属性
      *
@@ -35,7 +38,7 @@ public class ComPlayersAttriController extends CommonController<ComPlayersAttriV
     @GetMapping("getPlayerAttribute")
     public Result<ComPlayersAttriSimpleVo> getPlayerAttributeFunction(@RequestParam(value = "userId") String userId) {
         //获取数据库相关配置
-        ComSettingVo comSettingVo = comSettingService.get("1").getData();
+        ComSettingVo comSettingVo = redisSettingMap.getComSettingMap();//comSettingService.get("1").getData();
         if (comSettingVo.equals(null)) {
             return Result.of(null, false, ResultEnum.SETTING_IS_NULL.getMessage(), ResultEnum.SETTING_IS_NULL.getCode());
         }

+ 4 - 2
src/main/java/com/td/boss/game/comsetting/controller/ComSettingController.java

@@ -6,6 +6,7 @@ import com.td.boss.config.enums.ResultEnum;
 import com.td.boss.game.comsetting.pojo.ComSetting;
 import com.td.boss.game.comsetting.vo.ComSettingVo;
 import com.td.boss.game.comsetting.service.ComSettingService;
+import com.td.boss.util.RedisSettingMap;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
@@ -14,7 +15,8 @@ import org.springframework.web.bind.annotation.*;
 public class ComSettingController extends CommonController<ComSettingVo, ComSetting, String> {
     @Autowired
     private ComSettingService comSettingService;
-
+    @Autowired
+    private RedisSettingMap redisSettingMap;
 
     /**
      * 获取游戏设置
@@ -25,7 +27,7 @@ public class ComSettingController extends CommonController<ComSettingVo, ComSett
     @GetMapping("getGameSetting")
     public Result<ComSettingVo> getGameSettingFunction(@RequestParam(value = "userId") String userId) {
         //获取数据库相关配置
-        ComSettingVo comSettingVo = comSettingService.get("1").getData();
+        ComSettingVo comSettingVo = redisSettingMap.getComSettingMap();//comSettingService.get("1").getData();
         if (comSettingVo.equals(null)) {
             return Result.of(null, false, ResultEnum.SETTING_IS_NULL.getMessage(), ResultEnum.SETTING_IS_NULL.getCode());
         }

+ 7 - 4
src/main/java/com/td/boss/game/comsnbapply/scheduled/BackService.java

@@ -33,6 +33,9 @@ public class BackService {
     @Autowired
     private ComSnbApplyService comSnbApplyService;
 
+    @Autowired
+    private RedisSettingMap redisSettingMap;
+
     @Autowired
     private RedisLock redisLock;
 
@@ -45,7 +48,7 @@ public class BackService {
     public void scheduleTask() {
         //log.info("task running....");
         //todo 处理是否自动审查
-        if ("N".equals(SysSettingTaskUtil.getSysSettingTask().getApplyAutoExamine())) {
+        if ("N".equals(redisSettingMap.getSysSettingTaskMap().getApplyAutoExamine())) {
             return;
         }
         long time = System.currentTimeMillis() + RedisData.getAutoApplyTimeout();
@@ -61,9 +64,9 @@ public class BackService {
         //log.info("审查任务数量:{}个", comSnbApplyVos.size());
         for (ComSnbApplyVo comSnbApplyVo : comSnbApplyVos) {
             //1.snb 在[max,min]区间,才能过审 2.如果申请次数不超过限制次数,则过审
-            if (comSnbApplyVo.getSnb() <= SysSettingTaskUtil.getSysSettingTask().getConditionSnbMax()
-                    && comSnbApplyVo.getSnb() >= SysSettingTaskUtil.getSysSettingTask().getConditionSnbMin()
-                    && comSnbApplyVo.getCount() <= SysSettingTaskUtil.getSysSettingTask().getApplyCount()
+            if (comSnbApplyVo.getSnb() <= redisSettingMap.getSysSettingTaskMap().getConditionSnbMax()
+                    && comSnbApplyVo.getSnb() >= redisSettingMap.getSysSettingTaskMap().getConditionSnbMin()
+                    && comSnbApplyVo.getCount() <= redisSettingMap.getSysSettingTaskMap().getApplyCount()
             ) {
                 //全部给通过
                 comSnbApplyVo.setIsState(1);

+ 5 - 2
src/main/java/com/td/boss/game/comusers/controller/ComUsersController.java

@@ -70,6 +70,9 @@ public class ComUsersController extends CommonController<ComUsersVo, ComUsers, S
     @Autowired
     private ComPlayerLogService comPlayerLogService;
 
+    @Autowired
+    private RedisSettingMap redisSettingMap;
+
     /**
      * 接口需要token放行
      *
@@ -90,7 +93,7 @@ public class ComUsersController extends CommonController<ComUsersVo, ComUsers, S
         //todo 正常流程下,需要获取验证登录过的信息来处理token,这里暂时走测试信息流程
         String userId;
         //系统信息
-        SysSettingVo sys = SysSettingUtil.getSysSetting();
+        SysSettingVo sys = redisSettingMap.getSysSettingMap();
         //后端公钥
         String publicKey = RsaUtil.getPublicKey();
         //final String token = jwtTokenUtil.generateToken(userId);
@@ -288,7 +291,7 @@ public class ComUsersController extends CommonController<ComUsersVo, ComUsers, S
 
 
             //获取一个配置
-            ComSettingVo comSettingVo = comSettingService.get("1").getData();
+            ComSettingVo comSettingVo = redisSettingMap.getComSettingMap(); //comSettingService.get("1").getData();
             if (comSettingVo.equals(null)) {
                 return Result.of(null, false, ResultEnum.SETTING_IS_NULL.getMessage(), ResultEnum.SETTING_IS_NULL.getCode());
             }

+ 7 - 3
src/main/java/com/td/boss/sys/sysGame/controller/sysGamePropertyController.java

@@ -43,6 +43,7 @@ import com.td.boss.game.comusers.service.ComUsersService;
 import com.td.boss.game.comusers.vo.ComUsersVo;
 import com.td.boss.sys.sysGame.vo.SysApplySNBToCNTVo;
 import com.td.boss.util.CopyUtil;
+import com.td.boss.util.RedisSettingMap;
 import com.td.boss.util.SysSettingTaskUtil;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -91,6 +92,9 @@ public class sysGamePropertyController extends CommonController<ComUsersVo, ComU
     @Autowired
     private ComConfigService comConfigService;
 
+    @Autowired
+    private RedisSettingMap redisSettingMap;
+
 
     @GetMapping("CNTAndSNB")
     public ModelAndView CNTAndSNB() {
@@ -282,7 +286,7 @@ public class sysGamePropertyController extends CommonController<ComUsersVo, ComU
     @GetMapping("applySnbToCntView")
     public ModelAndView usersApplySnbToCnt() {
         ModelAndView modelAndView = new ModelAndView("sys/aComApplySNBToCNT/applySNBToCNT", "sysSettingTask",
-                SysSettingTaskUtil.getSysSettingTask());
+                redisSettingMap.getSysSettingTaskMap());
         modelAndView.getModelMap().addAttribute("applyState", 0);
         return modelAndView;
     }
@@ -359,8 +363,8 @@ public class sysGamePropertyController extends CommonController<ComUsersVo, ComU
      */
     @GetMapping("gameConfig")
     public ModelAndView gameConfig() {
-        ComSettingVo comSettingVo = comSettingService.get("1").getData();
-        return new ModelAndView("sys/aComConfig/gameConfig", "gameConfig", comSettingVo);
+        //ComSettingVo comSettingVo =  comSettingService.get("1").getData();
+        return new ModelAndView("sys/aComConfig/gameConfig", "gameConfig", redisSettingMap.getComSettingMap());
     }
 
 

+ 5 - 1
src/main/java/com/td/boss/sys/syssetting/controller/SysSettingController.java

@@ -4,6 +4,7 @@ import com.td.boss.common.controller.CommonController;
 import com.td.boss.sys.syssetting.pojo.SysSetting;
 import com.td.boss.sys.syssetting.service.SysSettingService;
 import com.td.boss.sys.syssetting.vo.SysSettingVo;
+import com.td.boss.util.RedisSettingMap;
 import com.td.boss.util.SysSettingUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.GetMapping;
@@ -17,8 +18,11 @@ public class SysSettingController extends CommonController<SysSettingVo, SysSett
     @Autowired
     private SysSettingService sysSettingService;
 
+    @Autowired
+    private RedisSettingMap redisSettingMap;
+
     @GetMapping("setting")
     public ModelAndView setting() {
-        return new ModelAndView("sys/setting/setting", "sys", SysSettingUtil.getSysSetting());
+        return new ModelAndView("sys/setting/setting", "sys", redisSettingMap.getSysSettingMap());
     }
 }

+ 5 - 3
src/main/java/com/td/boss/sys/syssetting/service/SysSettingServiceImpl.java

@@ -5,6 +5,7 @@ import com.td.boss.common.service.CommonServiceImpl;
 import com.td.boss.sys.syssetting.pojo.SysSetting;
 import com.td.boss.sys.syssetting.repository.SysSettingRepository;
 import com.td.boss.sys.syssetting.vo.SysSettingVo;
+import com.td.boss.util.RedisSettingMap;
 import com.td.boss.util.SysSettingUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -21,15 +22,16 @@ public class SysSettingServiceImpl extends CommonServiceImpl<SysSettingVo, SysSe
     private EntityManager em;
     @Autowired
     private SysSettingRepository sysSettingRepository;
-
+    @Autowired
+    private RedisSettingMap redisSettingMap;
     @Override
     public Result<SysSettingVo> save(SysSettingVo entityVo) {
         //调用父类
         Result<SysSettingVo> result = super.save(entityVo);
 
         //更新系统设置时同步更新公用静态集合sysSettingMap
-        SysSettingUtil.setSysSettingMap(result.getData());
-
+        //SysSettingUtil.setSysSettingMap(result.getData());
+        redisSettingMap.setSysSettingMap(result.getData());
         return result;
     }
 }

+ 5 - 2
src/main/java/com/td/boss/sys/syssettinglimit/service/SysSettingLimitServiceImpl.java

@@ -5,6 +5,7 @@ import com.td.boss.common.service.*;
 import com.td.boss.sys.syssettinglimit.pojo.SysSettingLimit;
 import com.td.boss.sys.syssettinglimit.vo.SysSettingLimitVo;
 import com.td.boss.sys.syssettinglimit.repository.SysSettingLimitRepository;
+import com.td.boss.util.RedisSettingMap;
 import com.td.boss.util.SysSettingLimitUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -21,14 +22,16 @@ public class SysSettingLimitServiceImpl extends CommonServiceImpl<SysSettingLimi
     @Autowired
     private SysSettingLimitRepository sysSettingLimitRepository;
 
+    @Autowired
+    private RedisSettingMap redisSettingMap;
     @Override
     public Result<SysSettingLimitVo> save(SysSettingLimitVo entityVo) {
         //调用父类
         Result<SysSettingLimitVo> result = super.save(entityVo);
 
         //更新系统设置时同步更新公用静态集合sysSettingTaskMap
-        SysSettingLimitUtil.setSysSettingLimitMap(result.getData());
-
+        //SysSettingLimitUtil.setSysSettingLimitMap(result.getData());
+        redisSettingMap.setSysSettingLimitMap(result.getData());
         return result;
     }
 }

+ 5 - 3
src/main/java/com/td/boss/sys/syssettingtask/service/SysSettingTaskServiceImpl.java

@@ -6,6 +6,7 @@ import com.td.boss.sys.syssetting.vo.SysSettingVo;
 import com.td.boss.sys.syssettingtask.pojo.SysSettingTask;
 import com.td.boss.sys.syssettingtask.vo.SysSettingTaskVo;
 import com.td.boss.sys.syssettingtask.repository.SysSettingTaskRepository;
+import com.td.boss.util.RedisSettingMap;
 import com.td.boss.util.SysSettingTaskUtil;
 import com.td.boss.util.SysSettingUtil;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -22,15 +23,16 @@ public class SysSettingTaskServiceImpl extends CommonServiceImpl<SysSettingTaskV
     private EntityManager em;
     @Autowired
     private SysSettingTaskRepository sysSettingTaskRepository;
-
+    @Autowired
+    private RedisSettingMap redisSettingMap;
     @Override
     public Result<SysSettingTaskVo> save(SysSettingTaskVo entityVo) {
         //调用父类
         Result<SysSettingTaskVo> result = super.save(entityVo);
 
         //更新系统设置时同步更新公用静态集合sysSettingTaskMap
-         SysSettingTaskUtil.setSysSettingTaskMap(result.getData());
-
+        // SysSettingTaskUtil.setSysSettingTaskMap(result.getData());
+        redisSettingMap.setSysSettingTaskMap(result.getData());
         return result;
     }
 }

+ 5 - 1
src/main/java/com/td/boss/sys/sysuser/controller/SysUserController.java

@@ -9,6 +9,7 @@ import com.td.boss.sys.syssetting.service.SysSettingService;
 import com.td.boss.sys.sysuser.pojo.SysUser;
 import com.td.boss.sys.sysuser.service.SysUserService;
 import com.td.boss.sys.sysuser.vo.SysUserVo;
+import com.td.boss.util.RedisSettingMap;
 import com.td.boss.util.SysSettingUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.core.session.SessionInformation;
@@ -32,9 +33,12 @@ public class SysUserController extends CommonController<SysUserVo, SysUser, Stri
     @Autowired
     private SysSettingService sysSettingService;
 
+    @Autowired
+    private RedisSettingMap redisSettingMap;
+
     @GetMapping("user")
     public ModelAndView user(){
-        return new ModelAndView("sys/user/user","initPassword", SysSettingUtil.getSysSetting().getUserInitPassword());
+        return new ModelAndView("sys/user/user","initPassword", redisSettingMap.getSysSettingMap().getUserInitPassword());
     }
 
     @PostMapping("resetPassword")

+ 6 - 6
src/main/java/com/td/boss/sys/sysuser/service/SysUserServiceImpl.java

@@ -12,10 +12,7 @@ import com.td.boss.sys.sysuser.vo.SysUserVo;
 import com.td.boss.sys.sysuserauthority.service.SysUserAuthorityService;
 import com.td.boss.sys.sysusermenu.service.SysUserMenuService;
 import com.td.boss.sys.sysusermenu.vo.SysUserMenuVo;
-import com.td.boss.util.CopyUtil;
-import com.td.boss.util.MD5Util;
-import com.td.boss.util.SqlUtil;
-import com.td.boss.util.SysSettingUtil;
+import com.td.boss.util.*;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.context.annotation.Bean;
 import org.springframework.data.domain.PageRequest;
@@ -55,6 +52,9 @@ public class SysUserServiceImpl extends CommonServiceImpl<SysUserVo, SysUser, St
     @Autowired
     private DataSource dataSource;
 
+    @Autowired
+    private RedisSettingMap redisSettingMap;
+
     @Override
     public Result<String> delete(String id) {
         //删除权限关联表、菜单关联表、个性菜单关联表
@@ -108,7 +108,7 @@ public class SysUserServiceImpl extends CommonServiceImpl<SysUserVo, SysUser, St
             }
 
             //需要设置初始密码
-            entityVo.setPassword(MD5Util.getMD5(SysSettingUtil.getSysSetting().getUserInitPassword()));
+            entityVo.setPassword(MD5Util.getMD5(redisSettingMap.getSysSettingMap().getUserInitPassword()));
         }
         return super.save(entityVo);
     }
@@ -120,7 +120,7 @@ public class SysUserServiceImpl extends CommonServiceImpl<SysUserVo, SysUser, St
     public Result<SysUserVo> resetPassword(String userId) {
         SysUserVo entityVo = new SysUserVo();
         entityVo.setUserId(userId);
-        entityVo.setPassword(MD5Util.getMD5(SysSettingUtil.getSysSetting().getUserInitPassword()));
+        entityVo.setPassword(MD5Util.getMD5(redisSettingMap.getSysSettingMap().getUserInitPassword()));
         Result<SysUserVo> result = super.save(entityVo);
         result.getData().setPassword(null);
         return result;

+ 137 - 0
src/main/java/com/td/boss/util/RedisSettingMap.java

@@ -0,0 +1,137 @@
+package com.td.boss.util;
+
+import cn.hutool.core.util.StrUtil;
+import cn.hutool.json.JSONUtil;
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.TypeReference;
+import com.td.boss.common.pojo.ComConfig;
+import com.td.boss.game.comsetting.service.ComSettingService;
+import com.td.boss.game.comsetting.vo.ComSettingVo;
+import com.td.boss.sys.syssetting.service.SysSettingService;
+import com.td.boss.sys.syssetting.vo.SysSettingVo;
+import com.td.boss.sys.syssettinglimit.service.SysSettingLimitService;
+import com.td.boss.sys.syssettinglimit.vo.SysSettingLimitVo;
+import com.td.boss.sys.syssettingtask.service.SysSettingTaskService;
+import com.td.boss.sys.syssettingtask.vo.SysSettingTaskVo;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.redis.core.StringRedisTemplate;
+import org.springframework.stereotype.Component;
+
+/**
+ *
+ * 存储对应的配置
+ * @author:slambb
+ * @date:2022/4/19
+ */
+
+@Component
+public class RedisSettingMap {
+    @Autowired
+    private StringRedisTemplate redisTemplate;
+
+    @Autowired
+    private SysSettingService sysSettingService;
+
+    @Autowired
+    private SysSettingTaskService sysSettingTaskService;
+
+    @Autowired
+    private SysSettingLimitService sysSettingLimitService;
+
+    @Autowired
+    private ComSettingService comSettingService;
+
+    //系统设置key
+    private String sysSettingKey = "data:sys:setting";
+    //update 一次redis数据
+    public void updateSysSettingMap(){
+        SysSettingVo sysSettingVo = sysSettingService.get("1").getData();
+        redisTemplate.opsForValue().set(sysSettingKey, JSONUtil.toJsonStr(sysSettingVo));
+    }
+    //从redis 获取系统设置 sysSettingMap
+    public SysSettingVo getSysSettingMap(){
+        SysSettingVo sysSettingVo;
+        if (redisTemplate.hasKey(sysSettingKey)) {
+            sysSettingVo = JSON.parseObject(redisTemplate.opsForValue().get(sysSettingKey),new TypeReference<SysSettingVo>(){});
+        } else {
+            sysSettingVo = sysSettingService.get("1").getData();
+            redisTemplate.opsForValue().set(sysSettingKey, JSONUtil.toJsonStr(sysSettingVo));
+        }
+        return sysSettingVo;
+    }
+    //redis 设置 sysSettingMap
+    public void setSysSettingMap(SysSettingVo sysSettingVo){
+        redisTemplate.opsForValue().set(sysSettingKey, JSONUtil.toJsonStr(sysSettingVo));
+    }
+    //系统任务key
+    private String sysSettingTaskKey = "data:sys:settingTask";
+    //update 一次redis数据
+    public void updateSysSettingTaskMap(){
+        SysSettingTaskVo sysSettingTaskVo = sysSettingTaskService.get("1").getData();
+        redisTemplate.opsForValue().set(sysSettingTaskKey, JSONUtil.toJsonStr(sysSettingTaskVo));
+    }
+    //从redis 获取系统设置 sysSettingTaskMap
+    public SysSettingTaskVo getSysSettingTaskMap(){
+        SysSettingTaskVo sysSettingTaskVo;
+        if (redisTemplate.hasKey(sysSettingTaskKey)) {
+            sysSettingTaskVo = JSON.parseObject(redisTemplate.opsForValue().get(sysSettingTaskKey),new TypeReference<SysSettingTaskVo>(){});
+        } else {
+            //系统启动时获取数据库数据,设置到公用静态集合sysSettingTaskMap
+            sysSettingTaskVo = sysSettingTaskService.get("1").getData();
+            redisTemplate.opsForValue().set(sysSettingTaskKey, JSONUtil.toJsonStr(sysSettingTaskVo));
+        }
+        return sysSettingTaskVo;
+    }
+    //设置SysSettingTask到Map
+    public void setSysSettingTaskMap(SysSettingTaskVo sysSettingTaskVo){
+        redisTemplate.opsForValue().set(sysSettingTaskKey, JSONUtil.toJsonStr(sysSettingTaskVo));
+    }
+
+    //限制登录ip key
+    private String sysSettingLimitKey = "data:sys:settingLimit";
+    //update 一次redis数据
+    public void updateSysSettingLimitMap(){
+        SysSettingLimitVo sysSettingLimitVo = sysSettingLimitService.get("1").getData();
+        redisTemplate.opsForValue().set(sysSettingLimitKey, JSONUtil.toJsonStr(sysSettingLimitVo));;
+    }
+    //从redis 获取系统设置 sysSettingLimitMap
+    public SysSettingLimitVo getSysSettingLimitMap(){
+        SysSettingLimitVo sysSettingLimitVo;
+        if (redisTemplate.hasKey(sysSettingLimitKey)) {
+            sysSettingLimitVo = JSON.parseObject(redisTemplate.opsForValue().get(sysSettingLimitKey),new TypeReference<SysSettingLimitVo>(){});
+        } else {
+            sysSettingLimitVo = sysSettingLimitService.get("1").getData();
+            redisTemplate.opsForValue().set(sysSettingLimitKey, JSONUtil.toJsonStr(sysSettingLimitVo));
+        }
+        return sysSettingLimitVo;
+    }
+    //设置SysSettingTask到Map
+    public void setSysSettingLimitMap(SysSettingLimitVo sysSettingLimitVo){
+        redisTemplate.opsForValue().set(sysSettingLimitKey, JSONUtil.toJsonStr(sysSettingLimitVo));
+    }
+
+
+
+    //游戏comSetting  key
+    private String comSettingKey = "data:com:setting";
+    //update 一次redis数据
+    public void updateComSettingMap(){
+        ComSettingVo comSettingVo = comSettingService.get("1").getData();
+        redisTemplate.opsForValue().set(comSettingKey, JSONUtil.toJsonStr(comSettingVo));
+    }
+    //从redis 获取系统设置 comSettingKey
+    public ComSettingVo getComSettingMap(){
+        ComSettingVo comSettingVo;
+        if (redisTemplate.hasKey(comSettingKey)) {
+            comSettingVo = JSON.parseObject(redisTemplate.opsForValue().get(comSettingKey),new TypeReference<ComSettingVo>(){});
+        } else {
+            comSettingVo = comSettingService.get("1").getData();
+            redisTemplate.opsForValue().set(comSettingKey, JSONUtil.toJsonStr(comSettingVo));
+        }
+        return comSettingVo;
+    }
+    //设置SysSettingTask到Map
+    public void setComSettingMap(ComSettingVo comSettingVo){
+        redisTemplate.opsForValue().set(comSettingKey, JSONUtil.toJsonStr(comSettingVo));
+    }
+}