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

📄 adminmngimpl.java

📁 JEECSM是JavaEE版网站管理系统(Java Enterprise Edition Content Manage System)的简称。 基于java技术开发
💻 JAVA
字号:
package com.jeecms.core.manager.impl;

import java.io.Serializable;
import java.sql.Timestamp;
import java.util.List;
import java.util.Set;

import net.sf.ehcache.Cache;
import net.sf.ehcache.Element;

import org.springframework.util.Assert;

import com.jeecms.core.JeeCoreManagerImpl;
import com.jeecms.core.dao.AdminDao;
import com.jeecms.core.entity.Admin;
import com.jeecms.core.entity.User;
import com.jeecms.core.entity.Website;
import com.jeecms.core.exception.AdminDisabledException;
import com.jeecms.core.manager.AdminMng;
import com.jeecms.core.manager.FunctionMng;
import com.jeecms.core.manager.UserMng;
import com.jeecms.core.manager.WebsiteMng;
import com.ponyjava.common.hibernate3.Condition;
import com.ponyjava.common.hibernate3.OrderBy;
import com.ponyjava.common.hibernate3.Updater;
import com.ponyjava.common.struts2.ContextPvd;
import com.ponyjava.common.web.PaginationSupport;

public class AdminMngImpl extends JeeCoreManagerImpl<Admin> implements AdminMng {
	@Override
	public PaginationSupport getAll(Long webId, int page, int countPerPage) {
		Admin admin = new Admin();
		if (webId != null) {
			admin.setWebsite(new Website(webId));
		}
		return findByExample(admin, new Condition[] { OrderBy.desc("id") },
				page, countPerPage);
	}

	@Override
	public Admin getLoginAdmin(Long webId, Long adminId, Long userId) {
		if (adminId == null || userId == null) {
			return null;
		}
		Admin admin = load(adminId);
		// 从其他站点跳转到当前站点
		if (!admin.getUser().getId().equals(userId)) {
			admin = getAdminByUserId(webId, userId);
			// 设置session
			contextPvd.setSessionAttr(Admin.ADMIN_KEY, admin.getId());
			Set<String> fiSet = functionMng.getFunctionItems(admin.getId());
			contextPvd.setSessionAttr(Admin.RIGHTS_KEY, fiSet);
		}
		if (admin != null && admin.isAdminDisabled()) {
			throw new AdminDisabledException("管理员'" + admin.getLoginName()
					+ "'已经被禁用!");
		}
		return admin;
	}

	@Override
	public Admin getLoginAdmin(String domain, Long adminId, Long userId) {
		Website web = websiteMng.getWebsite(domain);
		if (web == null) {
			return null;
		} else {
			return getLoginAdmin(web.getId(), adminId, userId);
		}
	}

	@Override
	public List<Admin> getListByUserId(Long userId) {
		Admin example = new Admin();
		example.setUser(new User(userId));
		return findByExample(example);
	}

	@Override
	public Admin getAdminByUserId(Long webId, Long userId) {
		Admin admin = null;
		String key = genKey(webId, userId);
		Element e = adminUnitedWebCache.get(key);
		if (e == null) {
			admin = getAdminDao().getAdminByUnited(webId, userId);
			if (admin != null) {
				adminUnitedWebCache.put(new Element(key, admin.getId()));
			}
		} else {
			Long id = (Long) e.getObjectValue();
			admin = load(id);
		}
		return admin;
	}

	@Override
	public Admin register(Admin admin, boolean isExist) {
		Assert.notNull(admin);
		Assert.notNull(admin.getUser());
		Assert.notNull(admin.getWebsite());
		Assert.notNull(admin.getWebsite().getId());
		User user = userMng.register(admin.getUser(), isExist);
		Admin oadmin = getAdminByUserId(admin.getWebsite().getId(), user
				.getId());
		if (oadmin != null) {
			return oadmin;
		} else {
			admin.setUser(user);
			return save(admin);
		}
	}

	@Override
	public Object updateByUpdater(Updater updater) {
		Admin user = (Admin) super.updateByUpdater(updater);
		Admin.funcChange();
		return user;
	}

	@Override
	public Admin save(Admin admin) {
		admin.setCreateTime(new Timestamp(System.currentTimeMillis()));
		if (admin.getDisabled() == null) {
			admin.setDisabled(false);
		}
		super.save(admin);
		return admin;
	}

	@Override
	public Admin load(Serializable id) {
		Admin user = super.load(id);
		return user;
	}

	@Override
	public Admin deleteById(Serializable id) {
		Admin user = super.deleteById(id);
		return user;
	}

	private String genKey(Long webId, Long unitedId) {
		return webId.toString() + unitedId.toString();
	}

	private Cache adminUnitedWebCache;
	private ContextPvd contextPvd;
	private WebsiteMng websiteMng;
	private FunctionMng functionMng;
	private UserMng userMng;

	public void setAdminDao(AdminDao dao) {
		super.setDao(dao);
	}

	public AdminDao getAdminDao() {
		return (AdminDao) super.getDao();
	}

	public Cache getAdminUnitedWebCache() {
		return adminUnitedWebCache;
	}

	public void setAdminUnitedWebCache(Cache adminUnitedWebCache) {
		this.adminUnitedWebCache = adminUnitedWebCache;
	}

	public ContextPvd getContextPvd() {
		return contextPvd;
	}

	public void setContextPvd(ContextPvd contextPvd) {
		this.contextPvd = contextPvd;
	}

	public WebsiteMng getWebsiteMng() {
		return websiteMng;
	}

	public void setWebsiteMng(WebsiteMng websiteMng) {
		this.websiteMng = websiteMng;
	}

	public FunctionMng getFunctionMng() {
		return functionMng;
	}

	public void setFunctionMng(FunctionMng functionMng) {
		this.functionMng = functionMng;
	}

	public UserMng getUserMng() {
		return userMng;
	}

	public void setUserMng(UserMng userMng) {
		this.userMng = userMng;
	}
}

⌨️ 快捷键说明

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