/** * @param smsMessage * @param msg * @return * @throws PersistenceException */ @Override public SendModem2Info saveOrUpdate(SendSMSMessage smsMessage, OutboundMessage msg) throws PersistenceException { SendModem2Info config = new SendModem2Info(); config.setGatewayID(msg.getGatewayId()); config.setMessageId(String.valueOf(msg.getMessageId())); config.setMessageUUID(msg.getUuid()); config.setEncoding(msg.getEncoding().toString()); config.setDataGerada(msg.getDate().toString()); config.setSmscRefNum(msg.getRefNo()); config.setNumDestinatario(smsMessage.getNumero()); if (msg.getDispatchDate() == null) { config.setDataExapedicao("Não há data prevista para expedição"); } else { config.setDataExapedicao(msg.getDispatchDate().toString()); } config.setMsgStatus(msg.getMessageStatus().toString()); config.setCausaFalha(String.valueOf(msg.getFailureCause())); config.setPeriodoValido(String.valueOf(msg.getValidityPeriod())); config.setRelatorioStatus(msg.getStatusReport()); config.setPortaDestino(String.valueOf(msg.getSrcPort())); config.setFlashSMS(msg.getFlashSms()); config.setMensagem(smsMessage.getMensagem()); config.setPduData(msg.getPduUserData()); if (msg.getScheduledDeliveryDate() == null) { config.setEntregaPrevista("SEM DATA PREVISTA"); } else { config.setEntregaPrevista(msg.getScheduledDeliveryDate().toString()); } return new BaseRepository<SendModem2Info>(SendModem2Info.class).saveOrUpdate(config); }
/* * (non-Javadoc) * * @see org.smslib.smsserver.AInterface#markMessage(org.smslib.OutboundMessage) */ @Override public void markMessage(org.smslib.OutboundMessage msg) throws Exception { if (msg == null) { return; } File f = getMessageCache().get(msg.getMessageId()); File newF = null; switch (msg.getMessageStatus()) { case SENT: newF = new File(this.outSentDirectory, f.getName()); break; case FAILED: newF = new File(this.outFailedDirectory, f.getName()); break; default: break; } if (f.renameTo(newF)) { getService().getLogger().logInfo(f + " marked.", null, null); } else { getService().getLogger().logWarn("Can't move " + f + " to " + newF, null, null); } getMessageCache().remove(msg.getMessageId()); }
private void TransmitirSMS() { try { List<MdlAlertameEnviados> SMSEnviarList = Persistence.Listar("from MdlAlertameEnviados e where e.transmitido = " + 0 + ""); if (!SMSEnviarList.isEmpty()) { for (MdlAlertameEnviados sms : SMSEnviarList) { try { Long userid = sms.getUserid(); String mensagem = sms.getMensagem(); MdlUser User = (MdlUser) Persistence.carregar(userid, MdlUser.class); String number = ""; String phone1 = User.getPhone1(); if (!phone1.equals("")) { if (phone1.contains("(")) { number = User.getPhone1() .replaceAll(Pattern.quote("("), "") .replaceAll(Pattern.quote(")"), "") .replaceAll(Pattern.quote("-"), "") .replaceAll(Pattern.quote(" "), ""); } else { number = phone1; } } else { String phone2 = User.getPhone2(); if (!phone2.equals("")) { if (phone2.contains("(")) { number = User.getPhone2() .replaceAll(Pattern.quote("("), "") .replaceAll(Pattern.quote(")"), "") .replaceAll(Pattern.quote("-"), "") .replaceAll(Pattern.quote(" "), ""); } else { number = phone2; } } else { MailUtil.sendEmailError( "Usuario: " + User.toString() + " Sem numero de telefone cadastrado!"); } } if (!number.equals("")) { System.out.println("########################### Number: " + number); OutboundMessage msg = SMSUtil.getInstance().sendMessage(number, mensagem); String status = msg.getMessageStatus().name(); if (status.equalsIgnoreCase("SENT")) { long currentTimeMillis = System.currentTimeMillis(); sms.setTransmitido(new Long(1)); sms.setHorario(currentTimeMillis); Persistence.atualizar(sms); } else if (status.equalsIgnoreCase("FAILED")) { // executar um comportamento que verifica a causa do erro // estudar todos os erros possiveis gerados pelo SMSLib // pra tentar se auto corrigir // MailUtil.sendEmailError(msg.toString()); } } } catch (Exception ex) { MailUtil.sendEmailError(ex); Logger.getLogger(ReEnviarSMS.class.getName()).log(Level.SEVERE, null, ex); } } } else { System.out.println("Nada a ser enviado!"); block(); } } catch (Exception ex) { MailUtil.sendEmailError(ex); Logger.getLogger(ReEnviarSMS.class.getName()).log(Level.SEVERE, null, ex); } }