package gov.nysenate.openleg.service.spotcheck.daybreak;
import com.google.common.eventbus.EventBus;
import gov.nysenate.openleg.config.Environment;
import gov.nysenate.openleg.dao.bill.reference.daybreak.DaybreakDao;
import gov.nysenate.openleg.model.spotcheck.SpotCheckRefType;
import gov.nysenate.openleg.processor.daybreak.DaybreakProcessService;
import gov.nysenate.openleg.service.spotcheck.base.BaseSpotcheckProcessService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.dao.DataAccessException;
import org.springframework.stereotype.Service;
@Service
public class DaybreakSpotcheckProcessService extends BaseSpotcheckProcessService {
private static final Logger logger = LoggerFactory.getLogger(DaybreakSpotcheckProcessService.class);
@Autowired
DaybreakCheckMailService checkMailService;
@Autowired
DaybreakDao daybreakDao;
@Autowired
DaybreakProcessService daybreakProcessService;
@Autowired
Environment env;
@Autowired
EventBus eventBus;
/** {@inheritDoc} */
@Override
protected int doCollate() {
int reports = checkMailService.checkMail();
daybreakProcessService.collateDaybreakReports();
return reports;
}
@Override
protected int doIngest() throws Exception {
return daybreakProcessService.processPendingFragments();
}
@Override
protected SpotCheckRefType getRefType() {
return SpotCheckRefType.LBDC_DAYBREAK;
}
@Override
protected int getUncheckedRefCount() {
try {
return daybreakDao.isChecked(daybreakDao.getCurrentReportDate()) ? 0 : 1;
} catch (DataAccessException ex) {
return 0;
}
}
@Override
public String getIngestType() {
return "daybreak-bill";
}
@Override
public String getCollateType() {
return "daybreak-report";
}
}