<?php
$pageTitle = '流量Sim卡管理';
require_once dirname(__DIR__) . '/config.php';
requireLogin();

$pdo = getDB();
$errors = [];
$success = '';

if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['action'])) {
    if ($_POST['action'] === 'add') {
        $euicc = trim($_POST['euicc_number'] ?? '');
        $nickname = trim($_POST['nickname'] ?? '');

        if (!preg_match('/^\d{11}$/', $nickname)) {
            $errors[] = '引用编号必须为 11 位数字';
        } else {
            $stmt = $pdo->prepare("SELECT id FROM euniccs WHERE nickname = ?");
            $stmt->execute([$nickname]);
            if ($stmt->fetch()) {
                $errors[] = '该引用编号已被使用，请换一个';
            } elseif ($euicc === '') {
                $errors[] = 'SIM卡背面的 eUICC 编号不能为空';
            } else {
                $stmt = $pdo->prepare("INSERT INTO euniccs (user_id, euicc_number, nickname) VALUES (?, ?, ?)");
                try {
                    $stmt->execute([$_SESSION['user_id'], $euicc, $nickname]);
                    $success = '流量Sim卡编号添加成功，后续购买流量套餐时可直接引用。';
                } catch (PDOException $e) {
                    $errors[] = 'eUICC 编号已存在';
                }
            }
        }
    } elseif ($_POST['action'] === 'delete') {
        $id = intval($_POST['card_id'] ?? 0);
        $stmt = $pdo->prepare("DELETE FROM euniccs WHERE id = ? AND user_id = ?");
        $stmt->execute([$id, $_SESSION['user_id']]);
        $success = '该流量Sim卡记录已删除';
    } elseif ($_POST['action'] === 'edit') {
        $id = intval($_POST['card_id'] ?? 0);
        $nickname = trim($_POST['nickname'] ?? '');
        if (!preg_match('/^\d{11}$/', $nickname)) {
            $errors[] = '引用编号必须为 11 位数字';
        } else {
            $stmt = $pdo->prepare("SELECT id FROM euniccs WHERE nickname = ? AND id != ?");
            $stmt->execute([$nickname, $id]);
            if ($stmt->fetch()) {
                $errors[] = '该引用编号已被使用';
            } else {
                $stmt = $pdo->prepare("UPDATE euniccs SET nickname = ? WHERE id = ? AND user_id = ?");
                $stmt->execute([$nickname, $id, $_SESSION['user_id']]);
                $success = '流量Sim卡引用编号已更新';
            }
        }
    }
}

$stmt = $pdo->prepare("SELECT * FROM euniccs WHERE user_id = ? ORDER BY created_at DESC");
$stmt->execute([$_SESSION['user_id']]);
$cards = $stmt->fetchAll();

require_once dirname(__DIR__) . '/includes/header.php';
?>
<style>
.sim-shell{max-width:1160px;margin:0 auto;padding:24px 0}
.sim-hero{position:relative;overflow:hidden;background:linear-gradient(135deg,#0f172a 0%,#155e75 45%,#0ea5e9 100%);border-radius:24px;color:#fff;padding:30px;box-shadow:0 18px 42px rgba(14,165,233,.18);margin-bottom:24px}
.sim-hero:after{content:"";position:absolute;right:-40px;top:-30px;width:220px;height:220px;background:radial-gradient(circle,rgba(255,255,255,.18),rgba(255,255,255,0));}
.sim-card{background:#fff;border:1px solid #e5edf6;border-radius:20px;box-shadow:0 10px 30px rgba(15,23,42,.05)}
.sim-card .card-body{padding:24px}
.guide-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-top:18px}
.guide-box{background:#f8fafc;border:1px solid #dbeafe;border-radius:18px;padding:16px}
.guide-step{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:999px;background:#dbeafe;color:#1d4ed8;font-weight:800;margin-bottom:10px}
.form-panel{background:linear-gradient(180deg,#ffffff,#f8fbff);border:1px solid #e2e8f0;border-radius:18px;padding:20px;margin-bottom:18px}
.table-modern thead th{background:#f8fafc;color:#475569;font-size:.8rem;border-bottom:1px solid #e2e8f0}.table-modern td{vertical-align:middle}
.code-chip{display:inline-flex;align-items:center;gap:8px;background:#eff6ff;color:#1d4ed8;border-radius:999px;padding:6px 12px;font-size:.76rem;font-weight:700}
</style>
<div class="container py-4">
    <div class="row">
        <div class="col-md-3"><?php include 'sidebar.php'; ?></div>
        <div class="col-md-9">
            <div class="sim-shell">
                <div class="sim-hero">
                    <div class="position-relative" style="z-index:1;">
                        <div class="text-uppercase small opacity-75 mb-2">Sim Card Registry</div>
                        <h4 class="fw-bold mb-2">流量Sim卡管理</h4>
                        <p class="mb-0 text-white-50">请先查阅免费流量 SIM 卡背后的编号，将 eUICC 编号和你的 11 位引用编号录入系统。后续在购买流量套餐时，即可直接引用这个编号完成关联下单。</p>
                        <div class="guide-grid">
                            <div class="guide-box"><div class="guide-step">1</div><div class="fw-semibold mb-1">查看卡背编号</div><div class="small text-muted">找到免费流量 SIM 卡背面的 eUICC / 芯片编号。</div></div>
                            <div class="guide-box"><div class="guide-step">2</div><div class="fw-semibold mb-1">录入引用编号</div><div class="small text-muted">设置一个 11 位数字编号，作为后续流量套餐购买引用号。</div></div>
                            <div class="guide-box"><div class="guide-step">3</div><div class="fw-semibold mb-1">后续下单直接调用</div><div class="small text-muted">购买 eSIM / 流量套餐时，可直接选择已录入的卡编号完成关联。</div></div>
                        </div>
                    </div>
                </div>

                <?php if ($success): ?><div class="alert alert-success"><?php echo htmlspecialchars($success); ?></div><?php endif; ?>
                <?php if (!empty($errors)): ?><div class="alert alert-danger"><?php foreach ($errors as $e): ?><div><?php echo htmlspecialchars($e); ?></div><?php endforeach; ?></div><?php endif; ?>

                <div class="sim-card mb-4"><div class="card-body">
                    <div class="form-panel">
                        <h5 class="fw-bold mb-3"><i class="fas fa-plus-circle text-primary me-2"></i>新增流量Sim卡</h5>
                        <form method="POST">
                            <input type="hidden" name="action" value="add">
                            <div class="row g-3">
                                <div class="col-md-5">
                                    <label class="form-label">SIM卡背面 eUICC 编号</label>
                                    <input type="text" name="euicc_number" class="form-control" placeholder="输入 eUICC 编号" required>
                                </div>
                                <div class="col-md-4">
                                    <label class="form-label">引用编号 <small class="text-muted">(11位数字)</small></label>
                                    <input type="text" name="nickname" class="form-control" placeholder="输入 11 位数字" maxlength="11" pattern="\d{11}" required>
                                </div>
                                <div class="col-md-3 d-flex align-items-end">
                                    <button type="submit" class="btn btn-primary w-100"><i class="fas fa-save me-1"></i>保存卡编号</button>
                                </div>
                            </div>
                        </form>
                    </div>

                    <?php if (empty($cards)): ?>
                    <div class="text-center text-muted py-5">
                        <i class="fas fa-sim-card fa-3x mb-3 opacity-25"></i>
                        <p class="mb-1">还没有录入任何流量Sim卡。</p>
                        <div class="small">录入后即可在后续流量套餐购买中直接引用对应编号。</div>
                    </div>
                    <?php else: ?>
                    <div class="table-responsive">
                        <table class="table table-modern align-middle mb-0">
                            <thead>
                                <tr>
                                    <th>SIM卡背面编号</th>
                                    <th>引用编号</th>
                                    <th>添加时间</th>
                                    <th>操作</th>
                                </tr>
                            </thead>
                            <tbody>
                                <?php foreach ($cards as $card): ?>
                                <tr>
                                    <td class="font-monospace"><?php echo htmlspecialchars($card['euicc_number']); ?></td>
                                    <td><span class="code-chip"><i class="fas fa-hashtag"></i><?php echo htmlspecialchars($card['nickname']); ?></span></td>
                                    <td><?php echo !empty($card['created_at']) ? date('Y-m-d H:i', strtotime($card['created_at'])) : '-'; ?></td>
                                    <td>
                                        <button class="btn btn-sm btn-outline-primary me-1" onclick="editCard(<?php echo (int)$card['id']; ?>, '<?php echo htmlspecialchars($card['nickname'], ENT_QUOTES); ?>')">编辑</button>
                                        <form method="POST" class="d-inline" onsubmit="return confirm('确定删除这条流量Sim卡记录？')">
                                            <input type="hidden" name="action" value="delete">
                                            <input type="hidden" name="card_id" value="<?php echo (int)$card['id']; ?>">
                                            <button type="submit" class="btn btn-sm btn-outline-danger">删除</button>
                                        </form>
                                    </td>
                                </tr>
                                <?php endforeach; ?>
                            </tbody>
                        </table>
                    </div>
                    <?php endif; ?>
                </div></div>
            </div>
        </div>
    </div>
</div>

<div class="modal fade" id="editModal" tabindex="-1">
    <div class="modal-dialog">
        <div class="modal-content">
            <div class="modal-header">
                <h5 class="modal-title">编辑引用编号</h5>
                <button type="button" class="btn-close" data-bs-dismiss="modal"></button>
            </div>
            <form method="POST">
                <div class="modal-body">
                    <input type="hidden" name="action" value="edit">
                    <input type="hidden" name="card_id" id="edit-card-id">
                    <div class="mb-3">
                        <label class="form-label">引用编号 (11位数字)</label>
                        <input type="text" name="nickname" id="edit-nickname" class="form-control" maxlength="11" pattern="\d{11}" required>
                    </div>
                </div>
                <div class="modal-footer">
                    <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">取消</button>
                    <button type="submit" class="btn btn-primary">保存修改</button>
                </div>
            </form>
        </div>
    </div>
</div>
<script>
function editCard(id, nickname) {
    document.getElementById('edit-card-id').value = id;
    document.getElementById('edit-nickname').value = nickname;
    new bootstrap.Modal(document.getElementById('editModal')).show();
}
</script>
<?php require_once dirname(__DIR__) . '/includes/footer.php'; ?>
