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");
}
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);
}
}
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;
}
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);
}
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);
}