-- =====================================================
-- DỮ LIỆU MẪU ĐỂ TEST HỆ THỐNG
-- =====================================================

USE luathinhsu_db;

-- =====================================================
-- THÊM USER MẪU
-- =====================================================
-- Password mặc định: password123
INSERT INTO users (username, email, password_hash, full_name, role, status) VALUES
('admin', 'admin@luathinhsu.vn', '$2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi', 'Quản trị viên', 'admin', 'active'),
('user1', 'user1@luathinhsu.vn', '$2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi', 'Nguyễn Văn A', 'user', 'active'),
('user2', 'user2@luathinhsu.vn', '$2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi', 'Trần Thị B', 'user', 'active'),
('moderator', 'mod@luathinhsu.vn', '$2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi', 'Lê Văn C', 'moderator', 'active')
ON DUPLICATE KEY UPDATE user_id=user_id;

-- =====================================================
-- THÊM TÀI LIỆU MẪU
-- =====================================================

-- Tài liệu 1: Luật Hình sự 2015
INSERT INTO documents (
    document_title,
    document_number,
    document_code,
    category_id,
    document_type,
    file_name,
    original_file_name,
    file_path,
    file_url,
    file_size,
    file_format,
    mime_type,
    description,
    keywords,
    summary,
    issuing_agency,
    issuing_date,
    effective_date,
    status,
    is_public,
    is_featured,
    uploaded_by,
    view_count,
    download_count,
    published_at
) VALUES (
    'Luật Hình sự 2015',
    '100/2015/QH13',
    'LUAT_HINH_SU_2015',
    1, -- Category: Luật
    'van_ban_phap_luat',
    'sample_luat_hinh_su_2015.pdf',
    'Luật Hình sự 2015.pdf',
    'uploads/documents/samples/luat_hinh_su_2015.pdf',
    'http://localhost/server_backend/uploads/documents/samples/luat_hinh_su_2015.pdf',
    2048000,
    'pdf',
    'application/pdf',
    'Luật Hình sự được Quốc hội nước Cộng hòa xã hội chủ nghĩa Việt Nam khóa XIII, kỳ họp thứ 10 thông qua ngày 27 tháng 11 năm 2015',
    'luật, hình sự, 2015, quốc hội, tội phạm',
    'Luật Hình sự quy định về tội phạm và hình phạt, các nguyên tắc trách nhiệm hình sự và các quy định về áp dụng pháp luật hình sự',
    'Quốc hội',
    '2015-11-27',
    '2016-01-01',
    'published',
    TRUE,
    TRUE,
    1,
    150,
    45,
    NOW()
);

-- Tài liệu 2: Nghị định 100/2019/NĐ-CP
INSERT INTO documents (
    document_title,
    document_number,
    document_code,
    category_id,
    document_type,
    file_name,
    original_file_name,
    file_path,
    file_url,
    file_size,
    file_format,
    mime_type,
    description,
    keywords,
    summary,
    issuing_agency,
    issuing_date,
    effective_date,
    status,
    is_public,
    is_featured,
    uploaded_by,
    view_count,
    download_count,
    published_at
) VALUES (
    'Nghị định 100/2019/NĐ-CP về xử phạt vi phạm hành chính trong lĩnh vực giao thông đường bộ',
    '100/2019/NĐ-CP',
    'ND_100_2019_CP',
    2, -- Category: Nghị định
    'nghi_dinh',
    'sample_nghi_dinh_100_2019.pdf',
    'Nghị định 100-2019-NĐ-CP.pdf',
    'uploads/documents/samples/nghi_dinh_100_2019.pdf',
    'http://localhost/server_backend/uploads/documents/samples/nghi_dinh_100_2019.pdf',
    1536000,
    'pdf',
    'application/pdf',
    'Nghị định quy định xử phạt vi phạm hành chính trong lĩnh vực giao thông đường bộ và đường sắt',
    'nghị định, giao thông, xử phạt, vi phạm hành chính',
    'Quy định mức phạt và hình thức xử lý đối với các hành vi vi phạm trong lĩnh vực giao thông đường bộ',
    'Chính phủ',
    '2019-12-30',
    '2020-01-01',
    'published',
    TRUE,
    TRUE,
    1,
    320,
    120,
    NOW()
);

-- Tài liệu 3: Thông tư hướng dẫn
INSERT INTO documents (
    document_title,
    document_number,
    document_code,
    category_id,
    document_type,
    file_name,
    original_file_name,
    file_path,
    file_url,
    file_size,
    file_format,
    mime_type,
    description,
    keywords,
    summary,
    issuing_agency,
    issuing_date,
    effective_date,
    status,
    is_public,
    uploaded_by,
    view_count,
    download_count,
    published_at
) VALUES (
    'Thông tư 01/2020/TT-BCA hướng dẫn thi hành Nghị định 100/2019/NĐ-CP',
    '01/2020/TT-BCA',
    'TT_01_2020_BCA',
    3, -- Category: Thông tư
    'thong_tu',
    'sample_thong_tu_01_2020.pdf',
    'Thông tư 01-2020-TT-BCA.pdf',
    'uploads/documents/samples/thong_tu_01_2020.pdf',
    'http://localhost/server_backend/uploads/documents/samples/thong_tu_01_2020.pdf',
    1024000,
    'pdf',
    'application/pdf',
    'Thông tư hướng dẫn thi hành một số điều của Nghị định 100/2019/NĐ-CP',
    'thông tư, hướng dẫn, giao thông, bộ công an',
    'Hướng dẫn chi tiết về trình tự, thủ tục xử phạt vi phạm hành chính trong lĩnh vực giao thông',
    'Bộ Công an',
    '2020-01-15',
    '2020-02-01',
    'published',
    TRUE,
    1,
    85,
    30,
    NOW()
);

-- Tài liệu 4: Biểu mẫu
INSERT INTO documents (
    document_title,
    document_code,
    category_id,
    document_type,
    file_name,
    original_file_name,
    file_path,
    file_url,
    file_size,
    file_format,
    mime_type,
    description,
    keywords,
    summary,
    status,
    is_public,
    uploaded_by,
    view_count,
    download_count,
    published_at
) VALUES (
    'Biểu mẫu đơn khiếu nại quyết định xử phạt vi phạm hành chính',
    'BM_KHIEU_NAI_XPVPHC',
    6, -- Category: Biểu mẫu
    'bieu_mau',
    'sample_bieu_mau_khieu_nai.docx',
    'Biểu mẫu khiếu nại.docx',
    'uploads/documents/samples/bieu_mau_khieu_nai.docx',
    'http://localhost/server_backend/uploads/documents/samples/bieu_mau_khieu_nai.docx',
    51200,
    'docx',
    'application/vnd.openxmlformats-officedocument.wordprocessingml.document',
    'Biểu mẫu đơn khiếu nại quyết định xử phạt vi phạm hành chính theo quy định',
    'biểu mẫu, khiếu nại, xử phạt, vi phạm hành chính',
    'Mẫu đơn chuẩn để khiếu nại quyết định xử phạt vi phạm hành chính',
    'published',
    TRUE,
    1,
    250,
    180,
    NOW()
);

-- Tài liệu 5: Tài liệu tham khảo
INSERT INTO documents (
    document_title,
    document_code,
    category_id,
    document_type,
    file_name,
    original_file_name,
    file_path,
    file_url,
    file_size,
    file_format,
    mime_type,
    description,
    keywords,
    summary,
    status,
    is_public,
    uploaded_by,
    view_count,
    download_count,
    published_at
) VALUES (
    'Hướng dẫn tra cứu văn bản pháp luật trực tuyến',
    'HDSD_TRACUU_VBPL',
    7, -- Category: Tài liệu tham khảo
    'tai_lieu_tham_khao',
    'sample_huong_dan_tra_cuu.pdf',
    'Hướng dẫn tra cứu.pdf',
    'uploads/documents/samples/huong_dan_tra_cuu.pdf',
    'http://localhost/server_backend/uploads/documents/samples/huong_dan_tra_cuu.pdf',
    768000,
    'pdf',
    'application/pdf',
    'Tài liệu hướng dẫn sử dụng hệ thống tra cứu văn bản pháp luật trực tuyến',
    'hướng dẫn, tra cứu, văn bản pháp luật, trực tuyến',
    'Hướng dẫn chi tiết các bước tra cứu, tìm kiếm văn bản pháp luật trên hệ thống',
    'published',
    TRUE,
    2,
    420,
    95,
    NOW()
);

-- =====================================================
-- THÊM TAGS MẪU
-- =====================================================
INSERT INTO document_tags (tag_name, tag_slug, usage_count) VALUES
('Luật', 'luat', 0),
('Nghị định', 'nghi-dinh', 0),
('Thông tư', 'thong-tu', 0),
('Hình sự', 'hinh-su', 0),
('Giao thông', 'giao-thong', 0),
('Xử phạt', 'xu-phat', 0),
('Quốc hội', 'quoc-hoi', 0),
('Chính phủ', 'chinh-phu', 0),
('Bộ Công an', 'bo-cong-an', 0),
('Vi phạm hành chính', 'vi-pham-hanh-chinh', 0)
ON DUPLICATE KEY UPDATE tag_id=tag_id;

-- =====================================================
-- LIÊN KẾT TAGS VỚI TÀI LIỆU
-- =====================================================

-- Tags cho Luật Hình sự 2015
INSERT INTO document_tag_relations (document_id, tag_id)
SELECT 
    (SELECT document_id FROM documents WHERE document_code = 'LUAT_HINH_SU_2015'),
    tag_id
FROM document_tags
WHERE tag_slug IN ('luat', 'hinh-su', 'quoc-hoi')
ON DUPLICATE KEY UPDATE relation_id=relation_id;

-- Tags cho Nghị định 100
INSERT INTO document_tag_relations (document_id, tag_id)
SELECT 
    (SELECT document_id FROM documents WHERE document_code = 'ND_100_2019_CP'),
    tag_id
FROM document_tags
WHERE tag_slug IN ('nghi-dinh', 'giao-thong', 'xu-phat', 'chinh-phu', 'vi-pham-hanh-chinh')
ON DUPLICATE KEY UPDATE relation_id=relation_id;

-- Tags cho Thông tư 01
INSERT INTO document_tag_relations (document_id, tag_id)
SELECT 
    (SELECT document_id FROM documents WHERE document_code = 'TT_01_2020_BCA'),
    tag_id
FROM document_tags
WHERE tag_slug IN ('thong-tu', 'giao-thong', 'bo-cong-an')
ON DUPLICATE KEY UPDATE relation_id=relation_id;

-- =====================================================
-- THÊM RATINGS MẪU
-- =====================================================
INSERT INTO document_ratings (document_id, user_id, rating, review_text)
SELECT 
    (SELECT document_id FROM documents WHERE document_code = 'LUAT_HINH_SU_2015'),
    2,
    5,
    'Tài liệu rất hữu ích và đầy đủ'
WHERE EXISTS (SELECT 1 FROM documents WHERE document_code = 'LUAT_HINH_SU_2015')
ON DUPLICATE KEY UPDATE rating_id=rating_id;

INSERT INTO document_ratings (document_id, user_id, rating, review_text)
SELECT 
    (SELECT document_id FROM documents WHERE document_code = 'LUAT_HINH_SU_2015'),
    3,
    4,
    'Nội dung chi tiết, dễ hiểu'
WHERE EXISTS (SELECT 1 FROM documents WHERE document_code = 'LUAT_HINH_SU_2015')
ON DUPLICATE KEY UPDATE rating_id=rating_id;

INSERT INTO document_ratings (document_id, user_id, rating, review_text)
SELECT 
    (SELECT document_id FROM documents WHERE document_code = 'ND_100_2019_CP'),
    2,
    5,
    'Văn bản quan trọng, cập nhật kịp thời'
WHERE EXISTS (SELECT 1 FROM documents WHERE document_code = 'ND_100_2019_CP')
ON DUPLICATE KEY UPDATE rating_id=rating_id;

-- =====================================================
-- THÊM COMMENTS MẪU
-- =====================================================
INSERT INTO document_comments (document_id, user_id, comment_text, status)
SELECT 
    (SELECT document_id FROM documents WHERE document_code = 'LUAT_HINH_SU_2015'),
    2,
    'Tài liệu này có bản cập nhật mới nhất không?',
    'approved'
WHERE EXISTS (SELECT 1 FROM documents WHERE document_code = 'LUAT_HINH_SU_2015')
ON DUPLICATE KEY UPDATE comment_id=comment_id;

INSERT INTO document_comments (document_id, user_id, comment_text, status)
SELECT 
    (SELECT document_id FROM documents WHERE document_code = 'ND_100_2019_CP'),
    3,
    'Rất cần thiết cho công việc của tôi. Cảm ơn!',
    'approved'
WHERE EXISTS (SELECT 1 FROM documents WHERE document_code = 'ND_100_2019_CP')
ON DUPLICATE KEY UPDATE comment_id=comment_id;

-- =====================================================
-- THÊM ACCESS LOG MẪU
-- =====================================================
INSERT INTO document_access_log (document_id, user_id, action_type, ip_address)
SELECT 
    document_id,
    2,
    'view',
    '192.168.1.100'
FROM documents
WHERE document_code IN ('LUAT_HINH_SU_2015', 'ND_100_2019_CP', 'TT_01_2020_BCA');

INSERT INTO document_access_log (document_id, user_id, action_type, ip_address)
SELECT 
    document_id,
    2,
    'download',
    '192.168.1.100'
FROM documents
WHERE document_code IN ('LUAT_HINH_SU_2015', 'ND_100_2019_CP');

-- =====================================================
-- THÊM FAVORITES MẪU
-- =====================================================
INSERT INTO user_favorites (user_id, document_id)
SELECT 
    2,
    document_id
FROM documents
WHERE document_code IN ('LUAT_HINH_SU_2015', 'ND_100_2019_CP')
ON DUPLICATE KEY UPDATE favorite_id=favorite_id;

INSERT INTO user_favorites (user_id, document_id)
SELECT 
    3,
    document_id
FROM documents
WHERE document_code IN ('LUAT_HINH_SU_2015', 'TT_01_2020_BCA', 'BM_KHIEU_NAI_XPVPHC')
ON DUPLICATE KEY UPDATE favorite_id=favorite_id;

-- =====================================================
-- KIỂM TRA DỮ LIỆU
-- =====================================================
SELECT 'Tổng số users:' as info, COUNT(*) as count FROM users
UNION ALL
SELECT 'Tổng số categories:', COUNT(*) FROM document_categories
UNION ALL
SELECT 'Tổng số documents:', COUNT(*) FROM documents
UNION ALL
SELECT 'Tổng số tags:', COUNT(*) FROM document_tags
UNION ALL
SELECT 'Tổng số ratings:', COUNT(*) FROM document_ratings
UNION ALL
SELECT 'Tổng số comments:', COUNT(*) FROM document_comments
UNION ALL
SELECT 'Tổng số favorites:', COUNT(*) FROM user_favorites;

-- Hiển thị danh sách tài liệu
SELECT 
    d.document_id,
    d.document_title,
    d.document_type,
    c.category_name,
    d.file_format,
    d.view_count,
    d.download_count,
    d.created_at
FROM documents d
LEFT JOIN document_categories c ON d.category_id = c.category_id
ORDER BY d.created_at DESC;

-- =====================================================
-- HOÀN TẤT
-- =====================================================
SELECT '✅ Import dữ liệu mẫu thành công!' as status;
