/* Listado de sucursales por empresa */ func ShowEmpSucs(w http.ResponseWriter, r *http.Request) { c := appengine.NewContext(r) emsucs := model.GetEmpSucursales(c, r.FormValue("IdEmp")) if emsucs != nil { wssucs := make([]WsSucursal, len(*emsucs), cap(*emsucs)) for i, v := range *emsucs { wssucs[i].IdOft = "" wssucs[i].IdSuc = v.IdSuc wssucs[i].IdEmp = v.IdEmp wssucs[i].Sucursal = v.Nombre wssucs[i].FechaHora = v.FechaHora } w.Header().Set("Content-Type", "application/json") b, _ := json.Marshal(wssucs) w.Write(b) } }
func ShowEmpSucs(w http.ResponseWriter, r *http.Request) { var timetolive = 7200 //seconds c := appengine.NewContext(r) var b []byte cachename := "sucs_" + r.FormValue("id") if item, err := memcache.Get(c, cachename); err == memcache.ErrCacheMiss { emsucs := model.GetEmpSucursales(c, r.FormValue("id")) if emsucs == nil { w.WriteHeader(http.StatusNotFound) return } wssucs := make([]wssucursal, len(*emsucs), cap(*emsucs)) for i, v := range *emsucs { wssucs[i].IdSuc = v.IdSuc wssucs[i].Sucursal = v.Nombre wssucs[i].DirCalle = v.DirCalle wssucs[i].DirCol = v.DirCol wssucs[i].DirEnt = v.DirEnt wssucs[i].Latitud, _ = strconv.ParseFloat(v.Geo1, 64) wssucs[i].Longitud, _ = strconv.ParseFloat(v.Geo2, 64) } sortutil.AscByField(wssucs, "Sucursal") b, _ = json.Marshal(wssucs) item := &memcache.Item{ Key: cachename, Value: b, Expiration: time.Duration(timetolive) * time.Second, } if err := memcache.Add(c, item); err == memcache.ErrNotStored { c.Errorf("memcache.Add %v : %v", cachename, err) if err := memcache.Set(c, item); err == memcache.ErrNotStored { c.Errorf("Memcache.Set %v : %v", cachename, err) } else { c.Infof("memcached %v", cachename) } } else { c.Infof("memcached %v", cachename) } } else { c.Infof("memcache retrieve sucs_idemp : %v", r.FormValue("id")) b = item.Value } w.Header().Set("Content-Type", "application/json") w.Header().Set("Access-Control-Allow-Origin", "*") w.Write(b) }
/* Listado de sucursales por empresa con la oferta marcada */ func ShowEmpSucursalOft(w http.ResponseWriter, r *http.Request) { c := appengine.NewContext(r) emsucs := model.GetEmpSucursales(c, r.FormValue("idemp")) if emsucs != nil { ofsucs, _ := model.GetOfertaSucursales(c, r.FormValue("idoft")) wssucs := make([]WsSucursal, len(*emsucs), cap(*emsucs)) for i, es := range *emsucs { for _, os := range *ofsucs { if os.IdSuc == es.IdSuc { wssucs[i].IdOft = os.IdOft } } wssucs[i].IdSuc = es.IdSuc wssucs[i].IdEmp = es.IdEmp wssucs[i].Sucursal = es.Nombre wssucs[i].FechaHora = es.FechaHora } sortutil.AscByField(wssucs, "Sucursal") w.Header().Set("Content-Type", "application/json") b, _ := json.Marshal(wssucs) w.Write(b) } }