mirror of
https://github.com/GSA/notifications-api.git
synced 2026-02-01 15:46:07 -05:00
Merge pull request #1129 from alphagov/use-bst-for-month
Use BST to calculate monthly billing
This commit is contained in:
@@ -298,5 +298,5 @@ def populate_monthly_billing():
|
||||
# this will overwrite the existing amount.
|
||||
yesterday = datetime.utcnow() - timedelta(days=1)
|
||||
start_date, end_date = get_month_start_end_date(yesterday)
|
||||
services = get_service_ids_that_need_sms_billing_populated(start_date, end_date=end_date)
|
||||
[create_or_update_monthly_billing_sms(service_id=s.service_id, billing_month=start_date) for s in services]
|
||||
services = get_service_ids_that_need_sms_billing_populated(start_date=start_date, end_date=end_date)
|
||||
[create_or_update_monthly_billing_sms(service_id=s.service_id, billing_month=yesterday) for s in services]
|
||||
|
||||
@@ -2,6 +2,8 @@ from datetime import datetime, timedelta
|
||||
|
||||
import pytz
|
||||
|
||||
from app.utils import convert_bst_to_utc
|
||||
|
||||
|
||||
def get_financial_year(year):
|
||||
return get_april_fools(year), get_april_fools(year + 1) - timedelta(microseconds=1)
|
||||
@@ -28,4 +30,4 @@ def get_month_start_end_date(month_year):
|
||||
_, num_days = calendar.monthrange(month_year.year, month_year.month)
|
||||
first_day = datetime(month_year.year, month_year.month, 1, 0, 0, 0)
|
||||
last_day = datetime(month_year.year, month_year.month, num_days, 23, 59, 59, 99999)
|
||||
return first_day, last_day
|
||||
return convert_bst_to_utc(first_day), convert_bst_to_utc(last_day)
|
||||
|
||||
@@ -26,7 +26,7 @@ def create_or_update_monthly_billing_sms(service_id, billing_month):
|
||||
# update monthly
|
||||
monthly_totals = _monthly_billing_data_to_json(monthly)
|
||||
row = MonthlyBilling.query.filter_by(year=billing_month.year,
|
||||
month=datetime.strftime(billing_month, "%B"),
|
||||
month=datetime.strftime(end_date, "%B"),
|
||||
notification_type='sms').first()
|
||||
if row:
|
||||
row.monthly_totals = monthly_totals
|
||||
@@ -34,7 +34,7 @@ def create_or_update_monthly_billing_sms(service_id, billing_month):
|
||||
row = MonthlyBilling(service_id=service_id,
|
||||
notification_type=SMS_TYPE,
|
||||
year=billing_month.year,
|
||||
month=datetime.strftime(billing_month, "%B"),
|
||||
month=datetime.strftime(end_date, "%B"),
|
||||
monthly_totals=monthly_totals)
|
||||
db.session.add(row)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user