Search in sources :

Example 1 with SysMenu

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

the class SysMenuController method addAction.

public void addAction() {
    SysMenu sysMenu = getBean(SysMenu.class, "");
    boolean saveFlag = sysMenu.save();
    if (saveFlag) {
        renderText(Constant.ADD_SUCCESS);
    } else {
        renderText(Constant.ADD_FAIL);
    }
}
Also used : SysMenu(com.hxkj.system.model.SysMenu)

Example 2 with SysMenu

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

the class SysMenuController method updateAction.

public void updateAction() {
    SysMenu sysMenu = getBean(SysMenu.class, "");
    boolean updateFlag = sysMenu.update();
    if (updateFlag) {
        renderText(Constant.UPDATE_SUCCESS);
    } else {
        renderText(Constant.UPDATE_FAIL);
    }
}
Also used : SysMenu(com.hxkj.system.model.SysMenu)

Example 3 with SysMenu

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

the class LoginController method action.

/**
 * 登录Action
 */
@Before(Tx.class)
public void action() {
    String username = getPara("username");
    String password = getPara("password");
    if (StrKit.isBlank(username)) {
        setAttr("errMsg", "请填写用户名。");
        render("login.html");
        return;
    }
    if (StrKit.isBlank(password)) {
        setAttr("errMsg", "请填写密码。");
        render("login.html");
        return;
    }
    SysUser sysUser = SysUser.dao.findByUsername(username);
    if (sysUser == null) {
        setAttr("errMsg", username + " 用户不存在。");
        render("login.html");
        return;
    }
    password = HashKit.sha1(password);
    if (!sysUser.getPassword().equals(password)) {
        setAttr("username", username);
        setAttr("errMsg", " 密码错误。");
        render("login.html");
        return;
    }
    if (sysUser.getDisabled().equals("1")) {
        setAttr("errMsg", username + " 用户被禁用,请联系管理员。");
        render("login.html");
        return;
    }
    String remember = getPara("remember");
    // 记住密码 && cookie 不存在
    if ("on".equals(remember) && getCookie(usernameKey) == null) {
        // 1天
        setCookie(usernameKey, username, 60 * 60 * 24 * 1);
        setCookie(passwordKey, password, 60 * 60 * 24 * 1);
    }
    // 登录用户信息
    setSessionAttr(Constant.SYSTEM_USER, sysUser);
    // 为了 druid session 监控用
    setSessionAttr(Constant.SYSTEM_USER_NAME, sysUser.getName());
    // 用户角色
    SysUserRole sysUserRole = SysUserRole.dao.findRolesByUserId(sysUser.getId());
    if (sysUserRole != null) {
        // 角色名称(显示用)
        setSessionAttr(Constant.SYSTEM_USER_ROLES, sysUserRole.get("roleNames"));
        LoginService loginService = Duang.duang(LoginService.class);
        List<SysMenu> userMenus = loginService.getUserMenu(sysUserRole.get("roleIds"));
        setSessionAttr(Constant.OWN_MENU, userMenus);
    }
    addOpLog("登录");
    redirect("/main");
}
Also used : SysUser(com.hxkj.system.model.SysUser) SysMenu(com.hxkj.system.model.SysMenu) SysUserRole(com.hxkj.system.model.SysUserRole) Before(com.jfinal.aop.Before)

Example 4 with SysMenu

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

the class LoginService method getUserMenu.

/**
 * 获得用户菜单
 */
public List<SysMenu> getUserMenu(String roleIds) {
    allMenuList = SysMenu.dao.findAll();
    userMenuList = SysMenu.dao.findByRoleIds(roleIds);
    Set<SysMenu> chainSet = new HashSet<SysMenu>();
    for (SysMenu menu : userMenuList) {
        chainSet.add(menu);
        getPChain(allMenuList, menu, chainSet);
    }
    // 排序
    List<SysMenu> chainList = new ArrayList<SysMenu>(chainSet);
    Collections.sort(chainList, new Comparator<SysMenu>() {

        public int compare(SysMenu o1, SysMenu o2) {
            if (o1.get("sort") == null || o2.get("sort") == null || o1.getInt("sort") < o2.getInt("sort")) {
                return -1;
            }
            return 0;
        }
    });
    // 每一个菜单都拥有当前菜单的所有子菜单
    // formatSubMenu(chainList);
    List<SysMenu> result = new ArrayList<SysMenu>();
    for (SysMenu menu : chainList) {
        result.add(menu);
    }
    return result;
}
Also used : SysMenu(com.hxkj.system.model.SysMenu)

Example 5 with SysMenu

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

the class LoginService method getPChain.

/**
 * 获取 所有 父亲(祖)菜单
 *
 * @param list      所有的菜单
 * @param menu      要获取父菜单的菜单
 * @param chainlist 已经放入当前菜单的 set
 */
public void getPChain(Collection<SysMenu> list, SysMenu menu, Set<SysMenu> chainlist) {
    for (SysMenu m : list) {
        if (menu.getInt("pid") == m.getInt("id")) {
            chainlist.add(m);
            getPChain(list, m, chainlist);
        }
    }
}
Also used : SysMenu(com.hxkj.system.model.SysMenu)

Aggregations

SysMenu (com.hxkj.system.model.SysMenu)11 SysUser (com.hxkj.system.model.SysUser)2 SysUserRole (com.hxkj.system.model.SysUserRole)2 ArrayList (java.util.ArrayList)2 HashMap (java.util.HashMap)2 Map (java.util.Map)2 BaseController (com.hxkj.common.util.BaseController)1 SysRoleMenu (com.hxkj.system.model.SysRoleMenu)1 Before (com.jfinal.aop.Before)1