mirror of
https://github.com/R0m1k3/CollectFlow.git
synced 2026-10-23 15:08:12 +02:00
Portage du module Produits : recherche Qlik d'abord, fiche produit, opportunités
- /api/produits/search (POST démarre un job, GET suit l'avancement) : Qlik d'abord, repli catalogue FF (source: "db"), cache mémoire 10 min des seuls résultats Qlik exploitables, une recherche Qlik à la fois. - /api/produits/opportunites : produits de la même famille, local vs réseau. - Page produit-fiche (?codein= ou ?cc=) : getProduitFiche / getProduitFicheByCodeCentrale, report du stock de fin de mois. - normalizeMargePct (compare-reseau) et types JSON identiques au client. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LG2LLJuswrrTTPKJmunEVf
This commit is contained in:
6 files changed
+1463
-2
No files matched your search
@@ -1,11 +1,28 @@
|
||||
//! Module `produits` — à porter.
|
||||
//! Module `produits` — recherche produit (Qlik d'abord, base FF Nancy en repli)
|
||||
//! et fiche produit.
|
||||
//!
|
||||
//! - [`search`] : recherche asynchrone (jobs en mémoire, cache 10 min) ;
|
||||
//! - [`fiche`] : assemblage de la fiche produit (local + réseau) ;
|
||||
//! - [`compare_reseau`] : normalisation du taux de marge réseau ;
|
||||
//! - [`types`] : formes JSON partagées avec l'interface ;
|
||||
//! - [`routes`] : `/api/produits/search`, `/api/produits/opportunites`, page `produit-fiche`.
|
||||
|
||||
pub mod compare_reseau;
|
||||
pub mod fiche;
|
||||
pub mod routes;
|
||||
pub mod search;
|
||||
pub mod types;
|
||||
|
||||
use crate::handler;
|
||||
use crate::rpc::Handler;
|
||||
use axum::routing::get;
|
||||
use axum::Router;
|
||||
|
||||
/// Routes HTTP du module.
|
||||
pub fn router() -> Router {
|
||||
Router::new()
|
||||
.route("/api/produits/search", get(routes::search_get).post(routes::search_post))
|
||||
.route("/api/produits/opportunites", get(routes::opportunites))
|
||||
}
|
||||
|
||||
/// Actions (`POST /api/actions/{nom}`) du module.
|
||||
@@ -15,5 +32,5 @@ pub fn actions() -> Vec<(&'static str, Handler)> {
|
||||
|
||||
/// Données de pages (`GET /api/pages/{nom}`) du module.
|
||||
pub fn pages() -> Vec<(&'static str, Handler)> {
|
||||
vec![]
|
||||
vec![("produit-fiche", handler!(routes::page_produit_fiche))]
|
||||
}
|
||||
Reference in new issue
Block a user