package com.hrms.dao.impl; import java.util.List; import javax.annotation.Resource; import org.springframework.stereotype.Repository; import com.hrms.dao.IModuleDao; import com.hrms.dao.IRoleDao; import com.hrms.dao.IRolePermissionDao; import com.hrms.model.RolePermission; @Repository("rolePermissionDao") public class RolePermissionDaoImpl extends GenericDaoImpl<RolePermission, Integer> implements IRolePermissionDao { private IRoleDao roleDao; private IModuleDao moduleDao; @SuppressWarnings("unchecked") public boolean saveOrUpdate(Integer roleId,Integer moduleId,String actionIds,String permission) { if (roleId!=null && roleId>0 && moduleId!=null && moduleId>0) { Integer[] id = {roleId,moduleId}; RolePermission rolePermission; List<RolePermission> rolePermissions = getHibernateTemplate().find("from RolePermission where roleId=? and moduleId=?",id); if (rolePermissions!=null && rolePermissions.size()>0) { rolePermission = rolePermissions.get(0); }else { rolePermission = new RolePermission(); rolePermission.setRole(roleDao.findById(roleId)); rolePermission.setModule(moduleDao.findById(moduleId)); } rolePermission.setActionIds(actionIds); rolePermission.setPermission(permission); return this.saveOrUpdate(rolePermission); } return false; } @SuppressWarnings("unchecked") public Integer checked(Integer roleId,Integer moduleId,Integer actionId) { if (roleId!=null && roleId>0 && moduleId!=null && moduleId>0 && actionId!=null&&actionId>0) { Integer[] id = {roleId,moduleId}; List<RolePermission> rolePermissions = getHibernateTemplate().find("from RolePermission where roleId=? and moduleId=?",id); if (rolePermissions!=null && rolePermissions.size()>0) { RolePermission rolePermission = rolePermissions.get(0); String[] actionIdString = rolePermission.getActionIds().split(","); String[] permissionString = rolePermission.getPermission().split(","); for (int i = 0; i < actionIdString.length; i++) { if (actionIdString[i].equals(actionId.toString()) && permissionString[i]!=null) { return Integer.valueOf(permissionString[i]); } } } } return -1; } public IRoleDao getRoleDao() { return roleDao; } @Resource public void setRoleDao(IRoleDao roleDao) { this.roleDao = roleDao; } public IModuleDao getModuleDao() { return moduleDao; } @Resource public void setModuleDao(IModuleDao moduleDao) { this.moduleDao = moduleDao; } }