func GetTaxiAPIInstruments(params c.TaxiApiParams, for_name string) (t.TaxiInterface, t.AddressSupplier, error) { switch api_name := params.Name; api_name { case i.INFINITY: return i.GetInfinityAPI(params, for_name), i.GetInfinityAddressSupplier(params, for_name), nil case t.FAKE: return t.GetFakeAPI(params), i.GetInfinityAddressSupplier(params, for_name), nil case sedi.SEDI: sedi_api := sedi.NewSediAPI(params) return sedi_api, sedi_api, nil } return nil, nil, errors.New("Not imply name of api") }
func main() { msngr.DEBUG = true // my_street := "Российская" my_address_from := "Российская 3" my_street_to := "Российская 28" conf := configuration.ReadConfig() api_data := conf.Taxis["fake"].Api.GetAPIData() s := sedi.NewSediAPI(&api_data) // order_statuses, err := s.GetOrderStatuses() // if err != nil { // log.Printf("order statuses err : %v", err) // return // } // for _, order_status := range order_statuses { // log.Printf("order status : %+v \n", order_status) // } log.Println(s) address_from := s.AddressesAutocomplete(my_address_from) adress_to := s.AddressesAutocomplete(my_street_to) log.Printf("\nFrom %+v\nTo %+v\n", address_from, adress_to) // order := taxi.NewOrderInfo{ // Delivery:taxi.Delivery{Street:my_street, House:"3"}, // Destinations:[]taxi.Destination{taxi.Destination{Street:my_street, House:"28"}}, // Phone:"+79811064022", // } // res, mes := s.CalcOrderCost(order) // log.Printf("calc res: %v, mes: %s", res, mes) // // ans := s.NewOrder(order) // log.Printf("ans of new order response: %+v", ans) // // for { // orders := s.Orders() // for i, order := range orders { // log.Printf("%v\t%v\n", i, order) // } // time.Sleep(10 * time.Second) // } // // if ans.IsSuccess { // fmt.Println(s.CancelOrder(ans.Content.Id)) // } }