- F0 blindaje: Redis/Celery, pg_hba sin trust LAN, secretos a env 600, backups, webhook auth, jobs muertos - F1 caja: bugs POS, reembolsos al corte, apartados, CFDI, topes de descuento en cotizacion/apartado - F2/F7 IA de catalogo: autocategorizacion, dedup de SKUs con embeddings, OCR de facturas, descripciones, claves SAT, limpieza de fitment - F3 IA en el flujo: vision Yonke, preguntas MeLi, venta cruzada, anomalias, sinonimos, busqueda semantica (rerank/embeddings) - F4/F8 escala y cartera: /metrics+Prometheus+Grafana, pool, score de credito, churn, metricas multi-tenant - Nexus Yonke (M1-M6): modelo de datos 1-de-1, alta por donador, vitrina publica, MeLi usado, consignacion, garantia por dias, reportes, etiquetas - Marketplace B2B entre yonkes (catalogo + pedidos cross-tenant) - Seguridad: auth en /api/admin/* (35 endpoints), alertas por tenant - Migraciones v4.27/v4.28; timers expire-demos y rollup-metrics
34 lines
1.2 KiB
SQL
34 lines
1.2 KiB
SQL
-- : SKIP
|
|
-- Marketplace orders (cross-tenant)
|
|
-- These tables go in nexus_autoparts (master DB), not tenant DBs
|
|
|
|
CREATE TABLE IF NOT EXISTS marketplace_orders (
|
|
id SERIAL PRIMARY KEY,
|
|
buyer_tenant_id INTEGER NOT NULL,
|
|
seller_tenant_id INTEGER NOT NULL,
|
|
buyer_name VARCHAR(200),
|
|
seller_name VARCHAR(200),
|
|
total NUMERIC(12,2),
|
|
status VARCHAR(20) DEFAULT 'pending', -- pending, confirmed, shipped, delivered, cancelled
|
|
notes TEXT,
|
|
created_at TIMESTAMPTZ DEFAULT NOW(),
|
|
updated_at TIMESTAMPTZ DEFAULT NOW()
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS marketplace_order_items (
|
|
id SERIAL PRIMARY KEY,
|
|
order_id INTEGER REFERENCES marketplace_orders(id),
|
|
part_number VARCHAR(100),
|
|
part_name VARCHAR(300),
|
|
quantity INTEGER,
|
|
unit_price NUMERIC(12,2),
|
|
subtotal NUMERIC(12,2)
|
|
);
|
|
|
|
CREATE INDEX IF NOT EXISTS idx_mp_orders_buyer ON marketplace_orders(buyer_tenant_id);
|
|
CREATE INDEX IF NOT EXISTS idx_mp_orders_seller ON marketplace_orders(seller_tenant_id);
|
|
CREATE INDEX IF NOT EXISTS idx_mp_orders_status ON marketplace_orders(status);
|
|
|
|
-- Add is_seller flag to tenants table
|
|
ALTER TABLE tenants ADD COLUMN IF NOT EXISTS is_seller BOOLEAN DEFAULT FALSE;
|