
cn.infop.dao.PermissionDao Maven / Gradle / Ivy
package cn.infop.dao;
import java.util.List;
import cn.infop.entity.Permission;
import cn.infop.tools.BusinessDao;
import cn.infop.tools.JdbcUtils;
public class PermissionDao extends BusinessDao {
private final String table = "(SELECT * FROM permissions) t";
public PermissionDao() {
super(Permission.class);
super.multiTable = table;
super.singleTable = "permissions";
}
@SuppressWarnings("unchecked")
public List findAll() {
String sql = "select * from " + table +" order by group_name,name";
return JdbcUtils.getBeans(sql,Permission.class);
}
public void save(Permission permission) {
String sql = "INSERT INTO permissions(name,permission,uri,group_name)VALUES(?,?,?,?)";
JdbcUtils.insertWithoutReturnId(sql, new Object[] { permission.getName(), permission.getPermission(), permission.getUri(),
permission.getGroup_name() });
}
public void update(Permission permission) {
String sql = "update permissions set permission = ?, uri = ?,group_name =? where name = ? ";
JdbcUtils.insertWithoutReturnId(sql, new Object[] { permission.getPermission(), permission.getUri(),
permission.getGroup_name(), permission.getName() });
}
public void deletePermission(String name) {
JdbcUtils.execute("delete from roles_permissions where permission = ?", new Object[] { name });
JdbcUtils.execute("delete from permissions where name = ?", new Object[] { name });
}
public Permission findByName(String name) {
String sql = "select * from permissions where name = ? ";
return JdbcUtils.getBean(sql,Permission.class, new Object[] { name });
}
private Boolean hasPermission(String role_name, String permission) {
String sql = "SELECT count(*) as sum FROM roles_permissions where permission = ? and role_name = ? ";
int size = JdbcUtils.count(sql, new Object[] { role_name, permission });
if (size>0) {
return true;
} else {
return false;
}
}
public List findByRole(String role_name) {
List list = findAll();
for (Permission Permission : list) {
Permission.setChecked(hasPermission(Permission.getName(), role_name));
}
return list;
}
public void addRolePermission(String role_name, String permission) {
String sql = "INSERT INTO roles_permissions(role_name,permission) VALUES(?,?) ";
JdbcUtils.execute(sql, new Object[] { role_name, permission });
}
public void deleteRolePermission(String role_name, String permission) {
String sql = "DELETE FROM roles_permissions where role_name = ? and permission = ?";
JdbcUtils.execute(sql, new Object[] { role_name, permission });
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy