From 15fdb9b2183a4c36b4036e419107fc4571507720 Mon Sep 17 00:00:00 2001
From: 疯狂的狮子li <15040126243@163.com>
Date: 星期二, 11 五月 2021 17:37:27 +0800
Subject: [PATCH] !32 版本更新 v1.0.1 Merge pull request !32 from 疯狂的狮子li/dev
---
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDeptServiceImpl.java | 2
ruoyi-admin/src/main/java/com/ruoyi/web/core/config/SwaggerConfig.java | 58 +++++++++-----
ruoyi-framework/src/main/java/com/ruoyi/framework/config/FeignConfig.java | 2
pom.xml | 2
ruoyi-admin/src/main/resources/application.yml | 26 ++++++
ruoyi-generator/src/main/java/com/ruoyi/generator/controller/GenController.java | 2
ruoyi-admin/src/main/resources/banner.txt | 10 ++
ruoyi-framework/src/main/java/com/ruoyi/framework/config/MybatisPlusConfig.java | 3
ruoyi-framework/src/main/java/com/ruoyi/framework/config/ApplicationConfig.java | 14 +--
ruoyi-admin/src/main/java/com/ruoyi/RuoYiApplication.java | 2
ruoyi-common/src/main/java/com/ruoyi/common/utils/file/MimeTypeUtils.java | 4 +
ruoyi-ui/package.json | 2
ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/SysOperlogController.java | 1
ruoyi-framework/src/main/java/com/ruoyi/framework/config/ThreadPoolConfig.java | 60 +++++++++-----
ruoyi-common/src/main/java/com/ruoyi/common/exception/file/InvalidExtensionException.java | 10 ++
ruoyi-common/src/main/java/com/ruoyi/common/utils/file/FileUploadUtils.java | 17 ++-
ruoyi-ui/src/assets/styles/element-ui.scss | 8 ++
17 files changed, 158 insertions(+), 65 deletions(-)
diff --git a/pom.xml b/pom.xml
index 43443e1..74ccf9d 100644
--- a/pom.xml
+++ b/pom.xml
@@ -13,7 +13,7 @@
<description>RuoYi-Vue-Plus鍚庡彴绠$悊绯荤粺</description>
<properties>
- <ruoyi-vue-plus.version>1.0.0</ruoyi-vue-plus.version>
+ <ruoyi-vue-plus.version>1.0.1</ruoyi-vue-plus.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/RuoYiApplication.java b/ruoyi-admin/src/main/java/com/ruoyi/RuoYiApplication.java
index 6be5918..5b55927 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/RuoYiApplication.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/RuoYiApplication.java
@@ -17,6 +17,6 @@
{
System.setProperty("spring.devtools.restart.enabled", "false");
SpringApplication.run(RuoYiApplication.class, args);
- System.out.println("(鈾モ棤鈥库棤)锞夛緸 鑻ヤ緷鍚姩鎴愬姛 醿�(麓凇`醿�)锞�");
+ System.out.println("(鈾モ棤鈥库棤)锞夛緸 RuoYi-Vue-Plus鍚姩鎴愬姛 醿�(麓凇`醿�)锞�");
}
}
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/SysOperlogController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/SysOperlogController.java
index 0332a14..1d7eb02 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/SysOperlogController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/SysOperlogController.java
@@ -48,6 +48,7 @@
return util.exportExcel(list, "鎿嶄綔鏃ュ織");
}
+ @Log(title = "鎿嶄綔鏃ュ織", businessType = BusinessType.DELETE)
@PreAuthorize("@ss.hasPermi('monitor:operlog:remove')")
@DeleteMapping("/{operIds}")
public AjaxResult remove(@PathVariable Long[] operIds)
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/core/config/SwaggerConfig.java b/ruoyi-admin/src/main/java/com/ruoyi/web/core/config/SwaggerConfig.java
index 9657081..8a1b74b 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/core/config/SwaggerConfig.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/core/config/SwaggerConfig.java
@@ -21,32 +21,54 @@
/**
* Swagger2鐨勬帴鍙i厤缃�
- *
- * @author ruoyi
+ *
+ * @author Lion Li
*/
@Configuration
@EnableSwagger2WebMvc
@EnableKnife4j
-public class SwaggerConfig
-{
- /** 绯荤粺鍩虹閰嶇疆 */
+public class SwaggerConfig {
+ /**
+ * 绯荤粺鍩虹閰嶇疆
+ */
@Autowired
private RuoYiConfig ruoyiConfig;
- /** 鏄惁寮�鍚痵wagger */
+ /**
+ * 鏄惁寮�鍚痵wagger
+ */
@Value("${swagger.enabled}")
private boolean enabled;
- /** 璁剧疆璇锋眰鐨勭粺涓�鍓嶇紑 */
+ /**
+ * 璁剧疆璇锋眰鐨勭粺涓�鍓嶇紑
+ */
@Value("${swagger.pathMapping}")
private String pathMapping;
+
+ /**
+ * 鏍囬
+ */
+ @Value("${swagger.title}")
+ private String title;
+
+ /**
+ * 鎻忚堪
+ */
+ @Value("${swagger.description}")
+ private String description;
+
+ /**
+ * 鐗堟湰
+ */
+ @Value("${swagger.version}")
+ private String version;
/**
* 鍒涘缓API
*/
@Bean
- public Docket createRestApi()
- {
+ public Docket createRestApi() {
return new Docket(DocumentationType.SWAGGER_2)
// 鏄惁鍚敤Swagger
.enable(enabled)
@@ -70,8 +92,7 @@
/**
* 瀹夊叏妯″紡锛岃繖閲屾寚瀹歵oken閫氳繃Authorization澶磋姹傚ご浼犻��
*/
- private List<ApiKey> securitySchemes()
- {
+ private List<ApiKey> securitySchemes() {
List<ApiKey> apiKeyList = new ArrayList<ApiKey>();
apiKeyList.add(new ApiKey("Authorization", "Authorization", "header"));
return apiKeyList;
@@ -80,8 +101,7 @@
/**
* 瀹夊叏涓婁笅鏂�
*/
- private List<SecurityContext> securityContexts()
- {
+ private List<SecurityContext> securityContexts() {
List<SecurityContext> securityContexts = new ArrayList<>();
securityContexts.add(
SecurityContext.builder()
@@ -94,8 +114,7 @@
/**
* 榛樿鐨勫畨鍏ㄤ笂寮曠敤
*/
- private List<SecurityReference> defaultAuth()
- {
+ private List<SecurityReference> defaultAuth() {
AuthorizationScope authorizationScope = new AuthorizationScope("global", "accessEverything");
AuthorizationScope[] authorizationScopes = new AuthorizationScope[1];
authorizationScopes[0] = authorizationScope;
@@ -107,18 +126,17 @@
/**
* 娣诲姞鎽樿淇℃伅
*/
- private ApiInfo apiInfo()
- {
+ private ApiInfo apiInfo() {
// 鐢ˋpiInfoBuilder杩涜瀹氬埗
return new ApiInfoBuilder()
// 璁剧疆鏍囬
- .title("鏍囬锛氳嫢渚濈鐞嗙郴缁焈鎺ュ彛鏂囨。")
+ .title(title)
// 鎻忚堪
- .description("鎻忚堪锛氱敤浜庣鐞嗛泦鍥㈡棗涓嬪叕鍙哥殑浜哄憳淇℃伅,鍏蜂綋鍖呮嫭XXX,XXX妯″潡...")
+ .description(description)
// 浣滆�呬俊鎭�
.contact(new Contact(ruoyiConfig.getName(), null, null))
// 鐗堟湰
- .version("鐗堟湰鍙�:" + ruoyiConfig.getVersion())
+ .version(version)
.build();
}
}
diff --git a/ruoyi-admin/src/main/resources/application.yml b/ruoyi-admin/src/main/resources/application.yml
index 44bc437..8500728 100644
--- a/ruoyi-admin/src/main/resources/application.yml
+++ b/ruoyi-admin/src/main/resources/application.yml
@@ -119,6 +119,7 @@
# MyBatis閰嶇疆
# https://baomidou.com/config/
mybatis-plus:
+ mapperPackage: com.ruoyi.**.mapper
# 瀵瑰簲鐨� XML 鏂囦欢浣嶇疆
mapperLocations: classpath*:mapper/**/*Mapper.xml
# 瀹炰綋鎵弿锛屽涓猵ackage鐢ㄩ�楀彿鎴栬�呭垎鍙峰垎闅�
@@ -217,6 +218,12 @@
enabled: true
# 璇锋眰鍓嶇紑
pathMapping: /dev-api
+ # 鏍囬
+ title: '鏍囬锛歊uoYi-Vue-Plus鍚庡彴绠$悊绯荤粺_鎺ュ彛鏂囨。'
+ # 鎻忚堪
+ description: '鎻忚堪锛氱敤浜庣鐞嗛泦鍥㈡棗涓嬪叕鍙哥殑浜哄憳淇℃伅,鍏蜂綋鍖呮嫭XXX,XXX妯″潡...'
+ # 鐗堟湰
+ version: '鐗堟湰鍙�: ${ruoyi-vue-plus.version}'
# 闃叉XSS鏀诲嚮
xss:
@@ -227,7 +234,26 @@
# 鍖归厤閾炬帴
urlPatterns: /system/*,/monitor/*,/tool/*
+threadPoolConfig:
+ # 鏄惁寮�鍚嚎绋嬫睜
+ enabled: false
+ # 鏍稿績绾跨▼姹犲ぇ灏�
+ corePoolSize: 8
+ # 鏈�澶у彲鍒涘缓鐨勭嚎绋嬫暟
+ maxPoolSize: 16
+ # 闃熷垪鏈�澶ч暱搴�
+ queueCapacity: 128
+ # 绾跨▼姹犵淮鎶ょ嚎绋嬫墍鍏佽鐨勭┖闂叉椂闂�
+ keepAliveSeconds: 300
+ # 绾跨▼姹犲鎷掔粷浠诲姟(鏃犵嚎绋嬪彲鐢�)鐨勫鐞嗙瓥鐣�
+ # CallerRunsPolicy 绛夊緟
+ # DiscardOldestPolicy 鏀惧純鏈�鏃х殑
+ # DiscardPolicy 涓㈠純
+ # AbortPolicy 涓
+ rejectedExecutionHandler: CallerRunsPolicy
+
feign:
+ package: com.ruoyi.**.feign
# 寮�鍚帇缂�
compression:
request:
diff --git a/ruoyi-admin/src/main/resources/banner.txt b/ruoyi-admin/src/main/resources/banner.txt
index fee1ce3..f592dbe 100644
--- a/ruoyi-admin/src/main/resources/banner.txt
+++ b/ruoyi-admin/src/main/resources/banner.txt
@@ -1,2 +1,8 @@
-Application Version: ${ruoyi.version}
-Spring Boot Version: ${spring-boot.version}
\ No newline at end of file
+Application Version: ${ruoyi-vue-plus.version}
+Spring Boot Version: ${spring-boot.version}
+__________ _____.___.__ ____ ____ __________.__
+\______ \__ __ ____\__ | |__| \ \ / /_ __ ____ \______ \ | __ __ ______
+ | _/ | \/ _ \/ | | | ______ \ Y / | \_/ __ \ ______ | ___/ | | | \/ ___/
+ | | \ | ( <_> )____ | | /_____/ \ /| | /\ ___/ /_____/ | | | |_| | /\___ \
+ |____|_ /____/ \____// ______|__| \___/ |____/ \___ > |____| |____/____//____ >
+ \/ \/ \/ \/
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/exception/file/InvalidExtensionException.java b/ruoyi-common/src/main/java/com/ruoyi/common/exception/file/InvalidExtensionException.java
index 8f63a79..f1c8e83 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/exception/file/InvalidExtensionException.java
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/exception/file/InvalidExtensionException.java
@@ -68,4 +68,14 @@
super(allowedExtension, extension, filename);
}
}
+
+ public static class InvalidVideoExtensionException extends InvalidExtensionException
+ {
+ private static final long serialVersionUID = 1L;
+
+ public InvalidVideoExtensionException(String[] allowedExtension, String extension, String filename)
+ {
+ super(allowedExtension, extension, filename);
+ }
+ }
}
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/file/FileUploadUtils.java b/ruoyi-common/src/main/java/com/ruoyi/common/utils/file/FileUploadUtils.java
index 672c023..cb4a225 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/utils/file/FileUploadUtils.java
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/utils/file/FileUploadUtils.java
@@ -133,15 +133,13 @@
{
File desc = new File(uploadDir + File.separator + fileName);
- if (!desc.getParentFile().exists())
+ if (!desc.exists())
{
- desc.getParentFile().mkdirs();
+ if (!desc.getParentFile().exists())
+ {
+ desc.getParentFile().mkdirs();
+ }
}
- // 瑙e喅undertow鏂囦欢涓婁紶bug,鍥犲簳灞傚疄鐜颁笉鍚�,鏃犻渶鍒涘缓鏂版枃浠�
-// if (!desc.exists())
-// {
-// desc.createNewFile();
-// }
return desc;
}
@@ -189,6 +187,11 @@
throw new InvalidExtensionException.InvalidMediaExtensionException(allowedExtension, extension,
fileName);
}
+ else if (allowedExtension == MimeTypeUtils.VIDEO_EXTENSION)
+ {
+ throw new InvalidExtensionException.InvalidVideoExtensionException(allowedExtension, extension,
+ fileName);
+ }
else
{
throw new InvalidExtensionException(allowedExtension, extension, fileName);
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/file/MimeTypeUtils.java b/ruoyi-common/src/main/java/com/ruoyi/common/utils/file/MimeTypeUtils.java
index 6984641..f968f1a 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/utils/file/MimeTypeUtils.java
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/utils/file/MimeTypeUtils.java
@@ -24,6 +24,8 @@
public static final String[] MEDIA_EXTENSION = { "swf", "flv", "mp3", "wav", "wma", "wmv", "mid", "avi", "mpg",
"asf", "rm", "rmvb" };
+ public static final String[] VIDEO_EXTENSION = { "mp4", "avi", "rmvb" };
+
public static final String[] DEFAULT_ALLOWED_EXTENSION = {
// 鍥剧墖
"bmp", "gif", "jpg", "jpeg", "png",
@@ -31,6 +33,8 @@
"doc", "docx", "xls", "xlsx", "ppt", "pptx", "html", "htm", "txt",
// 鍘嬬缉鏂囦欢
"rar", "zip", "gz", "bz2",
+ // 瑙嗛鏍煎紡
+ "mp4", "avi", "rmvb",
// pdf
"pdf" };
diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/ApplicationConfig.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/ApplicationConfig.java
index 1d4dc1f..183c364 100644
--- a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/ApplicationConfig.java
+++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/ApplicationConfig.java
@@ -1,30 +1,26 @@
package com.ruoyi.framework.config;
-import java.util.TimeZone;
-import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.autoconfigure.jackson.Jackson2ObjectMapperBuilderCustomizer;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.EnableAspectJAutoProxy;
+import java.util.TimeZone;
+
/**
* 绋嬪簭娉ㄨВ閰嶇疆
*
- * @author ruoyi
+ * @author Lion Li
*/
@Configuration
// 琛ㄧず閫氳繃aop妗嗘灦鏆撮湶璇ヤ唬鐞嗗璞�,AopContext鑳藉璁块棶
@EnableAspectJAutoProxy(exposeProxy = true)
-// 鎸囧畾瑕佹壂鎻忕殑Mapper绫荤殑鍖呯殑璺緞
-@MapperScan("com.ruoyi.**.mapper")
-public class ApplicationConfig
-{
+public class ApplicationConfig {
/**
* 鏃跺尯閰嶇疆
*/
@Bean
- public Jackson2ObjectMapperBuilderCustomizer jacksonObjectMapperCustomization()
- {
+ public Jackson2ObjectMapperBuilderCustomizer jacksonObjectMapperCustomization() {
return jacksonObjectMapperBuilder -> jacksonObjectMapperBuilder.timeZone(TimeZone.getDefault());
}
}
diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/FeignConfig.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/FeignConfig.java
index df09516..478a450 100644
--- a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/FeignConfig.java
+++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/FeignConfig.java
@@ -19,7 +19,7 @@
*
* @author Lion Li
*/
-@EnableFeignClients("com.ruoyi.**.feign")
+@EnableFeignClients("${feign.package}")
@Configuration
@ConditionalOnClass(Feign.class)
@AutoConfigureBefore(FeignAutoConfiguration.class)
diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/MybatisPlusConfig.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/MybatisPlusConfig.java
index 93a202c..bce2150 100644
--- a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/MybatisPlusConfig.java
+++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/MybatisPlusConfig.java
@@ -6,6 +6,7 @@
import com.baomidou.mybatisplus.extension.plugins.inner.OptimisticLockerInnerInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
import com.ruoyi.framework.mybatisplus.CreateAndUpdateMetaObjectHandler;
+import org.mybatis.spring.annotation.MapperScan;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.transaction.annotation.EnableTransactionManagement;
@@ -17,6 +18,8 @@
*/
@EnableTransactionManagement(proxyTargetClass = true)
@Configuration
+// 鎸囧畾瑕佹壂鎻忕殑Mapper绫荤殑鍖呯殑璺緞
+@MapperScan("${mybatis-plus.mapperPackage}")
public class MybatisPlusConfig {
@Bean
diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/ThreadPoolConfig.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/ThreadPoolConfig.java
index 0d67c22..30d5ef9 100644
--- a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/ThreadPoolConfig.java
+++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/ThreadPoolConfig.java
@@ -1,44 +1,65 @@
package com.ruoyi.framework.config;
-import java.util.concurrent.ScheduledExecutorService;
-import java.util.concurrent.ScheduledThreadPoolExecutor;
-import java.util.concurrent.ThreadPoolExecutor;
+import com.ruoyi.common.utils.Threads;
import org.apache.commons.lang3.concurrent.BasicThreadFactory;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
-import com.ruoyi.common.utils.Threads;
+
+import java.util.concurrent.RejectedExecutionHandler;
+import java.util.concurrent.ScheduledExecutorService;
+import java.util.concurrent.ScheduledThreadPoolExecutor;
+import java.util.concurrent.ThreadPoolExecutor;
/**
* 绾跨▼姹犻厤缃�
*
- * @author ruoyi
+ * @author Lion Li
**/
@Configuration
-public class ThreadPoolConfig
-{
+public class ThreadPoolConfig {
+
// 鏍稿績绾跨▼姹犲ぇ灏�
- private int corePoolSize = 50;
+ @Value("${threadPoolConfig.corePoolSize}")
+ private int corePoolSize;
// 鏈�澶у彲鍒涘缓鐨勭嚎绋嬫暟
- private int maxPoolSize = 200;
+ @Value("${threadPoolConfig.maxPoolSize}")
+ private int maxPoolSize;
// 闃熷垪鏈�澶ч暱搴�
- private int queueCapacity = 1000;
+ @Value("${threadPoolConfig.queueCapacity}")
+ private int queueCapacity;
// 绾跨▼姹犵淮鎶ょ嚎绋嬫墍鍏佽鐨勭┖闂叉椂闂�
- private int keepAliveSeconds = 300;
+ @Value("${threadPoolConfig.keepAliveSeconds}")
+ private int keepAliveSeconds;
+
+ // 绾跨▼姹犲鎷掔粷浠诲姟(鏃犵嚎绋嬪彲鐢�)鐨勫鐞嗙瓥鐣�
+ @Value("${threadPoolConfig.rejectedExecutionHandler}")
+ private String rejectedExecutionHandler;
@Bean(name = "threadPoolTaskExecutor")
- public ThreadPoolTaskExecutor threadPoolTaskExecutor()
- {
+ @ConditionalOnProperty(prefix = "threadPoolTaskExecutor", name = "enabled", havingValue = "true")
+ public ThreadPoolTaskExecutor threadPoolTaskExecutor() {
ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
executor.setMaxPoolSize(maxPoolSize);
executor.setCorePoolSize(corePoolSize);
executor.setQueueCapacity(queueCapacity);
executor.setKeepAliveSeconds(keepAliveSeconds);
- // 绾跨▼姹犲鎷掔粷浠诲姟(鏃犵嚎绋嬪彲鐢�)鐨勫鐞嗙瓥鐣�
- executor.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy());
+ RejectedExecutionHandler handler;
+ if (rejectedExecutionHandler.equals("CallerRunsPolicy")) {
+ handler = new ThreadPoolExecutor.CallerRunsPolicy();
+ } else if (rejectedExecutionHandler.equals("DiscardOldestPolicy")) {
+ handler = new ThreadPoolExecutor.DiscardOldestPolicy();
+ } else if (rejectedExecutionHandler.equals("DiscardPolicy")) {
+ handler = new ThreadPoolExecutor.DiscardPolicy();
+ } else {
+ handler = new ThreadPoolExecutor.AbortPolicy();
+ }
+ executor.setRejectedExecutionHandler(handler);
return executor;
}
@@ -46,14 +67,11 @@
* 鎵ц鍛ㄦ湡鎬ф垨瀹氭椂浠诲姟
*/
@Bean(name = "scheduledExecutorService")
- protected ScheduledExecutorService scheduledExecutorService()
- {
+ protected ScheduledExecutorService scheduledExecutorService() {
return new ScheduledThreadPoolExecutor(corePoolSize,
- new BasicThreadFactory.Builder().namingPattern("schedule-pool-%d").daemon(true).build())
- {
+ new BasicThreadFactory.Builder().namingPattern("schedule-pool-%d").daemon(true).build()) {
@Override
- protected void afterExecute(Runnable r, Throwable t)
- {
+ protected void afterExecute(Runnable r, Throwable t) {
super.afterExecute(r, t);
Threads.printException(r, t);
}
diff --git a/ruoyi-generator/src/main/java/com/ruoyi/generator/controller/GenController.java b/ruoyi-generator/src/main/java/com/ruoyi/generator/controller/GenController.java
index d6f2a43..72fea3b 100644
--- a/ruoyi-generator/src/main/java/com/ruoyi/generator/controller/GenController.java
+++ b/ruoyi-generator/src/main/java/com/ruoyi/generator/controller/GenController.java
@@ -101,7 +101,7 @@
/**
* 瀵煎叆琛ㄧ粨鏋勶紙淇濆瓨锛�
*/
- @PreAuthorize("@ss.hasPermi('tool:gen:list')")
+ @PreAuthorize("@ss.hasPermi('tool:gen:import')")
@Log(title = "浠g爜鐢熸垚", businessType = BusinessType.IMPORT)
@PostMapping("/importTable")
public AjaxResult importTableSave(String tables)
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDeptServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDeptServiceImpl.java
index f25a90d..65f8601 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDeptServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDeptServiceImpl.java
@@ -241,7 +241,7 @@
List<SysDept> children = list(new LambdaQueryWrapper<SysDept>()
.apply("find_in_set({0},ancestors)",deptId));
for (SysDept child : children) {
- child.setAncestors(child.getAncestors().replace(oldAncestors, newAncestors));
+ child.setAncestors(child.getAncestors().replaceFirst(oldAncestors, newAncestors));
}
if (children.size() > 0) {
updateBatchById(children);
diff --git a/ruoyi-ui/package.json b/ruoyi-ui/package.json
index a3765b6..58ee98d 100644
--- a/ruoyi-ui/package.json
+++ b/ruoyi-ui/package.json
@@ -1,6 +1,6 @@
{
"name": "ruoyi-vue-plus",
- "version": "1.0.0",
+ "version": "1.0.1",
"description": "RuoYi-Vue-Plus鍚庡彴绠$悊绯荤粺",
"author": "LionLi",
"license": "MIT",
diff --git a/ruoyi-ui/src/assets/styles/element-ui.scss b/ruoyi-ui/src/assets/styles/element-ui.scss
index 955d3ca..363092a 100644
--- a/ruoyi-ui/src/assets/styles/element-ui.scss
+++ b/ruoyi-ui/src/assets/styles/element-ui.scss
@@ -82,3 +82,11 @@
.el-range-separator {
box-sizing: content-box;
}
+
+.el-menu--collapse
+ > div
+ > .el-submenu
+ > .el-submenu__title
+ .el-submenu__icon-arrow {
+ display: none;
+}
\ No newline at end of file
--
Gitblit v1.9.3