main will search zips if Broker.UseZips, ntg does its own filtering by city-state dist from search-zips
parent
d2cf8c74a2
commit
bb8e2a18ef
|
|
@ -204,7 +204,21 @@ func (ntg NTGVision) SearchZips(zips []string) ([]Job, error) {
|
||||||
if len(states) == 0 {
|
if len(states) == 0 {
|
||||||
return nil, fmt.Errorf("failed to map zipcodes %+v to any states", zips)
|
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) {
|
func (ntg NTGVision) SearchStates(states []config.State) ([]Job, error) {
|
||||||
|
|
|
||||||
39
main.go
39
main.go
|
|
@ -313,11 +313,39 @@ func once() error {
|
||||||
}
|
}
|
||||||
|
|
||||||
func getJobs() ([]broker.Job, error) {
|
func getJobs() ([]broker.Job, error) {
|
||||||
|
if config.Get().Brokers.UseZips {
|
||||||
return getJobsStates()
|
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) {
|
func getJobsStates() ([]broker.Job, error) {
|
||||||
states := config.AllStates()
|
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{}
|
brokers := []broker.Broker{}
|
||||||
if config.Get().Brokers.NTG.Enabled {
|
if config.Get().Brokers.NTG.Enabled {
|
||||||
logtr.Debugf("NTG enabled")
|
logtr.Debugf("NTG enabled")
|
||||||
|
|
@ -327,16 +355,7 @@ func getJobsStates() ([]broker.Job, error) {
|
||||||
logtr.Debugf("FastExact enabled")
|
logtr.Debugf("FastExact enabled")
|
||||||
brokers = append(brokers, broker.NewFastExact())
|
brokers = append(brokers, broker.NewFastExact())
|
||||||
}
|
}
|
||||||
logtr.Debugf("brokers=%+v", brokers)
|
return 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
|
|
||||||
}
|
}
|
||||||
|
|
||||||
type recordedJob struct {
|
type recordedJob struct {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue