⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 imenuserviceimpl.java

📁 struts+spring+jdbc权限管理 菜单树实现
💻 JAVA
字号:
package com.hiiso.crm.common.authority.impl;

import java.util.Iterator;
import java.util.List;

import org.apache.log4j.Logger;

import com.hiiso.crm.common.authority.IMenu;
import com.hiiso.crm.common.authority.IMenuService;
import com.hiiso.crm.common.exception.AuthorityException;
import com.hiiso.crm.common.exception.AuthorityServiceExp;
import com.hiiso.crm.common.pojo.Menu;
import com.hiiso.crm.common.union.Parameters;

/*************************************************************************
* SYSTEM:       基金CRM系统
* SUBSYS:       CRM权限管理模块
* DESCRIPTION:  CRM菜单管理服务实现类
* AUTHOR:       YAOYI
* CREATE DATE:  2008/10/30
* COPYRIGHT:    (c)Copyright 2008 HISUN Corporation. All rights reserved.
* VERSION:      V1.0G
* EDIT HISTORY:
*************************************************************************/

public class IMenuServiceImpl implements IMenuService {
	
	static  Logger  logger  =  Logger.getLogger("crm.operator");
	private IMenu menuDao;
	private Parameters param;
	
	public IMenu getMenuDao() {
		return menuDao;
	}

	public void setMenuDao(IMenu menu) {
		menuDao = menu;
	}
	
	public Parameters getParam() {
		return param;
	}

	public void setParam(Parameters param) {
		this.param = param;
	}

	//添加菜单
	public void addMenu(Menu menu) throws AuthorityServiceExp {
		try {
			menu.setMenuId("M"+menuDao.getMenuSeq());
			menuDao.addMenu(menu);
		} catch (AuthorityException e) {
			throw new AuthorityServiceExp("err.menuAdd",menu.getMenuName());
		}
	}

	//删除菜单
	public void deleteMenu(String menuId) throws AuthorityServiceExp {
		List  list = null;
		//List listArray = new ArrayList();
		try {
			list = menuDao.getChildMenu(menuId);
		} catch (AuthorityException e) {
			throw new AuthorityServiceExp("err.getChildMenu",menuId);
		}
		//listArray.addAll(list);
		Iterator iter = list.iterator();
		while(iter.hasNext()){
			System.out.println("the object is"+list);
			Menu menu = (Menu)iter.next();
			deleteMenu(menu.getMenuId());
		}
		try {
			menuDao.deleteRights(menuId);
			menuDao.deleteMenu(menuId);
		} catch (AuthorityException e) {
			throw new AuthorityServiceExp("err.deleteMenu",menuId);
		}
		if(null!=list){
			list = null;
		}
	}

	//编辑菜单
	public void edit(Menu menu) throws AuthorityServiceExp {
		try {
			menuDao.editMenu(menu);
		} catch (AuthorityException e) {
			throw new AuthorityServiceExp("err.menuEdit",menu.getMenuName());
		}
	}

	//获取所有菜单
	public StringBuffer getAllMenus(String isEdit) throws AuthorityServiceExp {
		List list = null;
		String rootId = null;
		StringBuffer buffer = new StringBuffer();
		try {
			 list = menuDao.getAllMenu();
		} catch (AuthorityException e) {
			throw new AuthorityServiceExp("err.allMenu",e,"");
		}
		
		try {
			rootId = param.GetProperties("root.menuId");
		} catch (Exception e) {
			throw new AuthorityServiceExp("err.rootMenu",e,rootId);
		}
		buffer.append("var tree"+rootId+" = new TreeItem(\""+rootId+"\",\"主菜单\"); \r\n");
		if(isEdit.equals("Y")){
			buildTreeEdit(buffer,rootId,list);
			buffer.append("document.write(tree"+rootId+".menuShow());");
		}else{
			buildTree(buffer,rootId,list);
			buffer.append("document.write(tree"+rootId+");");
		}	
		return buffer;
	}
	
	//根据父节点拼接左边菜单树字符串
	public void buildTree(StringBuffer buffer,String parentId,List list){
		Iterator iter = list.iterator();
		while(iter.hasNext()){
			Menu menu = (Menu)iter.next();
			if(menu.getParentId().equals(parentId)){
				if(null != menu.getHttpRef()&&!menu.getHttpRef().equals("")){
					buffer.append("var tree"+menu.getMenuId()+" = new TreeItem(\""+menu.getMenuId()+"\",\"<a href=\\\"javascript:showPage('"+menu.getHttpRef()+"');\\\">"+menu.getMenuName()+"</a>\");\r\n");
				}else{
					buffer.append("var tree"+menu.getMenuId()+" = new TreeItem(\""+menu.getMenuId()+"\",\""+menu.getMenuName()+"\");\r\n");
				}
				buffer.append("tree"+parentId+".add(tree"+menu.getMenuId()+");\r\n");
				buildTree(buffer,menu.getMenuId(),list);
			}
		}
	}
	//根据父节点拼接左边菜单树字符串
	public void buildTreeEdit(StringBuffer buffer,String parentId,List list){
		Iterator iter = list.iterator();
		while(iter.hasNext()){
			Menu menu = (Menu)iter.next();
			if(menu.getParentId().equals(parentId)){
				buffer.append("var tree"+menu.getMenuId()+" = new TreeItem(\""+menu.getMenuId()+"\",\"<a href=\\\"javascript:editTree('"+menu.getMenuId()+"','"+menu.getMenuName()+"','"+menu.getHttpRef()+"');\\\">"+menu.getMenuName()+"</a>\");\r\n");
				buffer.append("tree"+parentId+".add(tree"+menu.getMenuId()+");\r\n");
				buildTreeEdit(buffer,menu.getMenuId(),list);
			}
		}
	}

	//根据权限获取菜单
	public StringBuffer getMenus(String roleId) throws AuthorityServiceExp {
		List list = null;
		String rootId = null;
		StringBuffer buffer = new StringBuffer();
		try {
			 list = menuDao.getMenu(roleId);
		} catch (AuthorityException e) {
			throw new AuthorityServiceExp("err.allMenu",e,"");
		}
		
		try {
			rootId = param.GetProperties("root.menuId");
		} catch (Exception e) {
			throw new AuthorityServiceExp("err.rootMenu",e,rootId);
		}
		buffer.append("var tree"+rootId+" = new TreeItem(\""+rootId+"\",\"主菜单\"); \r\n");
		buildTree(buffer,rootId,list);
		buffer.append("document.write(tree"+rootId+".menuShow());");
		return buffer;
	}

	//获取管理员的roleId
	public String getAdminRoleId() throws AuthorityServiceExp {
		String adminRoleId;
		try {
			adminRoleId = param.GetProperties("adminRole.id");
		} catch (Exception e) {
			throw new AuthorityServiceExp("err.adminRoleId",e,"");
		}
		return adminRoleId;
	}	
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -