Exemplo n.º 1
0
  private void SpringSendSMS(SendMailContent content) {
    try {
      int time = ConfigManager.getInstance().getInt("sms.Deadtime", 0); // 读配置文件,信息有效时间
      // 以小时为单位
      Calendar calendar = Calendar.getInstance();
      int day = calendar.get(Calendar.HOUR_OF_DAY);
      calendar.set(Calendar.HOUR_OF_DAY, day + time); // 把当前时间+信息有效时间。
      TSMSInfoBO smsInfo = new TSMSInfoBO();
      smsInfo.setMobile(content.getToMobile());
      smsInfo.setContent(content.getSendSmsText());
      smsInfo.setDeadTime(calendar.getTime());
      smsInfo.setEid(ConfigManager.getInstance().getString("sms.Eid"));
      smsInfo.setPassword(ConfigManager.getInstance().getString("sms.Password"));
      smsInfo.setStatus(0);
      smsInfo.setUserId(ConfigManager.getInstance().getString("sms.Userid"));
      smsInfo.setUsrport(ConfigManager.getInstance().getInt("sms.Userport", 0));
      // 短信内容的长度限制在255内。如果超过255,就分成多条记录插到数据库dfsdl表中。
      int length = content.getSendSmsText().length();
      int len = length % 250 == 0 ? length / 250 : length / 250 + 1;
      for (int i = 0; i < len; i++) {
        if (i == len - 1) {
          smsInfo.setContent(content.getSendSmsText().substring(i * 250, length));
        } else {
          smsInfo.setContent(content.getSendSmsText().substring(i * 250, (i + 1) * 250));
        }
        sendInfoDao.insertSMSInfo(smsInfo);
      }

    } catch (SQLException e) {
      e.printStackTrace();
    }
  }