|
|
@@ -8,13 +8,16 @@ import cn.hutool.core.util.StrUtil;
|
|
|
import cn.tr.core.exception.ServiceException;
|
|
|
import cn.tr.core.exception.TRExcCode;
|
|
|
import cn.tr.core.utils.MenuUtil;
|
|
|
+import cn.tr.core.utils.TreeUtil;
|
|
|
import cn.tr.module.api.sys.user.CbbMenuDTO;
|
|
|
import cn.tr.module.api.sys.user.SysMenuApi;
|
|
|
+import cn.tr.module.sys.oauth2.service.CurrentUserService;
|
|
|
import cn.tr.module.sys.user.mapper.SysMenuMapper;
|
|
|
import cn.tr.module.sys.user.dto.SysMenuDTO;
|
|
|
import cn.tr.module.sys.user.po.SysMenuPO;
|
|
|
import cn.tr.module.sys.user.repository.SysMenuRepository;
|
|
|
import cn.tr.module.sys.user.service.ISysMenuService;
|
|
|
+import cn.tr.module.sys.user.vo.RouteItemVO;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import lombok.AllArgsConstructor;
|
|
|
import org.springframework.stereotype.Component;
|
|
|
@@ -36,6 +39,8 @@ public class SysMenuApiProvider implements SysMenuApi {
|
|
|
private final SysMenuRepository menuRepository;
|
|
|
private final ISysMenuService menuService;
|
|
|
|
|
|
+ private final CurrentUserService currentUserService;
|
|
|
+
|
|
|
|
|
|
@PostConstruct
|
|
|
public void init() {
|
|
|
@@ -46,6 +51,16 @@ public class SysMenuApiProvider implements SysMenuApi {
|
|
|
public List<Pair<String, String>> selectAllMenuIdAndName() {
|
|
|
return menuService.selectAllMenuIdAndName();
|
|
|
}
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public String findFirstMenuPathByUserAndTenant(String userId) {
|
|
|
+ List<RouteItemVO> routeItemVOS = TreeUtil.buildTree(currentUserService.currentUserMenus(""));
|
|
|
+ return routeItemVOS.stream()
|
|
|
+ .findFirst()
|
|
|
+ .map(RouteItemVO::getName)
|
|
|
+ .orElse("");
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public Pair<String,String> addForGenMenu(String parentId, String busName, String frontModuleName,String backModuleName,String permissionPrefix, String functionName) {
|