@Transactional
  public Usuario changeSenha(Long usuarioId, String newSenha) {
    Usuario usuario = findOne(usuarioId);

    if (usuario == null) {
      throw new HttpException(EXCEPTION_USUARIO_NOT_FOUND, HttpStatus.NOT_ACCEPTABLE);
    }

    usuario.setSenha(newSenha);

    return saveAsUpdate(usuario, true);
  }
  @Transactional
  public Usuario changeSenha(Long usuarioId, String oldSenha, String newSenha) {
    Usuario usuario = findOne(usuarioId);

    if (usuario == null) {
      throw new HttpException(EXCEPTION_USUARIO_NOT_FOUND, HttpStatus.NOT_ACCEPTABLE);
    }

    if (usuario.getSenha().equals(encryptSenha(oldSenha))) {
      validateSenha(newSenha);

      usuario.setSenha(newSenha);

      return saveAsUpdate(usuario, true);
    } else {
      throw new HttpException(
          EXCEPTION_USUARIO_OLD_SENHA_DOES_NOT_MATCH, HttpStatus.NOT_ACCEPTABLE);
    }
  }
  public Usuario encrypt(Usuario decryptedUsuario) {
    decryptedUsuario.setSenha(encryptSenha(decryptedUsuario.getSenha()));

    return decryptedUsuario;
  }