Przeglądaj źródła

Merge remote-tracking branch 'origin/master'

zhangys36 4 lat temu
rodzic
commit
d4112e350e
32 zmienionych plików z 151 dodań i 245 usunięć
  1. 1 0
      railway-admin/src/main/java/com/railway/web/controller/common/CaptchaController.java
  2. 0 2
      railway-admin/src/main/java/com/railway/web/controller/common/CommonController.java
  3. 0 1
      railway-admin/src/main/java/com/railway/web/controller/system/SysConfigController.java
  4. 2 8
      railway-admin/src/main/java/com/railway/web/controller/system/SysDeptController.java
  5. 7 7
      railway-common/src/main/java/com/railway/common/core/redis/RedisCache.java
  6. 3 5
      railway-framework/src/main/java/com/railway/framework/aspectj/DataSourceAspect.java
  7. 2 2
      railway-framework/src/main/java/com/railway/framework/config/DruidConfig.java
  8. 3 6
      railway-framework/src/main/java/com/railway/framework/config/FastJson2JsonRedisSerializer.java
  9. 1 1
      railway-framework/src/main/java/com/railway/framework/config/FilterConfig.java
  10. 2 2
      railway-framework/src/main/java/com/railway/framework/config/KaptchaTextCreator.java
  11. 8 8
      railway-framework/src/main/java/com/railway/framework/config/MyBatisConfig.java
  12. 18 15
      railway-framework/src/main/java/com/railway/framework/config/SecurityConfig.java
  13. 8 8
      railway-framework/src/main/java/com/railway/framework/config/properties/DruidProperties.java
  14. 2 4
      railway-framework/src/main/java/com/railway/framework/datasource/DynamicDataSourceContextHolder.java
  15. 3 4
      railway-framework/src/main/java/com/railway/framework/interceptor/RepeatSubmitInterceptor.java
  16. 5 3
      railway-framework/src/main/java/com/railway/framework/security/filter/JwtAuthenticationTokenFilter.java
  17. 1 2
      railway-framework/src/main/java/com/railway/framework/security/handle/AuthenticationEntryPointImpl.java
  18. 6 7
      railway-framework/src/main/java/com/railway/framework/web/domain/Server.java
  19. 3 39
      railway-framework/src/main/java/com/railway/framework/web/domain/server/Sys.java
  20. 3 55
      railway-framework/src/main/java/com/railway/framework/web/domain/server/SysFile.java
  21. 0 2
      railway-framework/src/main/java/com/railway/framework/web/service/UserDetailsServiceImpl.java
  22. 2 0
      railway-system/src/main/java/com/railway/system/mapper/SysNoticeMapper.java
  23. 2 0
      railway-system/src/main/java/com/railway/system/mapper/SysOperLogMapper.java
  24. 17 19
      railway-system/src/main/java/com/railway/system/service/impl/SysDeptServiceImpl.java
  25. 5 4
      railway-system/src/main/java/com/railway/system/service/impl/SysDictDataServiceImpl.java
  26. 9 8
      railway-system/src/main/java/com/railway/system/service/impl/SysDictTypeServiceImpl.java
  27. 2 2
      railway-system/src/main/java/com/railway/system/service/impl/SysMenuServiceImpl.java
  28. 5 3
      railway-system/src/main/java/com/railway/system/service/impl/SysNoticeServiceImpl.java
  29. 5 3
      railway-system/src/main/java/com/railway/system/service/impl/SysOperLogServiceImpl.java
  30. 11 10
      railway-system/src/main/java/com/railway/system/service/impl/SysPostServiceImpl.java
  31. 7 7
      railway-system/src/main/java/com/railway/system/service/impl/SysRoleServiceImpl.java
  32. 8 8
      railway-system/src/main/java/com/railway/system/service/impl/SysUserServiceImpl.java

+ 1 - 0
railway-admin/src/main/java/com/railway/web/controller/common/CaptchaController.java

@@ -60,6 +60,7 @@ public class CaptchaController extends BaseController {
       }
       session.setAttribute(Constants.KAPTCHA_SESSION_KEY, code);
       out = response.getOutputStream();
+      assert image != null;
       ImageIO.write(image, "jpg", out);
       out.flush();
 

+ 0 - 2
railway-admin/src/main/java/com/railway/web/controller/common/CommonController.java

@@ -11,8 +11,6 @@ import java.util.ArrayList;
 import java.util.List;
 import javax.servlet.http.HttpServletResponse;
 import lombok.extern.slf4j.Slf4j;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 import org.springframework.http.MediaType;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PostMapping;

+ 0 - 1
railway-admin/src/main/java/com/railway/web/controller/system/SysConfigController.java

@@ -12,7 +12,6 @@ import com.railway.system.domain.SysConfig;
 import com.railway.system.service.ISysConfigService;
 import java.util.List;
 import org.springframework.security.access.prepost.PreAuthorize;
-import org.springframework.stereotype.Controller;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.DeleteMapping;
 import org.springframework.web.bind.annotation.GetMapping;

+ 2 - 8
railway-admin/src/main/java/com/railway/web/controller/system/SysDeptController.java

@@ -54,14 +54,8 @@ public class SysDeptController extends BaseController {
   @GetMapping("/list/exclude/{deptId}")
   public AjaxResult excludeChild(@PathVariable(value = "deptId", required = false) Long deptId) {
     List<SysDept> depts = deptService.selectDeptList(new SysDept());
-    Iterator<SysDept> it = depts.iterator();
-    while (it.hasNext()) {
-      SysDept d = (SysDept) it.next();
-      if (d.getDeptId().intValue() == deptId
-          || ArrayUtils.contains(StringUtils.split(d.getAncestors(), ","), deptId + "")) {
-        it.remove();
-      }
-    }
+    depts.removeIf(d -> d.getDeptId().intValue() == deptId
+        || ArrayUtils.contains(StringUtils.split(d.getAncestors(), ","), deptId + ""));
     return AjaxResult.success(depts);
   }
 

+ 7 - 7
railway-common/src/main/java/com/railway/common/core/redis/RedisCache.java

@@ -1,12 +1,10 @@
 package com.railway.common.core.redis;
 
 import java.util.Collection;
-import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
 import java.util.concurrent.TimeUnit;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.redis.core.BoundSetOperations;
 import org.springframework.data.redis.core.HashOperations;
 import org.springframework.data.redis.core.RedisTemplate;
@@ -22,8 +20,11 @@ import org.springframework.stereotype.Component;
 @Component
 public class RedisCache {
 
-  @Autowired
-  public RedisTemplate redisTemplate;
+  public final RedisTemplate redisTemplate;
+
+  public RedisCache(RedisTemplate redisTemplate) {
+    this.redisTemplate = redisTemplate;
+  }
 
   /**
    * 缓存基本的对象,Integer、String、实体类等
@@ -129,9 +130,8 @@ public class RedisCache {
    */
   public <T> BoundSetOperations<String, T> setCacheSet(final String key, final Set<T> dataSet) {
     BoundSetOperations<String, T> setOperation = redisTemplate.boundSetOps(key);
-    Iterator<T> it = dataSet.iterator();
-    while (it.hasNext()) {
-      setOperation.add(it.next());
+    for (T t : dataSet) {
+      setOperation.add(t);
     }
     return setOperation;
   }

+ 3 - 5
railway-framework/src/main/java/com/railway/framework/aspectj/DataSourceAspect.java

@@ -1,19 +1,17 @@
 package com.railway.framework.aspectj;
 
+import com.railway.common.annotation.DataSource;
+import com.railway.common.utils.StringUtils;
+import com.railway.framework.datasource.DynamicDataSourceContextHolder;
 import java.util.Objects;
 import org.aspectj.lang.ProceedingJoinPoint;
 import org.aspectj.lang.annotation.Around;
 import org.aspectj.lang.annotation.Aspect;
 import org.aspectj.lang.annotation.Pointcut;
 import org.aspectj.lang.reflect.MethodSignature;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 import org.springframework.core.annotation.AnnotationUtils;
 import org.springframework.core.annotation.Order;
 import org.springframework.stereotype.Component;
-import com.railway.common.annotation.DataSource;
-import com.railway.framework.datasource.DynamicDataSourceContextHolder;
-import com.railway.common.utils.StringUtils;
 
 /**
  * 多数据源处理

+ 2 - 2
railway-framework/src/main/java/com/railway/framework/config/DruidConfig.java

@@ -68,7 +68,7 @@ public class DruidConfig {
     try {
       DataSource dataSource = SpringUtils.getBean(beanName);
       targetDataSources.put(sourceName, dataSource);
-    } catch (Exception e) {
+    } catch (Exception ignored) {
     }
   }
 
@@ -88,7 +88,7 @@ public class DruidConfig {
     // 创建filter进行过滤
     Filter filter = new Filter() {
       @Override
-      public void init(javax.servlet.FilterConfig filterConfig) throws ServletException {
+      public void init(javax.servlet.FilterConfig filterConfig) {
       }
 
       @Override

+ 3 - 6
railway-framework/src/main/java/com/railway/framework/config/FastJson2JsonRedisSerializer.java

@@ -7,6 +7,7 @@ import com.fasterxml.jackson.databind.JavaType;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.fasterxml.jackson.databind.type.TypeFactory;
 import java.nio.charset.Charset;
+import java.nio.charset.StandardCharsets;
 import org.springframework.data.redis.serializer.RedisSerializer;
 import org.springframework.data.redis.serializer.SerializationException;
 import org.springframework.util.Assert;
@@ -18,12 +19,9 @@ import org.springframework.util.Assert;
  */
 public class FastJson2JsonRedisSerializer<T> implements RedisSerializer<T> {
 
-  @SuppressWarnings("unused")
-  private ObjectMapper objectMapper = new ObjectMapper();
+  public static final Charset DEFAULT_CHARSET = StandardCharsets.UTF_8;
 
-  public static final Charset DEFAULT_CHARSET = Charset.forName("UTF-8");
-
-  private Class<T> clazz;
+  private final Class<T> clazz;
 
   static {
     ParserConfig.getGlobalInstance().setAutoTypeSupport(true);
@@ -54,7 +52,6 @@ public class FastJson2JsonRedisSerializer<T> implements RedisSerializer<T> {
 
   public void setObjectMapper(ObjectMapper objectMapper) {
     Assert.notNull(objectMapper, "'objectMapper' must not be null");
-    this.objectMapper = objectMapper;
   }
 
   protected JavaType getJavaType(Class<?> clazz) {

+ 1 - 1
railway-framework/src/main/java/com/railway/framework/config/FilterConfig.java

@@ -35,7 +35,7 @@ public class FilterConfig {
     registration.addUrlPatterns(StringUtils.split(urlPatterns, ","));
     registration.setName("xssFilter");
     registration.setOrder(FilterRegistrationBean.HIGHEST_PRECEDENCE);
-    Map<String, String> initParameters = new HashMap<String, String>();
+    Map<String, String> initParameters = new HashMap<>();
     initParameters.put("excludes", excludes);
     registration.setInitParameters(initParameters);
     return registration;

+ 2 - 2
railway-framework/src/main/java/com/railway/framework/config/KaptchaTextCreator.java

@@ -15,7 +15,7 @@ public class KaptchaTextCreator extends DefaultTextCreator {
 
   @Override
   public String getText() {
-    Integer result = 0;
+    int result;
     Random random = new SecureRandom();
     int x = random.nextInt(10);
     int y = random.nextInt(10);
@@ -56,7 +56,7 @@ public class KaptchaTextCreator extends DefaultTextCreator {
       suChinese.append("+");
       suChinese.append(CNUMBERS[y]);
     }
-    suChinese.append("=?@" + result);
+    suChinese.append("=?@").append(result);
     return suChinese.toString();
   }
 }

+ 8 - 8
railway-framework/src/main/java/com/railway/framework/config/MyBatisConfig.java

@@ -38,18 +38,18 @@ public class MyBatisConfig {
   static final String DEFAULT_RESOURCE_PATTERN = "**/*.class";
 
   public static String setTypeAliasesPackage(String typeAliasesPackage) {
-    ResourcePatternResolver resolver = (ResourcePatternResolver) new PathMatchingResourcePatternResolver();
+    ResourcePatternResolver resolver = new PathMatchingResourcePatternResolver();
     MetadataReaderFactory metadataReaderFactory = new CachingMetadataReaderFactory(resolver);
-    List<String> allResult = new ArrayList<String>();
+    List<String> allResult = new ArrayList<>();
     try {
       for (String aliasesPackage : typeAliasesPackage.split(",")) {
-        List<String> result = new ArrayList<String>();
+        List<String> result = new ArrayList<>();
         aliasesPackage = ResourcePatternResolver.CLASSPATH_ALL_URL_PREFIX
             + ClassUtils.convertClassNameToResourcePath(aliasesPackage.trim()) + "/"
             + DEFAULT_RESOURCE_PATTERN;
         Resource[] resources = resolver.getResources(aliasesPackage);
         if (resources != null && resources.length > 0) {
-          MetadataReader metadataReader = null;
+          MetadataReader metadataReader;
           for (Resource resource : resources) {
             if (resource.isReadable()) {
               metadataReader = metadataReaderFactory.getMetadataReader(resource);
@@ -64,12 +64,12 @@ public class MyBatisConfig {
           }
         }
         if (result.size() > 0) {
-          HashSet<String> hashResult = new HashSet<String>(result);
+          HashSet<String> hashResult = new HashSet<>(result);
           allResult.addAll(hashResult);
         }
       }
       if (allResult.size() > 0) {
-        typeAliasesPackage = String.join(",", (String[]) allResult.toArray(new String[0]));
+        typeAliasesPackage = String.join(",", allResult.toArray(new String[0]));
       } else {
         throw new RuntimeException(
             "mybatis typeAliasesPackage 路径扫描错误,参数typeAliasesPackage:" + typeAliasesPackage
@@ -83,7 +83,7 @@ public class MyBatisConfig {
 
   public Resource[] resolveMapperLocations(String[] mapperLocations) {
     ResourcePatternResolver resourceResolver = new PathMatchingResourcePatternResolver();
-    List<Resource> resources = new ArrayList<Resource>();
+    List<Resource> resources = new ArrayList<>();
     if (mapperLocations != null) {
       for (String mapperLocation : mapperLocations) {
         try {
@@ -94,7 +94,7 @@ public class MyBatisConfig {
         }
       }
     }
-    return resources.toArray(new Resource[resources.size()]);
+    return resources.toArray(new Resource[0]);
   }
 
   @Bean

+ 18 - 15
railway-framework/src/main/java/com/railway/framework/config/SecurityConfig.java

@@ -3,7 +3,6 @@ package com.railway.framework.config;
 import com.railway.framework.security.filter.JwtAuthenticationTokenFilter;
 import com.railway.framework.security.handle.AuthenticationEntryPointImpl;
 import com.railway.framework.security.handle.LogoutSuccessHandlerImpl;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.context.annotation.Bean;
 import org.springframework.http.HttpMethod;
 import org.springframework.security.authentication.AuthenticationManager;
@@ -29,32 +28,36 @@ public class SecurityConfig extends WebSecurityConfigurerAdapter {
   /**
    * 自定义用户认证逻辑
    */
-  @Autowired
-  private UserDetailsService userDetailsService;
-
+  private final UserDetailsService userDetailsService;
   /**
    * 认证失败处理类
    */
-  @Autowired
-  private AuthenticationEntryPointImpl unauthorizedHandler;
-
+  private final AuthenticationEntryPointImpl unauthorizedHandler;
   /**
    * 退出处理类
    */
-  @Autowired
-  private LogoutSuccessHandlerImpl logoutSuccessHandler;
-
+  private final LogoutSuccessHandlerImpl logoutSuccessHandler;
   /**
    * token认证过滤器
    */
-  @Autowired
-  private JwtAuthenticationTokenFilter authenticationTokenFilter;
-
+  private final JwtAuthenticationTokenFilter authenticationTokenFilter;
   /**
    * 跨域过滤器
    */
-  @Autowired
-  private CorsFilter corsFilter;
+  private final CorsFilter corsFilter;
+
+  public SecurityConfig(
+      UserDetailsService userDetailsService,
+      AuthenticationEntryPointImpl unauthorizedHandler,
+      LogoutSuccessHandlerImpl logoutSuccessHandler,
+      JwtAuthenticationTokenFilter authenticationTokenFilter,
+      CorsFilter corsFilter) {
+    this.userDetailsService = userDetailsService;
+    this.unauthorizedHandler = unauthorizedHandler;
+    this.logoutSuccessHandler = logoutSuccessHandler;
+    this.authenticationTokenFilter = authenticationTokenFilter;
+    this.corsFilter = corsFilter;
+  }
 
   /**
    * 解决 无法直接注入 AuthenticationManager

+ 8 - 8
railway-framework/src/main/java/com/railway/framework/config/properties/DruidProperties.java

@@ -46,30 +46,30 @@ public class DruidProperties {
   private boolean testOnReturn;
 
   public DruidDataSource dataSource(DruidDataSource datasource) {
-    /** 配置初始化大小、最小、最大 */
+    /* 配置初始化大小、最小、最大 */
     datasource.setInitialSize(initialSize);
     datasource.setMaxActive(maxActive);
     datasource.setMinIdle(minIdle);
 
-    /** 配置获取连接等待超时的时间 */
+    /* 配置获取连接等待超时的时间 */
     datasource.setMaxWait(maxWait);
 
-    /** 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 */
+    /* 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 */
     datasource.setTimeBetweenEvictionRunsMillis(timeBetweenEvictionRunsMillis);
 
-    /** 配置一个连接在池中最小、最大生存的时间,单位是毫秒 */
+    /* 配置一个连接在池中最小、最大生存的时间,单位是毫秒 */
     datasource.setMinEvictableIdleTimeMillis(minEvictableIdleTimeMillis);
     datasource.setMaxEvictableIdleTimeMillis(maxEvictableIdleTimeMillis);
 
-    /**
+    /*
      * 用来检测连接是否有效的sql,要求是一个查询语句,常用select 'x'。如果validationQuery为null,testOnBorrow、testOnReturn、testWhileIdle都不会起作用。
      */
     datasource.setValidationQuery(validationQuery);
-    /** 建议配置为true,不影响性能,并且保证安全性。申请连接的时候检测,如果空闲时间大于timeBetweenEvictionRunsMillis,执行validationQuery检测连接是否有效。 */
+    /* 建议配置为true,不影响性能,并且保证安全性。申请连接的时候检测,如果空闲时间大于timeBetweenEvictionRunsMillis,执行validationQuery检测连接是否有效。 */
     datasource.setTestWhileIdle(testWhileIdle);
-    /** 申请连接时执行validationQuery检测连接是否有效,做了这个配置会降低性能。 */
+    /* 申请连接时执行validationQuery检测连接是否有效,做了这个配置会降低性能。 */
     datasource.setTestOnBorrow(testOnBorrow);
-    /** 归还连接时执行validationQuery检测连接是否有效,做了这个配置会降低性能。 */
+    /* 归还连接时执行validationQuery检测连接是否有效,做了这个配置会降低性能。 */
     datasource.setTestOnReturn(testOnReturn);
     return datasource;
   }

+ 2 - 4
railway-framework/src/main/java/com/railway/framework/datasource/DynamicDataSourceContextHolder.java

@@ -1,17 +1,15 @@
 package com.railway.framework.datasource;
 
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import lombok.extern.slf4j.Slf4j;
 
 /**
  * 数据源切换处理
  *
  * @author railway
  */
+@Slf4j
 public class DynamicDataSourceContextHolder {
 
-  public static final Logger log = LoggerFactory.getLogger(DynamicDataSourceContextHolder.class);
-
   /**
    * 使用ThreadLocal维护变量,ThreadLocal为每个使用该变量的线程提供独立的变量副本, 所以每一个线程都可以独立地改变自己的副本,而不会影响其它线程所对应的副本。
    */

+ 3 - 4
railway-framework/src/main/java/com/railway/framework/interceptor/RepeatSubmitInterceptor.java

@@ -1,16 +1,15 @@
 package com.railway.framework.interceptor;
 
-import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
+import com.railway.common.annotation.RepeatSubmit;
+import com.railway.common.core.domain.AjaxResult;
+import com.railway.common.utils.ServletUtils;
 import java.lang.reflect.Method;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import org.springframework.stereotype.Component;
 import org.springframework.web.method.HandlerMethod;
 import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
-import com.railway.common.annotation.RepeatSubmit;
-import com.railway.common.core.domain.AjaxResult;
-import com.railway.common.utils.ServletUtils;
 
 /**
  * 防止重复提交拦截器

+ 5 - 3
railway-framework/src/main/java/com/railway/framework/security/filter/JwtAuthenticationTokenFilter.java

@@ -9,7 +9,6 @@ import javax.servlet.FilterChain;
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
 import org.springframework.security.core.context.SecurityContextHolder;
 import org.springframework.security.web.authentication.WebAuthenticationDetailsSource;
@@ -24,8 +23,11 @@ import org.springframework.web.filter.OncePerRequestFilter;
 @Component
 public class JwtAuthenticationTokenFilter extends OncePerRequestFilter {
 
-  @Autowired
-  private TokenService tokenService;
+  private final TokenService tokenService;
+
+  public JwtAuthenticationTokenFilter(TokenService tokenService) {
+    this.tokenService = tokenService;
+  }
 
   @Override
   protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response,

+ 1 - 2
railway-framework/src/main/java/com/railway/framework/security/handle/AuthenticationEntryPointImpl.java

@@ -25,8 +25,7 @@ public class AuthenticationEntryPointImpl implements AuthenticationEntryPoint, S
 
   @Override
   public void commence(HttpServletRequest request, HttpServletResponse response,
-      AuthenticationException e)
-      throws IOException {
+      AuthenticationException e) {
     int code = HttpStatus.UNAUTHORIZED;
     String msg = StringUtils.format("请求访问:{},认证失败,无法访问系统资源", request.getRequestURI());
     ServletUtils.renderString(response, JSON.toJSONString(AjaxResult.error(code, msg)));

+ 6 - 7
railway-framework/src/main/java/com/railway/framework/web/domain/Server.java

@@ -1,9 +1,5 @@
 package com.railway.framework.web.domain;
 
-import java.net.UnknownHostException;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Properties;
 import com.railway.common.utils.Arith;
 import com.railway.common.utils.ip.IpUtils;
 import com.railway.framework.web.domain.server.Cpu;
@@ -11,6 +7,9 @@ import com.railway.framework.web.domain.server.Jvm;
 import com.railway.framework.web.domain.server.Mem;
 import com.railway.framework.web.domain.server.Sys;
 import com.railway.framework.web.domain.server.SysFile;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Properties;
 import oshi.SystemInfo;
 import oshi.hardware.CentralProcessor;
 import oshi.hardware.CentralProcessor.TickType;
@@ -53,7 +52,7 @@ public class Server {
   /**
    * 磁盘相关信息
    */
-  private List<SysFile> sysFiles = new LinkedList<SysFile>();
+  private List<SysFile> sysFiles = new LinkedList<>();
 
   public Cpu getCpu() {
     return cpu;
@@ -95,7 +94,7 @@ public class Server {
     this.sysFiles = sysFiles;
   }
 
-  public void copyTo() throws Exception {
+  public void copyTo() {
     SystemInfo si = new SystemInfo();
     HardwareAbstractionLayer hal = si.getHardware();
 
@@ -159,7 +158,7 @@ public class Server {
   /**
    * 设置Java虚拟机
    */
-  private void setJvmInfo() throws UnknownHostException {
+  private void setJvmInfo() {
     Properties props = System.getProperties();
     jvm.setTotal(Runtime.getRuntime().totalMemory());
     jvm.setMax(Runtime.getRuntime().maxMemory());

+ 3 - 39
railway-framework/src/main/java/com/railway/framework/web/domain/server/Sys.java

@@ -1,10 +1,13 @@
 package com.railway.framework.web.domain.server;
 
+import lombok.Data;
+
 /**
  * 系统相关信息
  *
  * @author railway
  */
+@Data
 public class Sys {
 
   /**
@@ -32,43 +35,4 @@ public class Sys {
    */
   private String osArch;
 
-  public String getComputerName() {
-    return computerName;
-  }
-
-  public void setComputerName(String computerName) {
-    this.computerName = computerName;
-  }
-
-  public String getComputerIp() {
-    return computerIp;
-  }
-
-  public void setComputerIp(String computerIp) {
-    this.computerIp = computerIp;
-  }
-
-  public String getUserDir() {
-    return userDir;
-  }
-
-  public void setUserDir(String userDir) {
-    this.userDir = userDir;
-  }
-
-  public String getOsName() {
-    return osName;
-  }
-
-  public void setOsName(String osName) {
-    this.osName = osName;
-  }
-
-  public String getOsArch() {
-    return osArch;
-  }
-
-  public void setOsArch(String osArch) {
-    this.osArch = osArch;
-  }
 }

+ 3 - 55
railway-framework/src/main/java/com/railway/framework/web/domain/server/SysFile.java

@@ -1,10 +1,13 @@
 package com.railway.framework.web.domain.server;
 
+import lombok.Data;
+
 /**
  * 系统文件相关信息
  *
  * @author railway
  */
+@Data
 public class SysFile {
 
   /**
@@ -42,59 +45,4 @@ public class SysFile {
    */
   private double usage;
 
-  public String getDirName() {
-    return dirName;
-  }
-
-  public void setDirName(String dirName) {
-    this.dirName = dirName;
-  }
-
-  public String getSysTypeName() {
-    return sysTypeName;
-  }
-
-  public void setSysTypeName(String sysTypeName) {
-    this.sysTypeName = sysTypeName;
-  }
-
-  public String getTypeName() {
-    return typeName;
-  }
-
-  public void setTypeName(String typeName) {
-    this.typeName = typeName;
-  }
-
-  public String getTotal() {
-    return total;
-  }
-
-  public void setTotal(String total) {
-    this.total = total;
-  }
-
-  public String getFree() {
-    return free;
-  }
-
-  public void setFree(String free) {
-    this.free = free;
-  }
-
-  public String getUsed() {
-    return used;
-  }
-
-  public void setUsed(String used) {
-    this.used = used;
-  }
-
-  public double getUsage() {
-    return usage;
-  }
-
-  public void setUsage(double usage) {
-    this.usage = usage;
-  }
 }

+ 0 - 2
railway-framework/src/main/java/com/railway/framework/web/service/UserDetailsServiceImpl.java

@@ -7,8 +7,6 @@ import com.railway.common.exception.ServiceException;
 import com.railway.common.utils.StringUtils;
 import com.railway.system.service.ISysUserService;
 import lombok.extern.slf4j.Slf4j;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 import org.springframework.security.core.userdetails.UserDetails;
 import org.springframework.security.core.userdetails.UserDetailsService;
 import org.springframework.security.core.userdetails.UsernameNotFoundException;

+ 2 - 0
railway-system/src/main/java/com/railway/system/mapper/SysNoticeMapper.java

@@ -2,12 +2,14 @@ package com.railway.system.mapper;
 
 import com.railway.system.domain.SysNotice;
 import java.util.List;
+import org.springframework.stereotype.Repository;
 
 /**
  * 通知公告表 数据层
  *
  * @author railway
  */
+@Repository
 public interface SysNoticeMapper {
 
   /**

+ 2 - 0
railway-system/src/main/java/com/railway/system/mapper/SysOperLogMapper.java

@@ -2,12 +2,14 @@ package com.railway.system.mapper;
 
 import com.railway.system.domain.SysOperLog;
 import java.util.List;
+import org.springframework.stereotype.Repository;
 
 /**
  * 操作日志 数据层
  *
  * @author railway
  */
+@Repository
 public interface SysOperLogMapper {
 
   /**

+ 17 - 19
railway-system/src/main/java/com/railway/system/service/impl/SysDeptServiceImpl.java

@@ -15,10 +15,8 @@ import com.railway.system.mapper.SysDeptMapper;
 import com.railway.system.mapper.SysRoleMapper;
 import com.railway.system.service.ISysDeptService;
 import java.util.ArrayList;
-import java.util.Iterator;
 import java.util.List;
 import java.util.stream.Collectors;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 /**
@@ -29,11 +27,14 @@ import org.springframework.stereotype.Service;
 @Service
 public class SysDeptServiceImpl implements ISysDeptService {
 
-  @Autowired
-  private SysDeptMapper deptMapper;
+  private final SysDeptMapper deptMapper;
+  private final SysRoleMapper roleMapper;
 
-  @Autowired
-  private SysRoleMapper roleMapper;
+  public SysDeptServiceImpl(SysDeptMapper deptMapper,
+      SysRoleMapper roleMapper) {
+    this.deptMapper = deptMapper;
+    this.roleMapper = roleMapper;
+  }
 
   /**
    * 查询部门管理数据
@@ -55,13 +56,12 @@ public class SysDeptServiceImpl implements ISysDeptService {
    */
   @Override
   public List<SysDept> buildDeptTree(List<SysDept> depts) {
-    List<SysDept> returnList = new ArrayList<SysDept>();
-    List<Long> tempList = new ArrayList<Long>();
+    List<SysDept> returnList = new ArrayList<>();
+    List<Long> tempList = new ArrayList<>();
     for (SysDept dept : depts) {
       tempList.add(dept.getDeptId());
     }
-    for (Iterator<SysDept> iterator = depts.iterator(); iterator.hasNext(); ) {
-      SysDept dept = (SysDept) iterator.next();
+    for (SysDept dept : depts) {
       // 如果是顶级节点, 遍历该父节点的所有子节点
       if (!tempList.contains(dept.getParentId())) {
         recursionFn(depts, dept);
@@ -129,7 +129,7 @@ public class SysDeptServiceImpl implements ISysDeptService {
   @Override
   public boolean hasChildByDeptId(Long deptId) {
     int result = deptMapper.hasChildByDeptId(deptId);
-    return result > 0 ? true : false;
+    return result > 0;
   }
 
   /**
@@ -141,7 +141,7 @@ public class SysDeptServiceImpl implements ISysDeptService {
   @Override
   public boolean checkDeptExistUser(Long deptId) {
     int result = deptMapper.checkDeptExistUser(deptId);
-    return result > 0 ? true : false;
+    return result > 0;
   }
 
   /**
@@ -152,9 +152,9 @@ public class SysDeptServiceImpl implements ISysDeptService {
    */
   @Override
   public String checkDeptNameUnique(SysDept dept) {
-    Long deptId = StringUtils.isNull(dept.getDeptId()) ? -1L : dept.getDeptId();
+    long deptId = StringUtils.isNull(dept.getDeptId()) ? -1L : dept.getDeptId();
     SysDept info = deptMapper.checkDeptNameUnique(dept.getDeptName(), dept.getParentId());
-    if (StringUtils.isNotNull(info) && info.getDeptId().longValue() != deptId.longValue()) {
+    if (StringUtils.isNotNull(info) && info.getDeptId() != deptId) {
       return UserConstants.NOT_UNIQUE;
     }
     return UserConstants.UNIQUE;
@@ -277,10 +277,8 @@ public class SysDeptServiceImpl implements ISysDeptService {
    * 得到子节点列表
    */
   private List<SysDept> getChildList(List<SysDept> list, SysDept t) {
-    List<SysDept> tlist = new ArrayList<SysDept>();
-    Iterator<SysDept> it = list.iterator();
-    while (it.hasNext()) {
-      SysDept n = (SysDept) it.next();
+    List<SysDept> tlist = new ArrayList<>();
+    for (SysDept n : list) {
       if (StringUtils.isNotNull(n.getParentId()) && n.getParentId().longValue() == t.getDeptId()
           .longValue()) {
         tlist.add(n);
@@ -293,6 +291,6 @@ public class SysDeptServiceImpl implements ISysDeptService {
    * 判断是否有子节点
    */
   private boolean hasChild(List<SysDept> list, SysDept t) {
-    return getChildList(list, t).size() > 0 ? true : false;
+    return getChildList(list, t).size() > 0;
   }
 }

+ 5 - 4
railway-system/src/main/java/com/railway/system/service/impl/SysDictDataServiceImpl.java

@@ -5,7 +5,6 @@ import com.railway.common.utils.DictUtils;
 import com.railway.system.mapper.SysDictDataMapper;
 import com.railway.system.service.ISysDictDataService;
 import java.util.List;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 /**
@@ -16,8 +15,11 @@ import org.springframework.stereotype.Service;
 @Service
 public class SysDictDataServiceImpl implements ISysDictDataService {
 
-  @Autowired
-  private SysDictDataMapper dictDataMapper;
+  private final SysDictDataMapper dictDataMapper;
+
+  public SysDictDataServiceImpl(SysDictDataMapper dictDataMapper) {
+    this.dictDataMapper = dictDataMapper;
+  }
 
   /**
    * 根据条件分页查询字典数据
@@ -57,7 +59,6 @@ public class SysDictDataServiceImpl implements ISysDictDataService {
    * 批量删除字典数据信息
    *
    * @param dictCodes 需要删除的字典数据ID
-   * @return 结果
    */
   @Override
   public void deleteDictDataByIds(Long[] dictCodes) {

+ 9 - 8
railway-system/src/main/java/com/railway/system/service/impl/SysDictTypeServiceImpl.java

@@ -11,7 +11,6 @@ import com.railway.system.mapper.SysDictTypeMapper;
 import com.railway.system.service.ISysDictTypeService;
 import java.util.List;
 import javax.annotation.PostConstruct;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
@@ -23,11 +22,14 @@ import org.springframework.transaction.annotation.Transactional;
 @Service
 public class SysDictTypeServiceImpl implements ISysDictTypeService {
 
-  @Autowired
-  private SysDictTypeMapper dictTypeMapper;
+  private final SysDictTypeMapper dictTypeMapper;
+  private final SysDictDataMapper dictDataMapper;
 
-  @Autowired
-  private SysDictDataMapper dictDataMapper;
+  public SysDictTypeServiceImpl(SysDictTypeMapper dictTypeMapper,
+      SysDictDataMapper dictDataMapper) {
+    this.dictTypeMapper = dictTypeMapper;
+    this.dictDataMapper = dictDataMapper;
+  }
 
   /**
    * 项目启动时,初始化字典到缓存
@@ -104,7 +106,6 @@ public class SysDictTypeServiceImpl implements ISysDictTypeService {
    * 批量删除字典类型信息
    *
    * @param dictIds 需要删除的字典ID
-   * @return 结果
    */
   @Override
   public void deleteDictTypeByIds(Long[] dictIds) {
@@ -189,9 +190,9 @@ public class SysDictTypeServiceImpl implements ISysDictTypeService {
    */
   @Override
   public String checkDictTypeUnique(SysDictType dict) {
-    Long dictId = StringUtils.isNull(dict.getDictId()) ? -1L : dict.getDictId();
+    long dictId = StringUtils.isNull(dict.getDictId()) ? -1L : dict.getDictId();
     SysDictType dictType = dictTypeMapper.checkDictTypeUnique(dict.getDictType());
-    if (StringUtils.isNotNull(dictType) && dictType.getDictId().longValue() != dictId.longValue()) {
+    if (StringUtils.isNotNull(dictType) && dictType.getDictId() != dictId) {
       return UserConstants.NOT_UNIQUE;
     }
     return UserConstants.UNIQUE;

+ 2 - 2
railway-system/src/main/java/com/railway/system/service/impl/SysMenuServiceImpl.java

@@ -289,9 +289,9 @@ public class SysMenuServiceImpl implements ISysMenuService {
    */
   @Override
   public String checkMenuNameUnique(SysMenu menu) {
-    Long menuId = StringUtils.isNull(menu.getMenuId()) ? -1L : menu.getMenuId();
+    long menuId = StringUtils.isNull(menu.getMenuId()) ? -1L : menu.getMenuId();
     SysMenu info = menuMapper.checkMenuNameUnique(menu.getMenuName(), menu.getParentId());
-    if (StringUtils.isNotNull(info) && info.getMenuId().longValue() != menuId.longValue()) {
+    if (StringUtils.isNotNull(info) && info.getMenuId() != menuId) {
       return UserConstants.NOT_UNIQUE;
     }
     return UserConstants.UNIQUE;

+ 5 - 3
railway-system/src/main/java/com/railway/system/service/impl/SysNoticeServiceImpl.java

@@ -4,7 +4,6 @@ import com.railway.system.domain.SysNotice;
 import com.railway.system.mapper.SysNoticeMapper;
 import com.railway.system.service.ISysNoticeService;
 import java.util.List;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 /**
@@ -15,8 +14,11 @@ import org.springframework.stereotype.Service;
 @Service
 public class SysNoticeServiceImpl implements ISysNoticeService {
 
-  @Autowired
-  private SysNoticeMapper noticeMapper;
+  private final SysNoticeMapper noticeMapper;
+
+  public SysNoticeServiceImpl(SysNoticeMapper noticeMapper) {
+    this.noticeMapper = noticeMapper;
+  }
 
   /**
    * 查询公告信息

+ 5 - 3
railway-system/src/main/java/com/railway/system/service/impl/SysOperLogServiceImpl.java

@@ -4,7 +4,6 @@ import com.railway.system.domain.SysOperLog;
 import com.railway.system.mapper.SysOperLogMapper;
 import com.railway.system.service.ISysOperLogService;
 import java.util.List;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 /**
@@ -15,8 +14,11 @@ import org.springframework.stereotype.Service;
 @Service
 public class SysOperLogServiceImpl implements ISysOperLogService {
 
-  @Autowired
-  private SysOperLogMapper operLogMapper;
+  private final SysOperLogMapper operLogMapper;
+
+  public SysOperLogServiceImpl(SysOperLogMapper operLogMapper) {
+    this.operLogMapper = operLogMapper;
+  }
 
   /**
    * 新增操作日志

+ 11 - 10
railway-system/src/main/java/com/railway/system/service/impl/SysPostServiceImpl.java

@@ -8,7 +8,6 @@ import com.railway.system.mapper.SysPostMapper;
 import com.railway.system.mapper.SysUserPostMapper;
 import com.railway.system.service.ISysPostService;
 import java.util.List;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 /**
@@ -19,11 +18,14 @@ import org.springframework.stereotype.Service;
 @Service
 public class SysPostServiceImpl implements ISysPostService {
 
-  @Autowired
-  private SysPostMapper postMapper;
+  private final SysPostMapper postMapper;
+  private final SysUserPostMapper userPostMapper;
 
-  @Autowired
-  private SysUserPostMapper userPostMapper;
+  public SysPostServiceImpl(SysPostMapper postMapper,
+      SysUserPostMapper userPostMapper) {
+    this.postMapper = postMapper;
+    this.userPostMapper = userPostMapper;
+  }
 
   /**
    * 查询岗位信息集合
@@ -76,9 +78,9 @@ public class SysPostServiceImpl implements ISysPostService {
    */
   @Override
   public String checkPostNameUnique(SysPost post) {
-    Long postId = StringUtils.isNull(post.getPostId()) ? -1L : post.getPostId();
+    long postId = StringUtils.isNull(post.getPostId()) ? -1L : post.getPostId();
     SysPost info = postMapper.checkPostNameUnique(post.getPostName());
-    if (StringUtils.isNotNull(info) && info.getPostId().longValue() != postId.longValue()) {
+    if (StringUtils.isNotNull(info) && info.getPostId() != postId) {
       return UserConstants.NOT_UNIQUE;
     }
     return UserConstants.UNIQUE;
@@ -92,9 +94,9 @@ public class SysPostServiceImpl implements ISysPostService {
    */
   @Override
   public String checkPostCodeUnique(SysPost post) {
-    Long postId = StringUtils.isNull(post.getPostId()) ? -1L : post.getPostId();
+    long postId = StringUtils.isNull(post.getPostId()) ? -1L : post.getPostId();
     SysPost info = postMapper.checkPostCodeUnique(post.getPostCode());
-    if (StringUtils.isNotNull(info) && info.getPostId().longValue() != postId.longValue()) {
+    if (StringUtils.isNotNull(info) && info.getPostId() != postId) {
       return UserConstants.NOT_UNIQUE;
     }
     return UserConstants.UNIQUE;
@@ -127,7 +129,6 @@ public class SysPostServiceImpl implements ISysPostService {
    *
    * @param postIds 需要删除的岗位ID
    * @return 结果
-   * @throws Exception 异常
    */
   @Override
   public int deletePostByIds(Long[] postIds) {

+ 7 - 7
railway-system/src/main/java/com/railway/system/service/impl/SysRoleServiceImpl.java

@@ -137,9 +137,9 @@ public class SysRoleServiceImpl implements ISysRoleService {
    */
   @Override
   public String checkRoleNameUnique(SysRole role) {
-    Long roleId = StringUtils.isNull(role.getRoleId()) ? -1L : role.getRoleId();
+    long roleId = StringUtils.isNull(role.getRoleId()) ? -1L : role.getRoleId();
     SysRole info = roleMapper.checkRoleNameUnique(role.getRoleName());
-    if (StringUtils.isNotNull(info) && info.getRoleId().longValue() != roleId.longValue()) {
+    if (StringUtils.isNotNull(info) && info.getRoleId() != roleId) {
       return UserConstants.NOT_UNIQUE;
     }
     return UserConstants.UNIQUE;
@@ -153,9 +153,9 @@ public class SysRoleServiceImpl implements ISysRoleService {
    */
   @Override
   public String checkRoleKeyUnique(SysRole role) {
-    Long roleId = StringUtils.isNull(role.getRoleId()) ? -1L : role.getRoleId();
+    long roleId = StringUtils.isNull(role.getRoleId()) ? -1L : role.getRoleId();
     SysRole info = roleMapper.checkRoleKeyUnique(role.getRoleKey());
-    if (StringUtils.isNotNull(info) && info.getRoleId().longValue() != roleId.longValue()) {
+    if (StringUtils.isNotNull(info) && info.getRoleId() != roleId) {
       return UserConstants.NOT_UNIQUE;
     }
     return UserConstants.UNIQUE;
@@ -222,7 +222,7 @@ public class SysRoleServiceImpl implements ISysRoleService {
    * @return 结果
    */
   @Override
-  @Transactional
+  @Transactional(rollbackFor = Exception.class)
   public int updateRole(SysRole role) {
     // 修改角色信息
     roleMapper.updateRole(role);
@@ -308,7 +308,7 @@ public class SysRoleServiceImpl implements ISysRoleService {
    * @return 结果
    */
   @Override
-  @Transactional
+  @Transactional(rollbackFor = Exception.class)
   public int deleteRoleById(Long roleId) {
     // 删除角色与菜单关联
     roleMenuMapper.deleteRoleMenuByRoleId(roleId);
@@ -324,7 +324,7 @@ public class SysRoleServiceImpl implements ISysRoleService {
    * @return 结果
    */
   @Override
-  @Transactional
+  @Transactional(rollbackFor = Exception.class)
   public int deleteRoleByIds(Long[] roleIds) {
     for (Long roleId : roleIds) {
       checkRoleAllowed(new SysRole(roleId));

+ 8 - 8
railway-system/src/main/java/com/railway/system/service/impl/SysUserServiceImpl.java

@@ -170,9 +170,9 @@ public class SysUserServiceImpl implements ISysUserService {
    */
   @Override
   public String checkPhoneUnique(SysUser user) {
-    Long userId = StringUtils.isNull(user.getUserId()) ? -1L : user.getUserId();
+    long userId = StringUtils.isNull(user.getUserId()) ? -1L : user.getUserId();
     SysUser info = userMapper.checkPhoneUnique(user.getPhonenumber());
-    if (StringUtils.isNotNull(info) && info.getUserId().longValue() != userId.longValue()) {
+    if (StringUtils.isNotNull(info) && info.getUserId() != userId) {
       return UserConstants.NOT_UNIQUE;
     }
     return UserConstants.UNIQUE;
@@ -185,9 +185,9 @@ public class SysUserServiceImpl implements ISysUserService {
    */
   @Override
   public String checkEmailUnique(SysUser user) {
-    Long userId = StringUtils.isNull(user.getUserId()) ? -1L : user.getUserId();
+    long userId = StringUtils.isNull(user.getUserId()) ? -1L : user.getUserId();
     SysUser info = userMapper.checkEmailUnique(user.getEmail());
-    if (StringUtils.isNotNull(info) && info.getUserId().longValue() != userId.longValue()) {
+    if (StringUtils.isNotNull(info) && info.getUserId() != userId) {
       return UserConstants.NOT_UNIQUE;
     }
     return UserConstants.UNIQUE;
@@ -395,15 +395,15 @@ public class SysUserServiceImpl implements ISysUserService {
   public void insertUserRole(Long userId, Long[] roleIds) {
     if (StringUtils.isNotNull(roleIds)) {
       // 新增用户与角色管理
-      List<SysUserRole> list = new ArrayList<>();
+      List<SysUserRole> userRoleList = new ArrayList<>(roleIds.length);
       for (Long roleId : roleIds) {
         SysUserRole ur = new SysUserRole();
         ur.setUserId(userId);
         ur.setRoleId(roleId);
-        list.add(ur);
+        userRoleList.add(ur);
       }
-      if (list.size() > 0) {
-        userRoleMapper.batchUserRole(list);
+      if (userRoleList.size() > 0) {
+        userRoleMapper.batchUserRole(userRoleList);
       }
     }
   }