from django.core.management.base import BaseCommand

from api.models import TtStaff, TtLocation, TtStudentSet, TtActivityTemplate, TtActivity, TtModule, TtActivityWeek
from api.utils import convert_to_redis_week, bulk_sync_to_redis
from backend.kafka import send_request
from backend.redis_client import redis_client

class Command(BaseCommand):
    def handle(self, *args, **options):
        module_code = [
            'DMED-OCT2026-MDC1013-FT',
            'DMED-OCT2026-MDC1023-FT',
            'DMED-OCT2026-MDC1033-FT',
            'DMED-OCT2026-MDC1042-FT',
            'DMED-OCT2026-MDC1052-FT',
        ]
        total = 0
        method = "activity_update"
        kafka_topic = "microservices-tt"
        kafka_activity = []
        module_ids = list(TtModule.objects.filter(code__in=module_code).values_list("id", flat=True))
        activities = TtActivity.objects.filter(module_id__in=module_ids,week_pattern_id__isnull=False)
        for val in activities:
            week_pattern_id = val.week_pattern_id
            total += 1
            data = {
                "id": val.id,
                "week_pattern_id": week_pattern_id,
            }
            kafka_activity.append(data)
        kafka_request_data = {
            "session_id": "",
            "activity": kafka_activity,
        }
        send_request(kafka_topic, kafka_request_data, None, method)
        print("activity count:"+str(total))