diff --git a/eladmin-common/src/main/java/me/zhengjie/utils/FileUtil.java b/eladmin-common/src/main/java/me/zhengjie/utils/FileUtil.java index 10ccd712..bf23eff9 100644 --- a/eladmin-common/src/main/java/me/zhengjie/utils/FileUtil.java +++ b/eladmin-common/src/main/java/me/zhengjie/utils/FileUtil.java @@ -95,7 +95,7 @@ public class FileUtil extends cn.hutool.core.io.FileUtil { File file = null; try { // 用uuid作为文件名,防止生成的临时文件重复 - file = File.createTempFile(IdUtil.simpleUUID(), prefix); + file = new File(SYS_TEM_DIR + IdUtil.simpleUUID() + prefix); // MultipartFile to File multipartFile.transferTo(file); } catch (IOException e) { diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/quartz/utils/ExecutionJob.java b/eladmin-system/src/main/java/me/zhengjie/modules/quartz/utils/ExecutionJob.java index 798f9c35..8e261850 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/quartz/utils/ExecutionJob.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/quartz/utils/ExecutionJob.java @@ -42,7 +42,6 @@ import java.util.concurrent.*; * @date 2019-01-07 */ @Async -@SuppressWarnings({"unchecked","all"}) public class ExecutionJob extends QuartzJobBean { /** 该处仅供参考 */ @@ -108,8 +107,10 @@ public class ExecutionJob extends QuartzJobBean { if(quartzJob.getEmail() != null){ EmailService emailService = SpringContextHolder.getBean(EmailService.class); // 邮箱报警 - EmailVo emailVo = taskAlarm(quartzJob, ThrowableUtil.getStackTrace(e)); - emailService.send(emailVo, emailService.find()); + if(StringUtils.isNoneBlank(quartzJob.getEmail())){ + EmailVo emailVo = taskAlarm(quartzJob, ThrowableUtil.getStackTrace(e)); + emailService.send(emailVo, emailService.find()); + } } } finally { quartzLogRepository.save(log); diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/repository/UserRepository.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/repository/UserRepository.java index 99ea5afc..c5c88a8d 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/system/repository/UserRepository.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/repository/UserRepository.java @@ -81,12 +81,12 @@ public interface UserRepository extends JpaRepository, JpaSpecificat /** * 根据角色中的部门查询 - * @param id / + * @param deptId / * @return / */ @Query(value = "SELECT u.* FROM sys_user u, sys_users_roles r, sys_roles_depts d WHERE " + - "u.user_id = r.user_id AND r.role_id = d.role_id AND r.role_id = ?1 group by u.user_id", nativeQuery = true) - List findByDeptRoleId(Long id); + "u.user_id = r.user_id AND r.role_id = d.role_id AND d.dept_id = ?1 group by u.user_id", nativeQuery = true) + List findByRoleDeptId(Long deptId); /** * 根据菜单查询 diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/DeptServiceImpl.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/DeptServiceImpl.java index 12c13fed..8c7c331a 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/DeptServiceImpl.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/DeptServiceImpl.java @@ -273,7 +273,7 @@ public class DeptServiceImpl implements DeptService { * @param id / */ public void delCaches(Long id){ - List users = userRepository.findByDeptRoleId(id); + List users = userRepository.findByRoleDeptId(id); // 删除数据权限 redisUtils.delByKeys(CacheKey.DATA_USER, users.stream().map(User::getId).collect(Collectors.toSet())); redisUtils.del(CacheKey.DEPT_ID + id); diff --git a/eladmin-system/src/main/resources/config/application-dev.yml b/eladmin-system/src/main/resources/config/application-dev.yml index 65d5aa71..c8bf11f1 100644 --- a/eladmin-system/src/main/resources/config/application-dev.yml +++ b/eladmin-system/src/main/resources/config/application-dev.yml @@ -10,19 +10,26 @@ spring: # 初始连接数 initial-size: 5 # 最小连接数 - min-idle: 10 + min-idle: 15 # 最大连接数 - max-active: 20 + max-active: 30 + # 是否自动回收超时连接 + remove-abandoned: true + # 超时时间(以秒数为单位) + remove-abandoned-timeout: 180 # 获取连接超时时间 - max-wait: 5000 + max-wait: 3000 # 连接有效性检测时间 time-between-eviction-runs-millis: 60000 # 连接在池中最小生存的时间 min-evictable-idle-time-millis: 300000 # 连接在池中最大生存的时间 max-evictable-idle-time-millis: 900000 + # 指明连接是否被空闲连接回收器(如果有)进行检验.如果检测失败,则连接将被从池中去除 test-while-idle: true - test-on-borrow: false + # 指明是否在从池中取出连接前进行检验,如果检验失败, 则从池中去除连接并尝试取出另一个 + test-on-borrow: true + # 是否在归还到池中前进行检验 test-on-return: false # 检测连接是否有效 validation-query: select 1 diff --git a/eladmin-system/src/main/resources/config/application-prod.yml b/eladmin-system/src/main/resources/config/application-prod.yml index ced1f592..4b513e22 100644 --- a/eladmin-system/src/main/resources/config/application-prod.yml +++ b/eladmin-system/src/main/resources/config/application-prod.yml @@ -10,9 +10,9 @@ spring: # 初始连接数 initial-size: 5 # 最小连接数 - min-idle: 10 + min-idle: 15 # 最大连接数 - max-active: 20 + max-active: 30 # 获取连接超时时间 max-wait: 5000 # 连接有效性检测时间 @@ -21,8 +21,11 @@ spring: min-evictable-idle-time-millis: 300000 # 连接在池中最大生存的时间 max-evictable-idle-time-millis: 900000 + # 指明连接是否被空闲连接回收器(如果有)进行检验.如果检测失败,则连接将被从池中去除 test-while-idle: true - test-on-borrow: false + # 指明是否在从池中取出连接前进行检验,如果检验失败, 则从池中去除连接并尝试取出另一个 + test-on-borrow: true + # 是否在归还到池中前进行检验 test-on-return: false # 检测连接是否有效 validation-query: select 1 @@ -31,6 +34,7 @@ spring: enabled: true stat-view-servlet: enabled: true + # 控制台管理用户名和密码 url-pattern: /druid/* reset-enable: false login-username: admin diff --git a/pom.xml b/pom.xml index b8fe4a46..a69c5d0d 100644 --- a/pom.xml +++ b/pom.xml @@ -33,7 +33,7 @@ 1.16 2.9.2 1.2.70 - 1.1.22 + 1.1.24 2.5.0 1.3.1.Final