Commit 558f4bb7 authored by 李德才's avatar 李德才

区分显示菜单和跳转菜单

parent 4062b413
...@@ -23,7 +23,6 @@ import com.jfinal.plugin.activerecord.Db; ...@@ -23,7 +23,6 @@ import com.jfinal.plugin.activerecord.Db;
* 应用菜单相关操作 * 应用菜单相关操作
* *
* @author dgq * @author dgq
*
*/ */
public class MenuController extends Controller { public class MenuController extends Controller {
...@@ -33,7 +32,7 @@ public class MenuController extends Controller { ...@@ -33,7 +32,7 @@ public class MenuController extends Controller {
private MenuService menuService; private MenuService menuService;
/** /**
获取权限菜单 * 获取权限菜单
*/ */
public void index() { public void index() {
String username = this.getAttrForStr("username"); String username = this.getAttrForStr("username");
...@@ -62,7 +61,6 @@ public class MenuController extends Controller { ...@@ -62,7 +61,6 @@ public class MenuController extends Controller {
} }
/** /**
* 获取菜单列表 * 获取菜单列表
*/ */
...@@ -84,7 +82,7 @@ public class MenuController extends Controller { ...@@ -84,7 +82,7 @@ public class MenuController extends Controller {
try { try {
Menu menu = getBean(Menu.class, "menu"); Menu menu = getBean(Menu.class, "menu");
boolean state = menuService.saveMenuData(menu); boolean state = menuService.saveMenuData(menu);
renderJson(Ret.ok("msg", state?"保存菜单数据成功!":"保存菜单数据出错,请刷新后重试!")); renderJson(Ret.ok("msg", state ? "保存菜单数据成功!" : "保存菜单数据出错,请刷新后重试!"));
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
renderJson(Ret.fail("msg", "保存菜单数据出错,请刷新后重试!")); renderJson(Ret.fail("msg", "保存菜单数据出错,请刷新后重试!"));
...@@ -98,7 +96,7 @@ public class MenuController extends Controller { ...@@ -98,7 +96,7 @@ public class MenuController extends Controller {
try { try {
String[] ids = getPara("ids").split(","); String[] ids = getPara("ids").split(",");
boolean state = menuService.deleteMenu(ids); boolean state = menuService.deleteMenu(ids);
renderJson(Ret.ok("msg", state?"删除菜单数据成功!":"删除菜单数据出错!")); renderJson(Ret.ok("msg", state ? "删除菜单数据成功!" : "删除菜单数据出错!"));
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
renderJson(Ret.fail("msg", "删除菜单数据出错,请刷新后重试!")); renderJson(Ret.fail("msg", "删除菜单数据出错,请刷新后重试!"));
...@@ -186,20 +184,32 @@ public class MenuController extends Controller { ...@@ -186,20 +184,32 @@ public class MenuController extends Controller {
Map<Integer, System> systemMap = systems.stream().collect(Collectors.toMap(System::getId, System -> System)); Map<Integer, System> systemMap = systems.stream().collect(Collectors.toMap(System::getId, System -> System));
List<MenuStar> stars = MenuStar.dao.template("getMenuStar", userId).find(); List<MenuStar> stars = MenuStar.dao.template("getMenuStar", userId).find();
// 系统中的菜单,用于系统正常跳转
Map<String, Map<String, List<Menu>>> menuGroup = new HashMap<>(); Map<String, Map<String, List<Menu>>> menuGroup = new HashMap<>();
// 页面中显示的菜单,过滤隐藏的菜单
Map<String, Map<String, List<Menu>>> viewApps = new HashMap<>();
allMenuList.forEach(menu -> { allMenuList.forEach(menu -> {
// 处理菜单属性 // 处理菜单属性
System system = systemMap.get(menu.getSystemId()); System system = systemMap.get(menu.getSystemId());
menu.put("system", system.getName()); menu.put("system", system.getName());
menu.put("url", system.getUrl()); menu.put("url", system.getUrl());
// 过滤不需要显示的菜单
if (menu.getHidden() == null || menu.getHidden() != 1) {
menu.put("star", exist(menu.getId(), stars)); menu.put("star", exist(menu.getId(), stars));
// 一级菜单组 // 一级菜单组
menuGroup.putIfAbsent(menu.getFirstLevelName(),new HashMap<String, List<Menu>>()); viewApps.putIfAbsent(menu.getFirstLevelName(), new HashMap<String, List<Menu>>());
// 二级菜单组
viewApps.get(menu.getFirstLevelName()).putIfAbsent(menu.getSecondLevelName(), new ArrayList<Menu>());
// 最终菜单
viewApps.get(menu.getFirstLevelName()).get(menu.getSecondLevelName()).add(menu);
}
// 一级菜单组
menuGroup.putIfAbsent(menu.getFirstLevelName(), new HashMap<String, List<Menu>>());
// 二级菜单组 // 二级菜单组
menuGroup.get(menu.getFirstLevelName()).putIfAbsent(menu.getSecondLevelName(), new ArrayList<Menu>()); menuGroup.get(menu.getFirstLevelName()).putIfAbsent(menu.getSecondLevelName(), new ArrayList<Menu>());
// 最终菜单 // 最终菜单
menuGroup.get(menu.getFirstLevelName()).get(menu.getSecondLevelName()).add(menu); menuGroup.get(menu.getFirstLevelName()).get(menu.getSecondLevelName()).add(menu);
}); });
renderJson(Ret.ok("apps", menuGroup).set("allMenu",allMenuList)); renderJson(Ret.ok("apps", menuGroup).set("viewApps", viewApps).set("allMenu", allMenuList));
} }
} }
...@@ -1929,4 +1929,15 @@ ...@@ -1929,4 +1929,15 @@
</sql> </sql>
</version> </version>
<version edition="76" description="添加task表字段">
<sql creator="lidecai" createDate="20200901" note="设置菜单排序默认值">
alter table AS_MENU modify GROUP_ORDER default 0;
</sql>
</version>
</update> </update>
\ No newline at end of file
...@@ -295,7 +295,7 @@ select * from AS_MENU where ID in ( ...@@ -295,7 +295,7 @@ select * from AS_MENU where ID in (
select MENU_ID from AS_ROLE_MENU where ROLE_ID in ( select MENU_ID from AS_ROLE_MENU where ROLE_ID in (
select r.ID from AS_ROLE r, AS_ROLE_USER ru where r.ID=ru.ROLE_ID and ru.USER_ID=#para(userId) select r.ID from AS_ROLE r, AS_ROLE_USER ru where r.ID=ru.ROLE_ID and ru.USER_ID=#para(userId)
) )
) order by GROUP_ORDER; ) order by GROUP_ORDER DESC;
#end #end
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment