Search in sources :

Example 1 with SysMenu

use of com.github.qinyou.system.model.SysMenu in project my_curd by qinyou.

the class SysMenuController method newModel.

// 新增 、修改 弹窗
public void newModel() {
    String id = get("id");
    if (StringUtils.notEmpty(id)) {
        SysMenu sysMenu = SysMenu.dao.findById(id);
        setAttr("sysMenu", sysMenu);
        if (sysMenu != null) {
            setAttr("pid", sysMenu.getPid());
        }
    } else {
        setAttr("pid", getPara("pid", "0"));
    }
    render("system/sysMenu_form.ftl");
}
Also used : SysMenu(com.github.qinyou.system.model.SysMenu)

Example 2 with SysMenu

use of com.github.qinyou.system.model.SysMenu in project my_curd by qinyou.

the class SysMenuController method updateAction.

// 修改 action
public void updateAction() {
    SysMenu sysMenu = getBean(SysMenu.class, "");
    sysMenu.setUpdater(WebUtils.getSessionUsername(this)).setUpdateTime(new Date());
    if (sysMenu.update()) {
        renderSuccess(UPDATE_SUCCESS);
    } else {
        renderFail(UPDATE_FAIL);
    }
}
Also used : SysMenu(com.github.qinyou.system.model.SysMenu)

Example 3 with SysMenu

use of com.github.qinyou.system.model.SysMenu in project my_curd by qinyou.

the class LoginService method findUserMenus.

/**
 * 用户完整的菜单
 *
 * @param roleIds 多个role id,以逗号分隔
 * @return
 */
public static List<SysMenu> findUserMenus(String roleIds) {
    if (StringUtils.isEmpty(roleIds)) {
        return new ArrayList<>();
    }
    if (roleIds.contains(",") && !roleIds.contains("'")) {
        roleIds = roleIds.replaceAll(",", "','");
    }
    // 所有菜单
    List<SysMenu> allMenuList = SysMenu.dao.findAll();
    // 用户菜单
    List<SysMenu> userMenuList = SysRoleMenu.dao.findMenusByRoleIds(roleIds);
    // 完整的用户菜单
    Set<SysMenu> chainSet = new HashSet<>();
    for (SysMenu menu : userMenuList) {
        chainSet.add(menu);
        getPChain(allMenuList, menu, chainSet);
    }
    // 排序
    userMenuList = new ArrayList<>(chainSet);
    userMenuList.sort((o1, o2) -> {
        if (o1.getSortNum() == null || o2.getSortNum() == null || o1.getSortNum() < o2.getSortNum()) {
            return -1;
        }
        return 0;
    });
    return userMenuList;
}
Also used : SysMenu(com.github.qinyou.system.model.SysMenu)

Example 4 with SysMenu

use of com.github.qinyou.system.model.SysMenu in project my_curd by qinyou.

the class SysMenuController method addButtonAction.

// 新增按钮 action
@Before(Tx.class)
public void addButtonAction() {
    SysButton sysButton = getBean(SysButton.class, "").setId(IdUtils.id()).setCreater(WebUtils.getSessionUsername(this)).setCreateTime(new Date());
    if (SysButton.dao.findUniqueByProperty("buttonCode", sysButton.getButtonCode()) != null) {
        renderFail(ADD_FAIL + " 编码已经存在");
        return;
    }
    SysMenu sysMenu = SysMenu.dao.findById(sysButton.getSysMenuId());
    if (sysMenu == null) {
        renderFail(ADD_FAIL);
        return;
    }
    sysButton.save();
    renderSuccess(ADD_SUCCESS);
}
Also used : SysMenu(com.github.qinyou.system.model.SysMenu) SysButton(com.github.qinyou.system.model.SysButton) Before(com.jfinal.aop.Before)

Example 5 with SysMenu

use of com.github.qinyou.system.model.SysMenu in project my_curd by qinyou.

the class SysMenuController method menuComboTree.

// 新增 、编辑页下拉框数据
public void menuComboTree() {
    List<SysMenu> sysMenus = SysMenu.dao.findAllSort();
    Set<String> pids = new HashSet<>();
    sysMenus.forEach(item -> pids.add(item.getPid()));
    List<Map<String, Object>> maps = new ArrayList<>();
    Map<String, Object> root = new HashMap<>();
    root.put("id", "0");
    root.put("pid", "-1");
    root.put("text", "根菜单");
    root.put("iconCls", "iconfont icon-root");
    root.put("state", sysMenus.size() > 0 ? "closed" : "open");
    maps.add(root);
    for (SysMenu sysMenu : sysMenus) {
        Map<String, Object> map = new HashMap<>();
        map.put("id", sysMenu.getId());
        map.put("text", sysMenu.getMenuName());
        map.put("pid", sysMenu.getPid());
        map.put("iconCls", sysMenu.getIcon());
        if (pids.contains(sysMenu.getId())) {
            map.put("state", "closed");
        }
        maps.add(map);
    }
    renderJson(maps);
}
Also used : SysMenu(com.github.qinyou.system.model.SysMenu)

Aggregations

SysMenu (com.github.qinyou.system.model.SysMenu)10 SysButton (com.github.qinyou.system.model.SysButton)1 Before (com.jfinal.aop.Before)1 Record (com.jfinal.plugin.activerecord.Record)1