<?php
require_once "../config.php";
require_once "../lib/line.php";

if ($_SERVER['REQUEST_METHOD'] !== 'POST') {
    http_response_code(405);
    exit;
}

/* ===============================
   INPUT
================================ */
$user_id = intval($_POST['user_id'] ?? 0);
$uuid    = $_POST['uuid'] ?? '';
$major   = intval($_POST['major'] ?? 0);
$minor   = intval($_POST['minor'] ?? 0);

if (!$user_id || !$uuid) exit;

/* ===============================
   FIND BEACON
================================ */
$stmt = $conn->prepare("
    SELECT * FROM beacons
    WHERE uuid=? AND major=? AND minor=? AND user_id=?
");
$stmt->bind_param("siii", $uuid,$major,$minor,$user_id);
$stmt->execute();
$beacon = $stmt->get_result()->fetch_assoc();
$stmt->close();

if (!$beacon) exit;

/* ===============================
   ONCE PER DAY CHECK
================================ */
if ($beacon['notify_type'] === 'ONCE_PER_DAY') {
    $chk = $conn->prepare("
        SELECT id FROM logs
        WHERE beacon_id=? AND DATE(created_at)=CURDATE()
    ");
    $chk->bind_param("i", $beacon['id']);
    $chk->execute();
    if ($chk->get_result()->num_rows > 0) exit;
    $chk->close();
}

/* ===============================
   TODAY → ENUM
================================ */
$map = [
  'Mon'=>'monday','Tue'=>'tuesday','Wed'=>'wednesday',
  'Thu'=>'thursday','Fri'=>'friday',
  'Sat'=>'saturday','Sun'=>'sunday'
];
$today = $map[date('D')];

/* ===============================
   GET PENDING ITEMS
================================ */
$sql = "
SELECT i.id,i.item_name
FROM items i
LEFT JOIN item_status s
  ON i.id=s.item_id AND s.date=CURDATE()
WHERE i.user_id=? AND i.day=?
  AND (s.status IS NULL OR s.status='pending')
";
$stmt = $conn->prepare($sql);
$stmt->bind_param("is", $user_id,$today);
$stmt->execute();
$res = $stmt->get_result();

if ($res->num_rows === 0) exit;

/* ===============================
   BUILD MESSAGE
================================ */
$thaiDay = [
 'monday'=>'จันทร์','tuesday'=>'อังคาร','wednesday'=>'พุธ',
 'thursday'=>'พฤหัสบดี','friday'=>'ศุกร์',
 'saturday'=>'เสาร์','sunday'=>'อาทิตย์'
];

$msg = "🎒 เตรียมของวัน{$thaiDay[$today]}\n";
while ($row = $res->fetch_assoc()) {
    $msg .= "☐ {$row['item_name']}\n";
}

/* ===============================
   SEND LINE
================================ */
$userLineId = "Uxxxxxxxxxxxxxxxx"; // ⚠️ map user_id → line_user_id
line_push($userLineId, $msg);

/* ===============================
   LOG
================================ */
$log = $conn->prepare("
    INSERT INTO logs(user_id,beacon_id,message)
    VALUES (?,?,?)
");
$log->bind_param("iis", $user_id,$beacon['id'],$msg);
$log->execute();
$log->close();

echo json_encode(["status"=>"ok"]);
