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

区分显示菜单和跳转菜单

parent 4062b413
......@@ -23,7 +23,6 @@ import com.jfinal.plugin.activerecord.Db;
* 应用菜单相关操作
*
* @author dgq
*
*/
public class MenuController extends Controller {
......@@ -33,7 +32,7 @@ public class MenuController extends Controller {
private MenuService menuService;
/**
获取权限菜单
* 获取权限菜单
*/
public void index() {
String username = this.getAttrForStr("username");
......@@ -62,7 +61,6 @@ public class MenuController extends Controller {
}
/**
* 获取菜单列表
*/
......@@ -84,7 +82,7 @@ public class MenuController extends Controller {
try {
Menu menu = getBean(Menu.class, "menu");
boolean state = menuService.saveMenuData(menu);
renderJson(Ret.ok("msg", state?"保存菜单数据成功!":"保存菜单数据出错,请刷新后重试!"));
renderJson(Ret.ok("msg", state ? "保存菜单数据成功!" : "保存菜单数据出错,请刷新后重试!"));
} catch (Exception e) {
e.printStackTrace();
renderJson(Ret.fail("msg", "保存菜单数据出错,请刷新后重试!"));
......@@ -98,7 +96,7 @@ public class MenuController extends Controller {
try {
String[] ids = getPara("ids").split(",");
boolean state = menuService.deleteMenu(ids);
renderJson(Ret.ok("msg", state?"删除菜单数据成功!":"删除菜单数据出错!"));
renderJson(Ret.ok("msg", state ? "删除菜单数据成功!" : "删除菜单数据出错!"));
} catch (Exception e) {
e.printStackTrace();
renderJson(Ret.fail("msg", "删除菜单数据出错,请刷新后重试!"));
......@@ -186,20 +184,32 @@ public class MenuController extends Controller {
Map<Integer, System> systemMap = systems.stream().collect(Collectors.toMap(System::getId, System -> System));
List<MenuStar> stars = MenuStar.dao.template("getMenuStar", userId).find();
// 系统中的菜单,用于系统正常跳转
Map<String, Map<String, List<Menu>>> menuGroup = new HashMap<>();
// 页面中显示的菜单,过滤隐藏的菜单
Map<String, Map<String, List<Menu>>> viewApps = new HashMap<>();
allMenuList.forEach(menu -> {
// 处理菜单属性
// 处理菜单属性
System system = systemMap.get(menu.getSystemId());
menu.put("system", system.getName());
menu.put("url", system.getUrl());
// 过滤不需要显示的菜单
if (menu.getHidden() == null || menu.getHidden() != 1) {
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()).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 @@
</sql>
</version>
<version edition="76" description="添加task表字段">
<sql creator="lidecai" createDate="20200901" note="设置菜单排序默认值">
alter table AS_MENU modify GROUP_ORDER default 0;
</sql>
</version>
</update>
\ No newline at end of file
......@@ -295,7 +295,7 @@ select * from AS_MENU where 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)
)
) order by GROUP_ORDER;
) order by GROUP_ORDER DESC;
#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