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