角色开发包括角色的增加,修改,查找
SysRoleService
public interface SysRoleService {
void save(RoleParam param);
void update(RoleParam param);
List<SysRole> getAll();
}
SysRoleServiceImpl
@Service
public class SysRoleServiceImpl implements SysRoleService {
@Resource
private SysRoleMapper sysRoleMapper;
@Resource
private SysRoleUserMapper sysRoleUserMapper;
@Resource
private SysRoleAclMapper sysRoleAclMapper;
@Resource
private SysUserMapper sysUserMapper;
@Override
public void save(RoleParam param) {
BeanValidator.check(param);
if (checkExist(param.getName(), param.getId())) {
throw new BizException("角色名称已经存在");
}
SysRole role = SysRole.builder().name(param.getName()).status(param.getStatus()).type(param.getType())
.remark(param.getRemark()).build();
role.setOperator(RequestHolder.getCurrentUser().getUsername());
role.setOperateIp(IPUtil.getIpAddress(RequestHolder.getCurrentRequest()));
role.setOperateTime(new Date());
sysRoleMapper.insertSelective(role);
}
@Override
public void update(RoleParam param) {
BeanValidator.check(param);
if (checkExist(param.getName(), param.getId())) {
throw new BizException("角色名称已经存在");
}
SysRole before = sysRoleMapper.selectByPrimaryKey(param.getId());
Preconditions.checkNotNull(before, "待更新的角色不存在");
SysRole after = SysRole.builder().id(param.getId()).name(param.getName()).status(param.getStatus()).type(param.getType())
.remark(param.getRemark()).build();
after.setOperator(RequestHolder.getCurrentUser().getUsername());
after.setOperateIp(IPUtil.getIpAddress(RequestHolder.getCurrentRequest()));
after.setOperateTime(new Date());
sysRoleMapper.updateByPrimaryKeySelective(after);
}
@Override
public List<SysRole> getAll() {
return sysRoleMapper.getAll();
}
private boolean checkExist(String name, Integer id) {
return sysRoleMapper.countByName(name, id) > 0;
}
}