@SuppressWarnings("unchecked")
  public Set<String> updateScheduleById(String scheduleId, Set<String> set) {
    try {
      SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
      logger.info("根据id更新赛事,id=" + scheduleId);
      if (StringUtils.isBlank(scheduleId)) {
        return set;
      }
      String param = "id=" + scheduleId;
      String data = httpUtil.getResponse(scheduleByIdUrl, HttpUtil.GET, HttpUtil.UTF8, param);
      if (StringUtils.isBlank(data)) {
        logger.info("根据id更新赛事,获取数据为空,id=" + scheduleId);
        return set;
      }
      Document doc = DocumentHelper.parseText(data);
      List<Element> matches = doc.getRootElement().elements("match");

      Schedule schedule = Schedule.findById(Integer.parseInt(scheduleId), false);
      Date matchTime = schedule.getMatchTime(); // 比赛时间
      if (matches == null || matches.size() == 0) { // 删除赛事
        boolean zqEventEmpty = CommonUtil.isZqEventEmpty(schedule);
        if (schedule != null && zqEventEmpty) {
          schedule.remove();
          logger.info("足球赛事删除,id=" + scheduleId);
          if (matchTime != null) {
            set.add(sdf.format(matchTime));
          }
          return set;
        }
      } else if (matches.size() == 1) { // 更新赛事
        Element match = matches.get(0);
        doProcess(match, true);
        if (matchTime != null) { // 之前的比赛时间
          set.add(sdf.format(matchTime));
        }
        String d = match.elementTextTrim("d"); // 现在的比赛时间
        Date time = DateUtil.parse("yyyy/MM/dd HH:mm:ss", d);
        if (time != null) {
          set.add(sdf.format(time));
        }
        return set;
      }
    } catch (Exception e) {
      logger.error("根据id更新赛事发生异常,id=" + scheduleId, e);
    }
    return set;
  }