diff --git a/backend/src/main/java/io/dataease/auth/service/impl/AuthUserServiceImpl.java b/backend/src/main/java/io/dataease/auth/service/impl/AuthUserServiceImpl.java index ab34315d8f..804e87126d 100644 --- a/backend/src/main/java/io/dataease/auth/service/impl/AuthUserServiceImpl.java +++ b/backend/src/main/java/io/dataease/auth/service/impl/AuthUserServiceImpl.java @@ -33,7 +33,7 @@ public class AuthUserServiceImpl implements AuthUserService { @Resource private SysUserMapper sysUserMapper; @Resource - private ExtPluginSysMenuMapper extPluginSysMenuMapper; + private DynamicMenuServiceImpl dynamicMenuService; /** * 此处需被F2CRealm登录认证调用 也就是说每次请求都会被调用 所以最好加上缓存 @@ -65,7 +65,7 @@ public class AuthUserServiceImpl implements AuthUserService { @Override public List permissions(Long userId){ // 用户登录获取菜单权限时同时更新插件菜单表 - this.syncPluginMenu(); + dynamicMenuService.syncPluginMenu(); List permissions; SysUser sysUser = sysUserMapper.selectByPrimaryKey(userId); if(sysUser.getIsAdmin()!=null&&sysUser.getIsAdmin()){ @@ -102,12 +102,4 @@ public class AuthUserServiceImpl implements AuthUserService { LogUtil.info("正在清除用户缓存【{}】",userId); } - @Transactional - public void syncPluginMenu() { - List pluginSysMenuList = PluginUtils.pluginMenus(); - extPluginSysMenuMapper.deletePluginMenu(); - if(CollectionUtils.isNotEmpty(pluginSysMenuList)){ - extPluginSysMenuMapper.savePluginMenu(pluginSysMenuList); - } - } } diff --git a/backend/src/main/java/io/dataease/auth/service/impl/DynamicMenuServiceImpl.java b/backend/src/main/java/io/dataease/auth/service/impl/DynamicMenuServiceImpl.java index fde40b65c2..58369dedcf 100644 --- a/backend/src/main/java/io/dataease/auth/service/impl/DynamicMenuServiceImpl.java +++ b/backend/src/main/java/io/dataease/auth/service/impl/DynamicMenuServiceImpl.java @@ -6,11 +6,15 @@ import io.dataease.auth.service.DynamicMenuService; import io.dataease.base.domain.SysMenu; import io.dataease.base.domain.SysMenuExample; import io.dataease.base.mapper.SysMenuMapper; +import io.dataease.base.mapper.ext.ExtPluginSysMenuMapper; import io.dataease.plugins.common.dto.PluginSysMenu; import io.dataease.plugins.util.PluginUtils; import org.apache.commons.collections4.CollectionUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import javax.annotation.Resource; import java.util.ArrayList; import java.util.List; import java.util.stream.Collectors; @@ -22,6 +26,9 @@ public class DynamicMenuServiceImpl implements DynamicMenuService { @Autowired(required = false) private SysMenuMapper sysMenuMapper; + @Resource + private ExtPluginSysMenuMapper extPluginSysMenuMapper; + @Override public List load(String userId) { SysMenuExample sysMenuExample = new SysMenuExample(); @@ -109,4 +116,13 @@ public class DynamicMenuServiceImpl implements DynamicMenuService { private Boolean isParent(Long pid){ return null == pid || pid==0L; } + + @Transactional + public void syncPluginMenu() { + List pluginSysMenuList = PluginUtils.pluginMenus(); + extPluginSysMenuMapper.deletePluginMenu(); + if(CollectionUtils.isNotEmpty(pluginSysMenuList)){ + extPluginSysMenuMapper.savePluginMenu(pluginSysMenuList); + } + } } diff --git a/frontend/src/views/panel/SubjectSetting/index.vue b/frontend/src/views/panel/SubjectSetting/index.vue index 30661989fc..d52a82afbc 100644 --- a/frontend/src/views/panel/SubjectSetting/index.vue +++ b/frontend/src/views/panel/SubjectSetting/index.vue @@ -14,10 +14,9 @@ - + - - + @@ -25,9 +24,10 @@ - + - + +