main will search zips if Broker.UseZips, ntg does its own filtering by city-state dist from search-zips
parent
00368c50ff
commit
64f1488a91
|
|
@ -204,7 +204,21 @@ func (ntg NTGVision) SearchZips(zips []string) ([]Job, error) {
|
|||
if len(states) == 0 {
|
||||
return nil, fmt.Errorf("failed to map zipcodes %+v to any states", zips)
|
||||
}
|
||||
return ntg.SearchStates(states)
|
||||
jobs, err := ntg.SearchStates(states)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
for i := len(jobs) - 1; i >= 0; i-- {
|
||||
ok := false
|
||||
for _, z := range zips {
|
||||
ok = ok || zip.Get(z).MilesTo(zip.FromCityState(jobs[i].Pickup.City, jobs[i].Pickup.State)) <= radius
|
||||
}
|
||||
if !ok {
|
||||
jobs[i], jobs[len(jobs)-1] = jobs[len(jobs)-1], jobs[i]
|
||||
jobs = jobs[:len(jobs)-1]
|
||||
}
|
||||
}
|
||||
return jobs, nil
|
||||
}
|
||||
|
||||
func (ntg NTGVision) SearchStates(states []config.State) ([]Job, error) {
|
||||
|
|
|
|||
41
main.go
41
main.go
|
|
@ -313,11 +313,39 @@ func once() error {
|
|||
}
|
||||
|
||||
func getJobs() ([]broker.Job, error) {
|
||||
return getJobsStates()
|
||||
if config.Get().Brokers.UseZips {
|
||||
return getJobsStates()
|
||||
}
|
||||
return getJobsZips()
|
||||
}
|
||||
|
||||
func getJobsZips() ([]broker.Job, error) {
|
||||
zips := config.AllZips()
|
||||
jobs := []broker.Job{}
|
||||
for _, broker := range getBrokers() {
|
||||
somejobs, err := broker.SearchZips(zips)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
jobs = append(jobs, somejobs...)
|
||||
}
|
||||
return jobs, nil
|
||||
}
|
||||
|
||||
func getJobsStates() ([]broker.Job, error) {
|
||||
states := config.AllStates()
|
||||
jobs := []broker.Job{}
|
||||
for _, broker := range getBrokers() {
|
||||
somejobs, err := broker.SearchStates(states)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
jobs = append(jobs, somejobs...)
|
||||
}
|
||||
return jobs, nil
|
||||
}
|
||||
|
||||
func getBrokers() []broker.Broker {
|
||||
brokers := []broker.Broker{}
|
||||
if config.Get().Brokers.NTG.Enabled {
|
||||
logtr.Debugf("NTG enabled")
|
||||
|
|
@ -327,16 +355,7 @@ func getJobsStates() ([]broker.Job, error) {
|
|||
logtr.Debugf("FastExact enabled")
|
||||
brokers = append(brokers, broker.NewFastExact())
|
||||
}
|
||||
logtr.Debugf("brokers=%+v", brokers)
|
||||
jobs := []broker.Job{}
|
||||
for _, broker := range brokers {
|
||||
somejobs, err := broker.SearchStates(states)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
jobs = append(jobs, somejobs...)
|
||||
}
|
||||
return jobs, nil
|
||||
return brokers
|
||||
}
|
||||
|
||||
type recordedJob struct {
|
||||
|
|
|
|||
Loading…
Reference in New Issue