New alert system and panel de control page
This commit is contained in:
@@ -10,16 +10,24 @@ from datetime import datetime, timedelta, timezone
|
||||
import structlog
|
||||
|
||||
from shared.config.base import BaseServiceSettings
|
||||
from shared.alerts.base_service import AlertServiceMixin
|
||||
from shared.alerts.base_service import BaseAlertService
|
||||
|
||||
logger = structlog.get_logger()
|
||||
|
||||
|
||||
class ProcurementNotificationService(AlertServiceMixin):
|
||||
class ProcurementNotificationService(BaseAlertService):
|
||||
"""Service for sending procurement-related notifications and alerts"""
|
||||
|
||||
def __init__(self, config: BaseServiceSettings):
|
||||
self.config = config
|
||||
super().__init__(config)
|
||||
|
||||
def setup_scheduled_checks(self):
|
||||
"""Procurement service doesn't use scheduled checks - alerts are event-driven"""
|
||||
pass
|
||||
|
||||
async def register_db_listeners(self, conn):
|
||||
"""Procurement service doesn't use database triggers - alerts are event-driven"""
|
||||
pass
|
||||
|
||||
async def send_pos_pending_approval_alert(
|
||||
self,
|
||||
|
||||
@@ -25,6 +25,10 @@ import structlog
|
||||
|
||||
from app.models.customer import Customer
|
||||
|
||||
# Add shared path for demo utilities
|
||||
sys.path.insert(0, str(Path(__file__).parent.parent.parent.parent))
|
||||
from shared.utils.demo_dates import BASE_REFERENCE_DATE
|
||||
|
||||
# Configure logging
|
||||
logger = structlog.get_logger()
|
||||
|
||||
@@ -32,9 +36,6 @@ logger = structlog.get_logger()
|
||||
DEMO_TENANT_SAN_PABLO = uuid.UUID("a1b2c3d4-e5f6-47a8-b9c0-d1e2f3a4b5c6") # Individual bakery
|
||||
DEMO_TENANT_LA_ESPIGA = uuid.UUID("b2c3d4e5-f6a7-48b9-c0d1-e2f3a4b5c6d7") # Central bakery
|
||||
|
||||
# Base reference date for date calculations
|
||||
BASE_REFERENCE_DATE = datetime(2025, 1, 15, 12, 0, 0, tzinfo=timezone.utc)
|
||||
|
||||
|
||||
def load_customer_data():
|
||||
"""Load customer data from JSON file"""
|
||||
|
||||
@@ -29,6 +29,10 @@ from app.models.order import CustomerOrder, OrderItem
|
||||
from app.models.customer import Customer
|
||||
from app.models.enums import OrderStatus, PaymentMethod, PaymentStatus, DeliveryMethod
|
||||
|
||||
# Add shared path for demo utilities
|
||||
sys.path.insert(0, str(Path(__file__).parent.parent.parent.parent))
|
||||
from shared.utils.demo_dates import BASE_REFERENCE_DATE
|
||||
|
||||
# Configure logging
|
||||
logger = structlog.get_logger()
|
||||
|
||||
@@ -36,9 +40,6 @@ logger = structlog.get_logger()
|
||||
DEMO_TENANT_SAN_PABLO = uuid.UUID("a1b2c3d4-e5f6-47a8-b9c0-d1e2f3a4b5c6") # Individual bakery
|
||||
DEMO_TENANT_LA_ESPIGA = uuid.UUID("b2c3d4e5-f6a7-48b9-c0d1-e2f3a4b5c6d7") # Central bakery
|
||||
|
||||
# Base reference date for date calculations
|
||||
BASE_REFERENCE_DATE = datetime(2025, 1, 15, 12, 0, 0, tzinfo=timezone.utc)
|
||||
|
||||
|
||||
def load_orders_config():
|
||||
"""Load orders configuration from JSON file"""
|
||||
|
||||
Reference in New Issue
Block a user