/** * asigna los parametros al query * * @param str * @param parametros * @param filtro */ private void setParametersToQuery( StringBuilder str, Map<String, Object> parametros, GCMUser filtro) { if (isNotNull(filtro)) { String id = filtro.getId(); // String email=filtro.getEmail(); String gcmId = filtro.getGcmId(); String tipoDispositivo = filtro.getTipoDispositivo(); if (isValid(id)) { agregarCondicion(str, " g.id=:id ", CondicionLogica.AND); parametros.put("id", id); } else { if (isValid(gcmId)) { agregarCondicion(str, " g.gcmId = :gcmId ", CondicionLogica.AND); parametros.put("gcmId", gcmId); } // if(isValid(email)){ // agregarCondicion(str, " g.email = :email ", CondicionLogica.AND); // parametros.put("email",email); // } if (isValid(tipoDispositivo)) { agregarCondicion(str, " g.tipoDispositivo = :tipoDispositivo ", CondicionLogica.AND); parametros.put("tipoDispositivo", tipoDispositivo); } } } }
/** * Consulta el usuario GCM mediante el id de google play * * @param gcmId * @return * @throws QRocksException */ public GCMUser consultarPorGCMId(String gcmId) throws QRocksException { if (isNull(gcmId)) { onError("Favor de proporcionar su id de google play"); } GCMUser usuario = new GCMUser(); usuario.setGcmId(gcmId); List<GCMUser> list = filtrar(usuario); if (!isEmptyCollection(list)) { usuario = list.get(0); } else { onError("El usuario con id:" + gcmId + " no existe en google play"); } return usuario; }
/** * Metodo para registrar un nuevo usuario * * @param usuario * @throws QRocksException */ public GCMUser registrarUsuario(GCMUser usuario) throws QRocksException { if (isNull(usuario)) { onError("Favor de proporcionar los datos del usuario a registrar"); } if (!isValid(usuario.getGcmId())) { onError("Favor de proporcionar su 'google id'"); } GCMUser u = null; u = consultarPorId(GCMUser.class, usuario.getGcmId()); if (u == null) { // usuario.setNombre("no-name"); crear(usuario); return usuario; } else { // Si ya existe, actualiza los datos de este usuario // if(isValid(usuario.getEmail())){ // u.setEmail(usuario.getEmail()); // } // if(usuario.getFechaNacimiento()!=null){ // u.setFechaNacimiento(usuario.getFechaNacimiento()); // } // if(isValid(usuario.getNombre())){ // u.setNombre(usuario.getNombre()); // } // if(isValid(usuario.getAlias())){ // u.setAlias(usuario.getAlias()); // } if (isValid(usuario.getTipoDispositivo())) { u.setTipoDispositivo(usuario.getTipoDispositivo()); } // if(isValid(usuario.getTelefono())){ // u.setTelefono(usuario.getTelefono()); // } // boolean aunNoHaActualizadoSusDatos=(( "no-name".equalsIgnoreCase(u.getNombre()) )); // Si no tiene un alias el usuario registrado y tampoco la actualizacion entonces se debe de // proporcionar (ademas si ya actualizo sus datos y no puso su alias, va a marcar excepcion) // if(!isValid(u.getAlias()) && !isValid(usuario.getAlias()) && // !aunNoHaActualizadoSusDatos){ // onError("Favor de proporcionar su alias"); // } actualizar(u); } return u; }