fos-alex / estamos-para-ayudarlo

1 stars 2 forks source link

Servicio de Productos para módulo de Compras #48

Open jbichman opened 10 years ago

jbichman commented 10 years ago

Dani, necesito un servicio al cuál le pase un id de supermercado y me retorne un listado de productos con la siguiente info:

Mi idea para el módulo de compras es la siguiente: Cargar la lista del usuario, por ejemplo

Mostrarle la lista de productos que encuadran con esa lista para el supermercado en el que se encuentra, por ejemplo:

Que el usuario pueda 'tildar' lo que compra y su cantidad (similar al abm de listas esto) Que luego confirme o algo así... y que se le muestre la suma que va a gastar (por eso ambos precios) ((También tendríamos que hacer una tabla de 'compras' por usuario para almacenar esta info para las estadísticas... o nosé, vemos..)) También sería ideal colgar de esta sección el módulo de promociones que está haciendo Pato.., en vez de que salten en el mapa,... que salte acá... Espero que se haya entendido algo, sino preguntame Qué opinás? lo ves factible??

pdbenitez commented 10 years ago

Si si se entendio bien y es muy factible pero tengo algunos comentarios y aclaraciones.

El id_supermercado es lo q mandarias, me parece q no es necesario q yo te lo vuelva a mandar xq con ese id ya sabes de q super es. Hoy en dia los productos genericos pertenecen a una categoria. En el ejemplo esta en Lacteos (ademas hay otras categorias, Limpieza, enlatados, carniceria) Claro crear una tabla mas es lo q habia pensado para las listas de compras q decia antes xq para las estadisticas necesito saber q productos especificos y no los genericos se compraron.

Entonces yo te deberia mandar la info de esta forma. -Id de producto -Precio -Precio con promoción -Categoría

jbichman commented 10 years ago

Perfecto, dale para adelante! Faltaría el nombre que me olvidé de pedirte jeje... Pregunta: Se le puede agregar... categoría (lácteos) y genérico (leche) a cada producto? Ejemplo: id: 1 nombre: leche la serenísima descremada 1lt precio: null precioConPromocion: 12 categoria: lacteos generico: leche

Yo para matchear con las listas de compras... matcheo leche con el producto.. y la categoría la guardo por si quiere hacer el recorrido en el super... Por que si me devuelve solo la categoría, capaz el tipo quiere leche y yo le muestro casancream porque pertenece a 'lacteos'

Gracias!

pdbenitez commented 10 years ago

Claro entiendo. Si se puede (En realidad aun no pero si agrego un campo a la tabla de precios cuidados si voy a poder). Igual una aclaracion mas, puedo devolverte todo lo q me estas pidiendo pero puede q el id del producto se repita. Esto es xq el producto puede venir desde 2 tablas distintas: -productosdetalle -precioscuidados Pero para vos seria lo mismo y no deberias tener problemas, yo desde mi lado me voy a encargar de diferenciarlos y de saber cuando estas hablando de uno u otro producto (cuando uno tiene precio null o precio con promocion null por ejemplo)

jbichman commented 10 years ago

Dani, aún no arranques con esto... tengo que ver bien cómo lo voy a implementar. Yo te aviso en breve. El id te lo pedí al pedo en realidad..., creo que no lo voy a necesitar, jaja Gracias.

jbichman commented 10 years ago

Dani, dale para adelante con éste, cómo habíamos quedado: id: 1 nombre: leche la serenísima descremada 1lt precio: null precioConPromocion: 12 categoria: lacteos generico: leche

Después la idea es ver si se puede comprar dsd el QR pero lo dejamos para una segunda instancia. Avisame cuando esté Gracias!!

pdbenitez commented 10 years ago

Listo el servicio. Se consulta de la sig manera: GET app/compra/id_supermercado Eso te devuelve todos los productos del super mas los productos de los precios cuidados, en el formato q me lo pediste. Cualquier duda/cambio me decis.

jbichman commented 10 years ago

Dani, te animás a implementar éste servicio dsd el lado Mobile? Sería completar el producto-service.js existente con este nuevo GET, o sino armar un servicio de producto distinto para este caso (ya que es más detallado) Avisame! Gracias

pdbenitez commented 10 years ago

Dale yo me encargo.

jbichman commented 10 years ago

Dani, la idea del módulo de compras on demand es la siguiente (te redacto todo por si se te ocurre una forma más fácil de hacer el tema del servicio de producto):

Bueno, eso sería todo... La idea del servicio de producto es que yo pueda identificar de alguna forma ese producto y sacar descripción (para la lista), categoría (para el recorrido) y precio -con o sin descuento- (para la suma). Esa identificación (id producto, o id producto + id super, o cómo se esté manejando...) tiene que levantarse del QR.

Si querés ver lo que hay más o menos, en el Mapa/icono del carrito/'Compra on-demand' Podés ver mas o menos cómo está estructurado. Igualmente me faltan los métodos, que es lo mas jodido.

Avisame cualquier cosa y lo charlamos. Creo que el servicio de producto que hiciste puede servir bien para lo que necesitamos!

pdbenitez commented 10 years ago

Recien puedo leer esto con atencion. Actualmente hay 2 tablas distintas una para los productos de los precios cuidados y otra para los productos detalle de los supermercados. Solo con el id puedo saber de que producto estamos hablando, lo unico q habria q diferenciar bien cuando es uno u otro (xq por ejemplo si obtengo el id = 10 no se sabe si esta hablando de un producto de un super en particular o de uno de los precios cuidados).

Por lo q estuve viendo el scan QR es de esta forma {"id":"1","nombre":"Coca","descripcion":"Gaseosa de primera linea!","precio":"20","imagen":"./img/coke.jpg","info":"http://www.coca-cola.com.ar/"}

Si en vez de ID podria usar id_productodetalle o id_preciocuidado, se podria hacer tranquilamente esto q me pedis.

jbichman commented 10 years ago

Dani, ayer estuve avanzando un poco en el método que va a usar este servicio (si mal no recuerdo está en el controller de lista-detalle, y se llama agregarProducto) Lo que voy a hacer es llamarlo así:

ProductoDetalle.get(id_que_viene_en_el_qr) y necesito que me devuelva estos datos (de mínima): {'id': el de la tabla de productos, 'descripcion': que nombre tiene en la base, 'categoria': para el recorrido, 'precio': ya sea cuidado o con descuento}

Si te resulta mas fácil que traiga 'precio' y 'preciocuidado', a mi me es indistinto.

El tema del id, que me dijiste que viene de dos tablas distintas... osea mi único dato desde la aplicación va a ser el id que viene del QR. Eso no sería problema porque al momento de generar el qr le mandamos nosotros el id, el tema es que el servicio sepa diferenciar si ese id es de precio cuidado o de la tabla del detalle... También supongo que debe influir el id de supermercado, no? Osea, hay alguna forma que al hacer la consulta pueda diferenciar de que tabla es? (o sino ponele, cambiar los ids de la tabla de precios cuidados que arranquen dsd el 100 y en el query hacemos un left join entre las dos tablas y buscamos cual tiene el id) Nose si se entiende, jeje Avisame y lo charlamos. Si querés chusmeá el método que armé en el controller que va a usar el servicio.. dejé todo comentado.

Gracias!

pdbenitez commented 10 years ago

No no el id del supermercado no influye en este caso para nada . No se me habia ocurrido esa opcion q los ids arranquen desde cierto numero, me parece un poco cabeza pero muy simple y sin agregar nada raro jaja. Hacemos esa entonces cambio los ids y listo!

pdbenitez commented 10 years ago

Me olvide de aclararlo, con GET compraondemand/id_producto se consulta la info necesaria

jbichman commented 10 years ago

Dani, necesitaría las siguientes modificaciones:

serviciocompras

Y si podés, pasame más ids de productos que existan en la base de producto detalle (así pruebo una lista con varios)

Gracias!!!

pdbenitez commented 10 years ago

Listo Juli ya hice las modificaciones.

Te paso los ids para probar Productos --> desde id=68 hasta id=135 Cuidados --> desde id=10005 hasta id=10317

x una tramoya rara q tuve q hacer para los precios cuidados puede haber algunos productos de ese rango q no te devuelvan productos. Si llega a pasar eso proba con otro id del rango y listo!

jbichman commented 9 years ago

Dani, hoy estuvimos con Alex viendo la integración del módulo compras. Tengo un par de modificaciones de este servicio:

Servicio Producto Detalle

Y además necesito que devuelva el id del producto genérico (el que viene en el abm de lista) Por ejemplo, si un producto detalle es id 100 descripción 'Dulce de Leche Gándara 1kg' en la tabla de producto detalle / precios cuidados y id 40 descripción 'Dulce de Leche' en la tabla de productos genéricos, que me devuelva tmb este id 40 (aparte de todo lo que trae... se entiende?)

También necesito agregar algo al servicio de Listas (el que te trae todas las listas con sus productos por cada usuario, el que se usa en el abm de listas) Necesito que aparte del 'id de categoria' en la lista de productos, también traiga la descripción de la categoría... es decir por ejemplo: id categoria 4, nombre categoria: 'Lacteos'... esto por cada producto de la lista Imagen: dani1

Otra pregunta, se puede hacer una función o algo que me devuelva la sucursal en la que estoy? Recuerdo que en un momento habíamos dicho que se podía hacer por localización... osea necesitaría una funcioncita que me devuelva la sucursal actual (id)

Gracias!!!!

jbichman commented 9 years ago

ANOTO PARA NO OLVIDARNOS (de esto no tenés que hacer nada Dani!): AL QR DE PRODUCTO HABRÁ QUE AGREGARLE:

AGREGAR AL QR: SUCURSAL ID PRODUCTO DETALLE ID PRODUCTO GENERICO

(esto para la compra on-demand)

pdbenitez commented 9 years ago

Dale entre hoy y mañana te hago los servicios. Y si se puede saber xq pregunto x la distancia entre el punto actual y las coordenadas del super, si es 0 entonces estas en esa sucursal.

jbichman commented 9 years ago

Joya, me hacés entonces un servicio para obtener la sucursal actual? con el id de sucursal creo que estamos bien Gracias

El 28 de octubre de 2014, 12:31, pdbenitez notifications@github.com escribió:

Dale entre hoy y mañana te hago los servicios. Y si se puede saber xq pregunto x la distancia entre el punto actual y las coordenadas del super, si es 0 entonces estas en esa sucursal.

— Reply to this email directly or view it on GitHub https://github.com/fos-alex/estamos-para-ayudarlo/issues/48#issuecomment-60774977 .

Juliana Bichman

pdbenitez commented 9 years ago

Dale cuando lo tenga te aviso.

pdbenitez commented 9 years ago

Listo juli ya esta todo hecho. Haciendo un POST app/sucursalactual con la info de tu posicion actual ejemplo: {"latitud":-34.6662709,"longitud":-58.44001259999999} te devuelve el id de la sucursal en caso de q estes en cualquier sucursal o un msj diciendo q no estas en una sucursal en ese momento. Cualquier cosa q necesites me avisas!

pdbenitez commented 9 years ago

Me olvide de avisar, los otros 2 cambios q me pediste tmb ya estan subidos. De paso aproveche para sacar algunos campos q se enviaban al celu al pedo xq no se utilizaban para nada.

jbichman commented 9 years ago

Gracias!!! :) hoy completo el lado del desarrollo con los servicios!!!

El 30 de octubre de 2014, 2:19, pdbenitez notifications@github.com escribió:

Me olvide de avisar, los otros 2 cambios q me pediste tmb ya estan subidos. De paso aproveche para sacar algunos campos q se enviaban al celu al pedo xq no se utilizaban para nada.

— Reply to this email directly or view it on GitHub https://github.com/fos-alex/estamos-para-ayudarlo/issues/48#issuecomment-61046914 .

Juliana Bichman

jbichman commented 9 years ago

Nuevo modelo de QR:

{"id":100, "id_generico":63, "nombre":"DULCE DE LECHE COTO", "descripcion":"Dulce de leche de primera calidad", "precio":"18.07", "categoria":"Almacen", "imagen":"./img/ddl.jpg", "info":"http://www.coto.com.ar/"}

qrddl

jbichman commented 9 years ago

TO - DO (Juli): agregar id_sucursal al QR!

jbichman commented 9 years ago

Dani, te acordás que ayer te pedí que agregues a este servicio: GET compraondemand/id_producto que le agregues el nombre del genérico?? Debería ser algo así:

descripcion: 'Dulce de Leche' -cambiamos: acá venía el nombre del producto detalle, pero ahora vendría el del genérico- nombre: 'Dulce de Leche coto blabla' -NUEVO: viene el nombre del producto detalle- id: id del producto detalle -queda igual- id_generico: id del generico -queda igual- categoria: 'Lacteos' -queda igual- precio: 18.30 -Queda igual-

Resumen: en 'descripción', donde traía el nombre del producto detalle, traer el nombre del producto genérico... y: agregar un campo: 'nombre' con el nombre del producto detalle que fui a buscar.. Cuando lo tengas avisame y cualquier duda también, obvio :) Graciassss

jbichman commented 9 years ago

producto_detalle_servicio

Avisame cuando este!!! Graciassss