Fix migrations
This commit is contained in:
@@ -2,6 +2,7 @@ from datetime import timedelta
|
||||
from urllib.parse import parse_qs
|
||||
from django.utils import timezone
|
||||
from django.db.models import Q
|
||||
from django.db import connection
|
||||
from hotels.models import Reservation, Hotel
|
||||
from .models import UserActivityLog, ViolationLog, RoomDiscrepancy
|
||||
from touchh.utils.log import CustomLogger
|
||||
@@ -35,7 +36,7 @@ class ReservationChecker:
|
||||
def fetch_user_logs(self):
|
||||
try:
|
||||
self.log_info("Начинается извлечение логов активности пользователей.")
|
||||
user_logs = UserActivityLog.objects.filter(created__range=(self.start_time, self.end_time))
|
||||
user_logs = UserActivityLog.objects.filter(fraud_checked=False)
|
||||
self.log_info(f"Найдено {user_logs.count()} логов активности для анализа.")
|
||||
return user_logs
|
||||
except Exception as e:
|
||||
@@ -45,9 +46,7 @@ class ReservationChecker:
|
||||
def fetch_reservations(self):
|
||||
try:
|
||||
self.log_info("Начинается извлечение бронирований.")
|
||||
reservations = Reservation.objects.filter(
|
||||
Q(check_in__lte=self.end_time) & Q(check_out__gte=self.start_time)
|
||||
)
|
||||
reservations = Reservation.objects.filter(fraud_checked=False)
|
||||
self.log_info(f"Найдено {reservations.count()} бронирований для анализа.")
|
||||
return reservations
|
||||
except Exception as e:
|
||||
@@ -127,7 +126,7 @@ class ReservationChecker:
|
||||
self.log_info(f"Запуск проверки с {self.start_time} по {self.end_time}.")
|
||||
try:
|
||||
self.find_violations()
|
||||
self.save_violations()
|
||||
#self.save_violations()
|
||||
except Exception as e:
|
||||
self.log_error(f"Ошибка при выполнении проверки: {e}")
|
||||
self.log_info("Проверка завершена.")
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
# Generated by Django 5.1.4 on 2025-02-01 09:48
|
||||
|
||||
from django.db import migrations
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('antifroud', '0006_alter_roomdiscrepancy_fraud_checked_and_more'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.RemoveField(
|
||||
model_name='roomdiscrepancy',
|
||||
name='fraud_checked',
|
||||
),
|
||||
]
|
||||
@@ -115,7 +115,6 @@ class RoomDiscrepancy(models.Model):
|
||||
verbose_name="Тип несоответствия"
|
||||
)
|
||||
created_at = models.DateTimeField(auto_now_add=True, verbose_name="Дата создания")
|
||||
fraud_checked = models.BooleanField(default=False, verbose_name="Проверено на несоответствия", db_index=True)
|
||||
|
||||
def __str__(self):
|
||||
return f"{self.hotel.name} - Room {self.room_number}: {self.discrepancy_type}"
|
||||
|
||||
18
hotels/migrations/0004_reservation_fraud_checked.py
Normal file
18
hotels/migrations/0004_reservation_fraud_checked.py
Normal file
@@ -0,0 +1,18 @@
|
||||
# Generated by Django 5.1.4 on 2025-02-01 09:48
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('hotels', '0003_rename_external_id_hotel_external_id_pms_and_more'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='reservation',
|
||||
name='fraud_checked',
|
||||
field=models.BooleanField(db_index=True, default=False, verbose_name='Проверено на несоответствия'),
|
||||
),
|
||||
]
|
||||
@@ -116,6 +116,7 @@ class Reservation(models.Model):
|
||||
status = models.CharField(max_length=50, verbose_name="Статус")
|
||||
price = models.DecimalField(max_digits=10, decimal_places=2, null=True, blank=True, verbose_name="Цена")
|
||||
discount = models.DecimalField(max_digits=10, decimal_places=2, null=True, blank=True, verbose_name="Скидка")
|
||||
fraud_checked = models.BooleanField(default=False, verbose_name="Проверено на несоответствия", db_index=True)
|
||||
|
||||
def clean(self):
|
||||
if self.check_out and self.check_in and self.check_out <= self.check_in:
|
||||
|
||||
Reference in New Issue
Block a user