-- 创建数据库
CREATE DATABASE IF NOT EXISTS hanhai_website COMMENT='瀚海黎明官方网站数据库';
USE hanhai_website;

-- 创建服务表：存储网站提供的服务信息
CREATE TABLE services (
    id INT PRIMARY KEY AUTO_INCREMENT COMMENT '服务ID，自增主键',
    icon VARCHAR(255) NOT NULL COMMENT '服务图标URL',
    title VARCHAR(100) NOT NULL COMMENT '服务标题',
    description TEXT NOT NULL COMMENT '服务详细描述',
    category VARCHAR(50) NULL COMMENT '服务分类',
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间'
) COMMENT='服务信息表';

-- 创建案例表：存储公司完成的项目案例
CREATE TABLE cases (
    id INT PRIMARY KEY AUTO_INCREMENT COMMENT '案例ID，自增主键',
    title VARCHAR(100) NOT NULL COMMENT '案例标题',
    description TEXT NOT NULL COMMENT '案例简介',
    image VARCHAR(255) NOT NULL COMMENT '案例主图URL',
    category VARCHAR(50) NOT NULL COMMENT '案例分类',
    client VARCHAR(100) NOT NULL COMMENT '客户名称',
    completion_date VARCHAR(50) NOT NULL COMMENT '完成日期',
    challenge TEXT NOT NULL COMMENT '客户面临的挑战',
    solution TEXT NOT NULL COMMENT '提供的解决方案',
    results TEXT NOT NULL COMMENT '项目成果',
    testimonial TEXT NULL COMMENT '客户评价',
    testimonial_author VARCHAR(100) NULL COMMENT '评价人及职位',
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间'
) COMMENT='项目案例表';

-- 创建案例服务关联表：存储案例使用的服务列表
CREATE TABLE case_services (
    id INT PRIMARY KEY AUTO_INCREMENT COMMENT '关联ID，自增主键',
    case_id INT NOT NULL COMMENT '关联的案例ID',
    service_name VARCHAR(100) NOT NULL COMMENT '服务名称',
    FOREIGN KEY (case_id) REFERENCES cases(id) ON DELETE CASCADE COMMENT '外键关联案例表，案例删除时级联删除'
) COMMENT='案例服务关联表';

-- 创建案例图库表：存储案例的多张展示图片
CREATE TABLE case_gallery (
    id INT PRIMARY KEY AUTO_INCREMENT COMMENT '图片ID，自增主键',
    case_id INT NOT NULL COMMENT '关联的案例ID',
    image_url VARCHAR(255) NOT NULL COMMENT '图片URL',
    display_order INT NOT NULL DEFAULT 0 COMMENT '显示顺序',
    FOREIGN KEY (case_id) REFERENCES cases(id) ON DELETE CASCADE COMMENT '外键关联案例表，案例删除时级联删除'
) COMMENT='案例图库表';

-- 创建团队成员表：存储公司团队成员信息
CREATE TABLE team_members (
    id INT PRIMARY KEY AUTO_INCREMENT COMMENT '成员ID，自增主键',
    name VARCHAR(50) NOT NULL COMMENT '成员姓名',
    position VARCHAR(100) NOT NULL COMMENT '职位',
    bio TEXT NOT NULL COMMENT '个人简介',
    photo VARCHAR(255) NOT NULL COMMENT '照片URL',
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间'
) COMMENT='团队成员表';

-- 创建社交媒体表：存储团队成员的社交媒体链接
CREATE TABLE social_media (
    id INT PRIMARY KEY AUTO_INCREMENT COMMENT '社交媒体ID，自增主键',
    member_id INT NOT NULL COMMENT '关联的成员ID',
    type VARCHAR(50) NOT NULL COMMENT '社交媒体类型(如wechat, linkedin)',
    url VARCHAR(255) NOT NULL COMMENT '社交媒体链接',
    qrcode VARCHAR(255) NULL COMMENT '二维码图片URL(微信等)',
    FOREIGN KEY (member_id) REFERENCES team_members(id) ON DELETE CASCADE COMMENT '外键关联成员表，成员删除时级联删除'
) COMMENT='社交媒体表';

-- 创建职位表：存储招聘职位信息
CREATE TABLE job_openings (
    id INT PRIMARY KEY AUTO_INCREMENT COMMENT '职位ID，自增主键',
    title VARCHAR(100) NOT NULL COMMENT '职位名称',
    description TEXT NOT NULL COMMENT '职位描述',
    requirements TEXT NULL COMMENT '职位要求',
    link VARCHAR(255) NOT NULL COMMENT '职位详情链接',
    is_active BOOLEAN DEFAULT TRUE COMMENT '是否激活',
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间'
) COMMENT='招聘职位表';

-- 创建组件表：存储网站可复用组件的配置
CREATE TABLE components (
    id INT PRIMARY KEY AUTO_INCREMENT COMMENT '组件ID，自增主键',
    name VARCHAR(100) NOT NULL COMMENT '组件名称',
    type VARCHAR(50) NOT NULL COMMENT '组件类型',
    content JSON NOT NULL COMMENT '组件内容(JSON格式)',
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间'
) COMMENT='网站组件表';

-- 创建用户表：存储后台管理用户
CREATE TABLE users (
    id INT PRIMARY KEY AUTO_INCREMENT COMMENT '用户ID，自增主键',
    username VARCHAR(50) NOT NULL UNIQUE COMMENT '用户名',
    password VARCHAR(255) NOT NULL COMMENT '密码(加密存储)',
    email VARCHAR(100) NOT NULL UNIQUE COMMENT '电子邮箱',
    role VARCHAR(20) NOT NULL DEFAULT 'editor' COMMENT '用户角色(admin/editor)',
    last_login TIMESTAMP NULL COMMENT '最后登录时间',
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间'
) COMMENT='后台用户表';

-- 创建联系表单表：存储网站访客提交的联系信息
CREATE TABLE contact_messages (
    id INT PRIMARY KEY AUTO_INCREMENT COMMENT '消息ID，自增主键',
    name VARCHAR(100) NOT NULL COMMENT '联系人姓名',
    email VARCHAR(100) NOT NULL COMMENT '联系人邮箱',
    phone VARCHAR(20) NULL COMMENT '联系电话',
    subject VARCHAR(200) NOT NULL COMMENT '主题',
    message TEXT NOT NULL COMMENT '消息内容',
    status VARCHAR(20) DEFAULT 'unread' COMMENT '消息状态(unread/read/replied)',
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间'
) COMMENT='联系表单消息表';

-- 向服务表插入初始数据
INSERT INTO services (icon, title, description) VALUES
('https://cdn-icons-png.flaticon.com/512/2920/2920277.png', '定制软件开发', '根据您的业务需求，量身定制专属软件解决方案'),
('https://cdn-icons-png.flaticon.com/512/2586/2586488.png', '移动应用开发', '打造高性能、用户友好的iOS和Android应用'),
('https://cdn-icons-png.flaticon.com/512/1055/1055687.png', 'Web应用开发', '开发响应式、现代化的Web应用和网站'),
('https://cdn-icons-png.flaticon.com/512/1935/1935765.png', '企业软件解决方案', '提供ERP、CRM等企业级软件解决方案'),
('https://cdn-icons-png.flaticon.com/512/4727/4727266.png', '云服务与DevOps', '云架构设计、部署和DevOps自动化服务'),
('https://cdn-icons-png.flaticon.com/512/1055/1055666.png', 'UI/UX设计', '创造直观、美观且用户友好的界面设计');

-- 向案例表插入初始数据
INSERT INTO cases (title, description, image, category, client, completion_date, challenge, solution, results, testimonial, testimonial_author) VALUES
('智慧校园系统', '为教育机构打造的一体化校园管理系统，涵盖教学、行政、学生服务等多个模块', 'https://images.unsplash.com/photo-1523240795612-9a054b0db644?ixlib=rb-1.2.1&auto=format&fit=crop&w=1350&q=80', '企业系统', '某知名高校', '2023年8月', '客户面临的挑战是多个独立系统并行运行，数据不一致，管理效率低下。学生和教职工需要在多个系统间切换，用户体验不佳。', '我们为客户设计并实现了一套集成化的智慧校园系统，整合了教务管理、学生服务、行政办公、资源管理等多个模块。系统采用了统一的用户界面和数据标准，实现了单点登录和数据共享。我们还开发了移动端应用，方便师生随时随地访问系统功能。', '系统上线后，管理效率提升了50%，数据处理错误减少了80%，用户满意度提高了60%。系统的自助服务功能减轻了行政人员的工作负担，让他们能够专注于更有价值的任务。', '微隐软件工作室的团队展现了卓越的项目管理和技术能力。他们深入理解了我们复杂的业务需求，并提供了一套既全面又易用的解决方案。新系统极大地改善了我们的管理效率和服务质量。', '陈校长 - 客户负责人');

-- 向案例服务关联表插入数据
INSERT INTO case_services (case_id, service_name) VALUES
(1, '系统规划'),
(1, '软件开发'),
(1, '数据迁移'),
(1, '用户培训'),
(1, '持续支持');

-- 向案例图库表插入数据
INSERT INTO case_gallery (case_id, image_url, display_order) VALUES
(1, 'https://images.unsplash.com/photo-1523050854058-8df90110c9f1?ixlib=rb-1.2.1&auto=format&fit=crop&w=1350&q=80', 1),
(1, 'https://images.unsplash.com/photo-1562774053-701939374585?ixlib=rb-1.2.1&auto=format&fit=crop&w=1350&q=80', 2),
(1, 'https://images.unsplash.com/photo-1577896851231-70ef18881754?ixlib=rb-1.2.1&auto=format&fit=crop&w=1350&q=80', 3);

-- 向团队成员表插入初始数据
INSERT INTO team_members (name, position, bio, photo) VALUES
('张明', '创始人 & CEO', '拥有15年软件开发和团队管理经验，曾在多家知名科技公司担任技术负责人', 'https://images.unsplash.com/photo-1507003211169-0a1dd7228f2d?ixlib=rb-1.2.1&auto=format&fit=crop&w=634&q=80'),
('李婷', '技术总监', '计算机科学博士，专注于人工智能和大数据领域，拥有多项技术专利', 'https://images.unsplash.com/photo-1494790108377-be9c29b29330?ixlib=rb-1.2.1&auto=format&fit=crop&w=634&q=80');

-- 向社交媒体表插入数据
INSERT INTO social_media (member_id, type, url, qrcode) VALUES
(1, 'linkedin', 'https://linkedin.com/', NULL),
(1, 'github', 'https://github.com/', NULL),
(1, 'wechat', 'javascript:void(0);', '/images/qrcode-wechat.jpg'),
(1, 'wecom', 'javascript:void(0);', '/images/qrcode-wecom.jpg'),
(2, 'linkedin', 'https://linkedin.com/', NULL),
(2, 'github', 'https://github.com/', NULL),
(2, 'xiaohongshu', 'https://xiaohongshu.com/', NULL); 