📄 userrightsmgrimpl.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 + -