public void upsAlarmCondition(UpsStatus upsStatus) {
    PeDevice peDevice = peDeviceDao.findByIdentifier(upsStatus.getIdentifier());
    // 链接丢失
    if (-1 == upsStatus.getLinkState()) {
      AlarmLog alarmLog = new AlarmLog();
      alarmLog.setCollectTime(new Date());
      alarmLog.setCurrentState(StateEnum.error);
      alarmLog.setContent("UPS链接丢失");
      alarmLog.setAlarmOptionType(AlarmOptionType.UPS);
      alarmLog.setIdentifier(upsStatus.getIdentifier());
      alarmLog.setStatus(StatusEnum.NORMAL);
      alarmLogDao.save(alarmLog);

      peDeviceDao.updateCurrentStateByIdentifier(upsStatus.getIdentifier(), StateEnum.error);
      collectionDeviceDao.updateCurrentStateById(peDevice.getCollectDeviceId(), StateEnum.error);

    } else {
      List<AlarmCondition> alarmConditions =
          alarmConditionDao.getListByTemplateId(
              peDevice.getAlarmTemplateId(), AlarmDeviceType.PEDEVICE, AlarmOptionType.UPS);
      StateEnum currentState = StateEnum.good;
      for (AlarmCondition alarmCondition : alarmConditions) {
        Map<String, Object> alarmMap = upsDeviceAlarm(upsStatus, alarmCondition);

        currentState =
            alarmConditionService.alarmConditionHandle(
                peDevice.getManagerId(),
                upsStatus.getIdentifier(),
                currentState,
                alarmCondition,
                alarmMap);
      }

      peDeviceDao.updateCurrentStateByIdentifier(upsStatus.getIdentifier(), currentState);

      StateEnum state = peDeviceDao.findSeverityStateByCollectId(peDevice.getCollectDeviceId());
      collectionDeviceDao.updateCurrentStateById(peDevice.getCollectDeviceId(), state);
    }
  }