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

📄 commonserviceimp.java

📁 一个自娱自乐的demo 开发环境 apache-tomcat-6.0.16 Mysql 5.1.11 Jdk 1.6 文件结构如下 --MyGame -----MyGam
💻 JAVA
字号:
package com.hb.base.services.common.imp;

import java.util.ArrayList;
import java.util.List;

import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Component;

import com.hb.base.dao.common.AddressDao;
import com.hb.base.dao.common.CountryDao;
import com.hb.base.dao.common.PersonDao;
import com.hb.base.dao.organization.EmployeeDao;
import com.hb.base.dao.ui.MenuTreeNodeDao;
import com.hb.base.dao.ui.MenuTreePowerDao;
import com.hb.base.domain.common.Address;
import com.hb.base.domain.common.Country;
import com.hb.base.domain.common.Person;
import com.hb.base.domain.organization.Employee;
import com.hb.base.domain.ui.MenuTreeNode;
import com.hb.base.services.common.ICommonService;
import com.hb.base.view.domain.RichFacesTreeNodeBean;
import com.hb.core.util.DateUtil;

/**
 * 2008/01/22
 * 
 * @author 何 貝
 * 
 */
@Component("commonService")
@Scope("prototype")
public class CommonServiceImp implements ICommonService {

	private EmployeeDao employeeDao = null;
	private PersonDao personDao = null;
	private MenuTreeNodeDao menuTreeNodeDao = null;
	private MenuTreePowerDao menuTreePowerDao = null;
	private CountryDao countryDao = null;
	private AddressDao addressDao = null;

	// ---------------------------------------------------------------------------
	// Get Set方法
	// ---------------------------------------------------------------------------
	public EmployeeDao getEmployeeDao() {
		return employeeDao;
	}

	public void setEmployeeDao(EmployeeDao employeeDao) {
		this.employeeDao = employeeDao;
	}

	public PersonDao getPersonDao() {
		return personDao;
	}

	public void setPersonDao(PersonDao personDao) {
		this.personDao = personDao;
	}

	public MenuTreeNodeDao getMenuTreeNodeDao() {
		return this.menuTreeNodeDao;
	}

	public void setMenuTreeNodeDao(MenuTreeNodeDao menuTreeNodeDao) {
		this.menuTreeNodeDao = menuTreeNodeDao;
	}

	public MenuTreePowerDao getMenuTreePowerDao() {
		return menuTreePowerDao;
	}

	public void setMenuTreePowerDao(MenuTreePowerDao menuTreePowerDao) {
		this.menuTreePowerDao = menuTreePowerDao;
	}

	public CountryDao getCountryDao() {
		return countryDao;
	}

	public void setCountryDao(CountryDao countryDao) {
		this.countryDao = countryDao;
	}

	public AddressDao getAddressDao() {
		return addressDao;
	}

	public void setAddressDao(AddressDao addressDao) {
		this.addressDao = addressDao;
	}

	// ---------------------------------------------------------------------------
	// 接口实现
	// ---------------------------------------------------------------------------
	public Employee getEmployeeInfo_Service(String employeeID) {
		return employeeDao.getEmployeeByID(employeeID);
	}

	public boolean userLogin_Service(String userID, String password) {

		Employee employee = getEmployeeInfo_Service(userID);

		if (employee != null && employee.getPassword().equals(password)) {
			return true;
		}
		return false;
	}

	public Person getPersonInfoByEmployeeID_Service(String employeeID) {
		String nowDate = DateUtil.getNowDate();
		return getPersonInfoByEmployeeID_Service(employeeID, nowDate);
	}

	public Person getPersonInfoByEmployeeID_Service(String employeeID, String validateDate) {
		return personDao.getPerson(employeeID, validateDate);
	}

	public boolean changeEmployeePassword_Service(String employeeID, String password) {
		Employee employee = getEmployeeInfo_Service(employeeID);
		employee.setPassword(password);

		employeeDao.save(employee);

		return true;
	}

	public RichFacesTreeNodeBean getMenuTreeRootNode_Service(String employeeID) {
		// UI Tree根节点
		MenuTreeNode root = menuTreeNodeDao.getTreeRootNode();
		if (root != null) {
			// 当前日期
			String nowDate = DateUtil.getNowDate();
			// 用户权限列表
			List<String> powerList = menuTreePowerDao.getUserMenuTreePowerList(employeeID, nowDate);
			// 默认权限为无访问限制或者用户有访问该节点的权限时
			if ((root.isDefaultPower() == true)
					|| (powerList != null && !powerList.isEmpty() && powerList.contains(root.getNodeID()))) {
				// 权限效验

				RichFacesTreeNodeBean viewMenuTreeRoot = new RichFacesTreeNodeBean(root.getNodeID(), root
						.getNodeTxt(), root.getNodeType(), root.getActionPath());

				addViewTreeNode(viewMenuTreeRoot, powerList, root.getSubNodeList());

				return viewMenuTreeRoot;

			}
		}
		return null;
	}

	/**
	 * 递归创建整个页面树结构
	 * 
	 * @param parentNode 页面树父节点对象
	 * @param powerList 用户权限列表
	 * @param subNodeList 子节点数据列表
	 */
	@SuppressWarnings("unchecked")
	private void addViewTreeNode(RichFacesTreeNodeBean parentNode, List<String> powerList,
			List<MenuTreeNode> subNodeList) {
		if (subNodeList != null && !subNodeList.isEmpty()) {
			for (MenuTreeNode node : subNodeList) {
				if (node != null) {
					if (node.isDefaultPower() == true || powerList.contains(node.getNodeID())) {
						RichFacesTreeNodeBean viewTreenode = new RichFacesTreeNodeBean(node.getNodeID(), node
								.getNodeTxt(), node.getNodeType(), node.getActionPath());
						viewTreenode.setParent(parentNode);

						parentNode.addChild(node.getNodeID(), viewTreenode);

						addViewTreeNode(viewTreenode, powerList, node.getSubNodeList());
					}
				}
			}
		}
	}

	public List<Country> getCountryInfoList_Service() {
		return countryDao.getAll();
	}

	public boolean updatePersonInfo_Service(String employeeID, Person pagePerson) {

		String nowDate = DateUtil.getNowDate();
		Person dbPerson = personDao.getPerson(employeeID, nowDate);
		if (dbPerson != null) {
			// 名字
			dbPerson.setName(pagePerson.getName());
			// 名字拼写方法
			dbPerson.setNameSpell(pagePerson.getNameSpell());
			// 年龄
			dbPerson.setAge(pagePerson.getAge());
			// 性别
			dbPerson.setSex(pagePerson.getSex());
			// 国家
			Country country = countryDao.getCountry(pagePerson.getCountry().getCountryID());
			dbPerson.setCountry(country);
			// 地址信息
			synchPersonAddressList(dbPerson, pagePerson);

			// 更新个人信息
			personDao.save(dbPerson);

			return true;
		}

		return false;
	}

	private void synchPersonAddressList(Person dbPerson, Person pagePerson) {
		List<Address> pageAddressList = pagePerson.getAddressList();
		List<Address> dbAddressList = dbPerson.getAddressList();
		// --------------------------------------------------------
		// 删除
		// --------------------------------------------------------
		List<Address> delList = new ArrayList<Address>();
		for (Address dbAddress : dbAddressList) {
			if (!pageAddressList.contains(dbAddress)) {
				delList.add(dbAddress);
			}
		}
		dbAddressList.removeAll(delList);

		// --------------------------------------------------------
		// 更新和添加
		// --------------------------------------------------------
		for (Address pageAddress : pageAddressList) {

			if (dbAddressList.contains(pageAddress)) {// 更新

				Address dbAddress = dbAddressList.get(dbAddressList.indexOf(pageAddress));

				dbAddress.setDescription(pageAddress.getDescription());
				dbAddress.setAddressInfo(pageAddress.getAddressInfo());
				dbAddress.setPostcode(pageAddress.getPostcode());
				dbAddress.setPhone(pageAddress.getPhone());

			} else {// 添加
				pageAddress.setAddressID(addressDao.getMaxID());
				pageAddress.setPerson(dbPerson);
				dbPerson.addAddresses(pageAddress);
			}
		}
	}

}

⌨️ 快捷键说明

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