package com.taobao.easyweb.security.dao;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.springframework.orm.ibatis.support.SqlMapClientDaoSupport;
import org.springframework.stereotype.Component;
import com.taobao.easyweb.security.domain.Role;
import com.taobao.easyweb.security.domain.RoleUserPermission;
@Component("ewRoleDAO")
public class RoleDAO extends SqlMapClientDaoSupport {
public Role queryById(Integer id) {
return (Role) getSqlMapClientTemplate().queryForObject("roleDAO.queryById", id);
}
@SuppressWarnings("unchecked")
public List<Role> queryAll() {
return getSqlMapClientTemplate().queryForList("roleDAO.queryAll");
}
public void save(Role role) {
getSqlMapClientTemplate().insert("roleDAO.save", role);
}
public void update(Role role) {
getSqlMapClientTemplate().update("roleDAO.update", role);
}
@SuppressWarnings("unchecked")
public List<Role> queryByIds(List<Integer> ids) {
if (ids == null || ids.isEmpty()) {
return Collections.emptyList();
}
return getSqlMapClientTemplate().queryForList("roleDAO.queryByIds", ids);
}
public Role queryByName(String name) {
return (Role) getSqlMapClientTemplate().queryForObject("roleDAO.queryByName", name);
}
@SuppressWarnings("unchecked")
public List<Integer> queryRolesPermissions(List<Integer> ids) {
if (ids == null || ids.isEmpty()) {
return Collections.emptyList();
}
return getSqlMapClientTemplate().queryForList("rolePermissionDAO.queryRolesPermissions", ids);
}
@SuppressWarnings("unchecked")
public List<Integer> queryRolePermissions(Integer roleId) {
return getSqlMapClientTemplate().queryForList("rolePermissionDAO.queryRolePermissions", roleId);
}
@SuppressWarnings("unchecked")
public List<Role> queryAll(int start,int limit) {
Map<String, Integer> map = new HashMap<String, Integer>();
map.put("start", start);
map.put("limit", limit);
return getSqlMapClientTemplate().queryForList("roleDAO.queryAll",map);
}
public int applyPermission(Integer roleId, Integer permissionId) {
RoleUserPermission userPermission = new RoleUserPermission();
userPermission.setPermissionId(permissionId);
userPermission.setType(2);
userPermission.setRoleOrUserId(roleId);
userPermission.setStatus(0);
getSqlMapClientTemplate().insert("roleUserPermissionDAO.save", userPermission);
return 0;
}
public int removePermission(Integer userId, Integer permissionId) {
RoleUserPermission userPermission = new RoleUserPermission();
userPermission.setPermissionId(permissionId);
userPermission.setType(2);
userPermission.setRoleOrUserId(userId);
getSqlMapClientTemplate().delete("roleUserPermissionDAO.delete", userPermission);
return 0;
}
@SuppressWarnings("unchecked")
public List<Integer> queryRoleUsers(Integer roleId) {
return getSqlMapClientTemplate().queryForList("roleDAO.queryRoleUsers", roleId);
}
public int queryCount(){
return (Integer)getSqlMapClientTemplate().queryForObject("roleDAO.queryCount");
}
}