Добавлен новый файл integration_api.py для интеграционного API, реализованы функции для создания и проверки токенов, а также эндпоинт для загрузки данных о продажах. Обновлены модели и логика работы с датами в fill_db.py и main.py для использования поля sale_date вместо create_dttm.

This commit is contained in:
Redsandyg
2025-06-09 12:52:49 +03:00
parent 6e804953c0
commit 57188186c0
4 changed files with 82 additions and 5 deletions

10
main.py
View File

@@ -236,11 +236,11 @@ def get_dashboard_chart_total(current_account: Account = Depends(get_current_acc
# Группируем продажи по дате (день)
result = db.exec(
select(
func.strftime('%Y-%m-%d', Sale.create_dttm).label('date'),
func.strftime('%Y-%m-%d', Sale.sale_date).label('date'),
func.sum(Sale.cost).label('revenue'),
func.count(Sale.id).label('sales')
).where(Sale.company_id == current_account.company_id).group_by(func.strftime('%Y-%m-%d', Sale.create_dttm))
.order_by(func.strftime('%Y-%m-%d', Sale.create_dttm))
).where(Sale.company_id == current_account.company_id).group_by(func.strftime('%Y-%m-%d', Sale.sale_date))
.order_by(func.strftime('%Y-%m-%d', Sale.sale_date))
).all()
# Преобразуем результат в нужный формат
data = [
@@ -368,9 +368,9 @@ def get_sales_stat(
"""
sales_query = select(Sale).where(Sale.company_id == current_account.company_id)
if date_start:
sales_query = sales_query.where(Sale.create_dttm >= date_start)
sales_query = sales_query.where(Sale.sale_date >= date_start)
if date_end:
sales_query = sales_query.where(Sale.create_dttm <= date_end)
sales_query = sales_query.where(Sale.sale_date <= date_end)
sales = db.exec(sales_query).all()
ref_ids = list(set(sale.ref for sale in sales))
refs = db.exec(select(Ref).where(Ref.id.in_(ref_ids))).all() if ref_ids else []