Prechádzať zdrojové kódy

store history on day

Erwin Jacimino 8 mesiacov pred
rodič
commit
df672722f1
3 zmenil súbory, kde vykonal 12 pridanie a 2 odobranie
  1. 2 1
      models/sales.py
  2. 9 0
      routes/sales.py
  3. 1 1
      services/data_service.py

+ 2 - 1
models/sales.py

@@ -1,3 +1,4 @@
+from datetime import datetime
 from typing import List, Optional
 from pydantic import BaseModel
 
@@ -28,7 +29,7 @@ class Sale(BaseModel):
     user_id: int
     total: float
     fudo_id: str
-    date: str
+    date: datetime
     table: int
     username: Optional[str] = None
     user_email: Optional[str] = None

+ 9 - 0
routes/sales.py

@@ -2,6 +2,7 @@ from logging import getLogger
 from venv import logger
 from fastapi.responses import JSONResponse
 from config.messages import ErrorResponse, UserResponse
+from datetime import datetime, timedelta, time
 from services.data_service import DataServiceFactory
 from fastapi import APIRouter, Depends
 from models.sales import Sale
@@ -22,6 +23,14 @@ def get_user_sales(user_id: int):
             content={"message": UserResponse.USER_NOT_FOUND}
         )
     sales = sale_data_service.get_by_user(user_id)
+    
+    # solo las ventas del dia, estilo 12pm a 3am del dia siguiente
+    # suponiendo que today es la fecha de referencia
+    start = datetime.combine(datetime.today(), time(12, 0))          # hoy a las 12:00 pm
+    end = start + timedelta(hours=15)                     # mañana a las 3:00 am
+
+    sales = [sale for sale in sales if start <= sale.date < end]
+    
     if not sales:
         return JSONResponse(status_code=200, content={
             "sales": [],

+ 1 - 1
services/data_service.py

@@ -1006,7 +1006,7 @@ class SalesDataService(BaseDataService):
                 user_id=sale[1],
                 total=sale[2],
                 fudo_id=sale[3],
-                date=sale[4],
+                date=datetime.fromisoformat(sale[4]),
                 table=sale[5],
                 username=sale[6],
                 user_email=sale[7],