diff --git a/ruoyi-common/ruoyi-common-datascope/src/main/java/com/ruoyi/common/datascope/aspect/DataScopeAspect.java b/ruoyi-common/ruoyi-common-datascope/src/main/java/com/ruoyi/common/datascope/aspect/DataScopeAspect.java index 0e5847a6..72aafcdd 100644 --- a/ruoyi-common/ruoyi-common-datascope/src/main/java/com/ruoyi/common/datascope/aspect/DataScopeAspect.java +++ b/ruoyi-common/ruoyi-common-datascope/src/main/java/com/ruoyi/common/datascope/aspect/DataScopeAspect.java @@ -81,11 +81,11 @@ public class DataScopeAspect } // 获取当前的用户 LoginUser loginUser = tokenService.getLoginUser(); - SysUser currentUser = loginUser.getSysUser(); - if (currentUser != null) + if (StringUtils.isNotNull(loginUser)) { + SysUser currentUser = loginUser.getSysUser(); // 如果是超级管理员,则不过滤数据 - if (!currentUser.isAdmin()) + if (StringUtils.isNotNull(currentUser) && !currentUser.isAdmin()) { dataScopeFilter(joinPoint, currentUser, controllerDataScope.deptAlias(), controllerDataScope.userAlias()); diff --git a/ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/aspect/PreAuthorizeAspect.java b/ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/aspect/PreAuthorizeAspect.java index f38039ce..777b5b1c 100644 --- a/ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/aspect/PreAuthorizeAspect.java +++ b/ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/aspect/PreAuthorizeAspect.java @@ -17,6 +17,11 @@ import com.ruoyi.common.security.annotation.PreAuthorize; import com.ruoyi.common.security.service.TokenService; import com.ruoyi.system.api.model.LoginUser; +/** + * 自定义权限实现 + * + * @author ruoyi + */ @Aspect @Component public class PreAuthorizeAspect @@ -42,34 +47,56 @@ public class PreAuthorizeAspect return point.proceed(); } - if (StringUtils.isEmpty(annotation.hasPermi()) && hasPermi(annotation.hasPermi())) + if (!StringUtils.isEmpty(annotation.hasPermi())) { - return point.proceed(); - } - else if (StringUtils.isEmpty(annotation.lacksPermi()) && hasPermi(annotation.lacksPermi())) - { - return point.proceed(); + if (hasPermi(annotation.hasPermi())) + { + return point.proceed(); + } + throw new PreAuthorizeException(); } - else if (StringUtils.isEmpty(annotation.hasAnyPermi()) && hasAnyPermi(annotation.hasAnyPermi())) + else if (!StringUtils.isEmpty(annotation.lacksPermi())) { - return point.proceed(); + if (lacksPermi(annotation.lacksPermi())) + { + return point.proceed(); + } + throw new PreAuthorizeException(); } - else if (StringUtils.isEmpty(annotation.hasRole()) && hasRole(annotation.hasRole())) + else if (!StringUtils.isEmpty(annotation.hasAnyPermi())) { - return point.proceed(); + if (hasAnyPermi(annotation.hasAnyPermi())) + { + return point.proceed(); + } + throw new PreAuthorizeException(); } - else if (StringUtils.isEmpty(annotation.lacksRole()) && lacksRole(annotation.lacksRole())) + else if (!StringUtils.isEmpty(annotation.hasRole())) { - return point.proceed(); + if (hasRole(annotation.hasRole())) + { + return point.proceed(); + } + throw new PreAuthorizeException(); } - else if (StringUtils.isEmpty(annotation.hasAnyRoles()) && hasAnyRoles(annotation.hasAnyRoles())) + else if (StringUtils.isEmpty(annotation.lacksRole())) { - return point.proceed(); + if (lacksRole(annotation.lacksRole())) + { + return point.proceed(); + } + throw new PreAuthorizeException(); } - else + else if (StringUtils.isEmpty(annotation.hasAnyRoles())) { + if (hasAnyRoles(annotation.hasAnyRoles())) + { + return point.proceed(); + } throw new PreAuthorizeException(); } + + return point.proceed(); } /** diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDictTypeServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDictTypeServiceImpl.java index 6e09a51f..a004d5bd 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDictTypeServiceImpl.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDictTypeServiceImpl.java @@ -76,12 +76,12 @@ public class SysDictTypeServiceImpl implements ISysDictTypeService public List selectDictDataByType(String dictType) { List dictDatas = DictUtils.getDictCache(dictType); - if (StringUtils.isNotNull(dictDatas)) + if (StringUtils.isNotEmpty(dictDatas)) { return dictDatas; } dictDatas = dictDataMapper.selectDictDataByType(dictType); - if (StringUtils.isNotNull(dictDatas)) + if (StringUtils.isNotEmpty(dictDatas)) { DictUtils.setDictCache(dictType, dictDatas); return dictDatas; diff --git a/ruoyi-ui/src/components/Editor/index.vue b/ruoyi-ui/src/components/Editor/index.vue index 6eb2687f..162d240b 100644 --- a/ruoyi-ui/src/components/Editor/index.vue +++ b/ruoyi-ui/src/components/Editor/index.vue @@ -71,9 +71,9 @@ export default { value: { handler(val) { if (val !== this.currentValue) { - this.currentValue = val; + this.currentValue = val === null ? "" : val; if (this.Quill) { - this.Quill.pasteHTML(this.value); + this.Quill.pasteHTML(this.currentValue); } } },