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

📄 userrightsmgrimpl.java

📁 基于Sturts+Spring+Hibernate的一个高级销售管理系统。内容丰富
💻 JAVA
字号:
package com.yuanchung.sales.service.admin.position.impl;

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

import org.apache.log4j.Logger;

import com.yuanchung.sales.dao.admin.position.UserRightsAreaDAO;
import com.yuanchung.sales.dao.admin.position.UserRightsDAO;
import com.yuanchung.sales.dao.admin.position.UserRightsFlagDAO;
import com.yuanchung.sales.exception.SystemException;
import com.yuanchung.sales.model.admin.position.PositionRightsArea;
import com.yuanchung.sales.model.admin.position.UserRights;
import com.yuanchung.sales.model.admin.position.UserRightsArea;
import com.yuanchung.sales.service.admin.authorization.AuthorizationMgr;
import com.yuanchung.sales.service.admin.position.PositionMgr;
import com.yuanchung.sales.service.admin.position.UserRightsMgr;
import com.yuanchung.sales.service.user.UserMgr;
import com.yuanchung.sales.util.Constants;

public class UserRightsMgrImpl implements UserRightsMgr {
	private UserRightsDAO userRightsDao;
	private UserRightsAreaDAO userRightsAreaDao;
	private AuthorizationMgr authorizationMgr;
	private PositionMgr positionMgr;
	private UserMgr userMgr;
	private UserRightsFlagDAO userRightsFlagDAO;
	static Logger log = Logger.getLogger(UserRightsMgrImpl.class);

	public UserRightsAreaDAO getUserRightsAreaDao() {
		return userRightsAreaDao;
	}

	public void setUserRightsAreaDao(UserRightsAreaDAO userRightsAreaDao) {
		this.userRightsAreaDao = userRightsAreaDao;
	}

	public UserRightsDAO getUserRightsDao() {
		return userRightsDao;
	}

	public void setUserRightsDao(UserRightsDAO userRightsDao) {
		this.userRightsDao = userRightsDao;
	}

	@SuppressWarnings("unchecked")
	/**
	 * 
	 */
	public void saveThreeObjRelation(int id, int rightId, String dataAreaIds,
			boolean isNew, int rightsFlag,int userId,String reelection) {
		log.debug("数据范围是: " + dataAreaIds);
		String[] areaIds = dataAreaIds.split(",");
		log.debug("拆分后的数据范围是: " + areaIds.length);
		int userRightsId;
		// 数据库里没有,
		// 实例化一个新对象(用户权限关联表)
		if (isNew) {
			UserRights ur = new UserRights();
			// 设值
			log.debug("id= " + id);
			log.debug("rightId= " + rightId);
			ur.setUserId(id);
			ur.setRightsId(rightId);
			// 调用Hibernate DAO保存
			try {
				userRightsDao.save(ur);
			} catch (RuntimeException re) {
				log.error(re);
				throw new SystemException(Constants.SYSTEMEXCEPTION);
			}
			userRightsId = ur.getId();
		} else {
			userRightsId = id;// 不是新增的,id为功能权限id。
		}

		log.debug("userRightsId" + userRightsId);
		// 实例化一个新对象(用户权限数据范围关联表)
		List<UserRightsArea> uraList = new ArrayList<UserRightsArea>();
		for (int i = 0; i < areaIds.length; i++) {
			if (areaIds[i] != null && !areaIds[i].equals("")) {
				int areaId = Integer.parseInt(areaIds[i]);
				UserRightsArea uraTmp = new UserRightsArea();
				uraTmp.setTreeviewId(areaId);
				uraTmp.setUserRightsId(userRightsId);
				uraList.add(uraTmp);
			}
		}
		log.debug("uraList size : " + uraList.size());
		// 有在页面上重新选的数据权限
		if (uraList.size() > 0 || "y".equals(reelection)) {
			try {
				List<UserRightsArea> oldPra = new ArrayList<UserRightsArea>();
				// List<PositionRightsArea> unchangedPra = new
				// ArrayList<PositionRightsArea>();
				oldPra = userRightsAreaDao.findByUserRightsId(userRightsId);
				log.debug("oldPra size 1: " + oldPra.size());
				authorizationMgr.recombinationPra(uraList, oldPra,
						Constants.USER_RIGHTS_FALG);
				log.debug("oldPra size 2: " + oldPra.size());
				// log.debug("unchangedPra size: " + unchangedPra.size());
				log.debug("praList size : " + uraList.size());
				for (int i = 0; i < uraList.size(); i++) {
					// 调用Hibernate DAO保存
					userRightsAreaDao.save(uraList.get(i));
				}
				for (int i = 0; i < oldPra.size(); i++) {
					userRightsAreaDao.delete(oldPra.get(i));
				}
			} catch (RuntimeException re) {
				log.error(re);
				throw new SystemException(Constants.SYSTEMEXCEPTION);
			}
		} else {// 没有重新选的,保持原有的,跟岗位数据范围一样(如果是第一次设用户权限(数据时))。
			log.debug("rightsFlag : " + rightsFlag);
			if (Constants.RIGHTS_POSITION_FLAG == rightsFlag) {
				try {
					log.debug("id : " + id);
					List<PositionRightsArea> pra = positionMgr
							.getDataAreaByRidPid(rightId, userMgr.findById(userId)
									.getTreeview().getId());
					log.debug("pra.size() : " + pra.size());
					for (int i = 0; i < pra.size(); i++) {
						UserRightsArea userRightsArea = new UserRightsArea();
						userRightsArea
								.setTreeviewId(pra.get(i).getTreeviewId());
						userRightsArea.setUserRightsId(userRightsId);
						userRightsAreaDao.save(userRightsArea);
					}
				} catch (RuntimeException re) {
					log.error(re);
					throw new SystemException(Constants.SYSTEMEXCEPTION);
				}
			}
		}
	}

	public AuthorizationMgr getAuthorizationMgr() {
		return authorizationMgr;
	}

	public void setAuthorizationMgr(AuthorizationMgr authorizationMgr) {
		this.authorizationMgr = authorizationMgr;
	}

	public PositionMgr getPositionMgr() {
		return positionMgr;
	}

	public void setPositionMgr(PositionMgr positionMgr) {
		this.positionMgr = positionMgr;
	}

	public UserMgr getUserMgr() {
		return userMgr;
	}

	public void setUserMgr(UserMgr userMgr) {
		this.userMgr = userMgr;
	}

	public UserRightsFlagDAO getUserRightsFlagDAO() {
		return userRightsFlagDAO;
	}

	public void setUserRightsFlagDAO(UserRightsFlagDAO userRightsFlagDAO) {
		this.userRightsFlagDAO = userRightsFlagDAO;
	}

}

⌨️ 快捷键说明

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