-- 创建数据库
DROP DATABASE IF EXISTS travel_content;
CREATE DATABASE IF NOT EXISTS travel_content;
USE travel_content;

-- 创建用户表
CREATE TABLE IF NOT EXISTS user (
    id BIGINT AUTO_INCREMENT COMMENT 'id' PRIMARY KEY,
    userAccount VARCHAR(256) NOT NULL COMMENT '账号',
    userPassword VARCHAR(512) NOT NULL COMMENT '密码',
    userName VARCHAR(256) NULL COMMENT '用户昵称',
    userAvatar VARCHAR(1024) NULL COMMENT '用户头像',
    userEmail VARCHAR(255) NULL COMMENT '用户邮箱',
    userProfile VARCHAR(512) NULL COMMENT '用户简介',
    userRole VARCHAR(256) DEFAULT 'user' NOT NULL COMMENT '用户角色：user/admin',
    editTime DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL COMMENT '编辑时间',
    createTime DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL COMMENT '创建时间',
    updateTime DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
    lastLogin DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL COMMENT '最后登录时间',
    isDelete TINYINT DEFAULT 0 NOT NULL COMMENT '是否删除',
    CONSTRAINT uk_userAccount UNIQUE (userAccount),
    CONSTRAINT userEmail UNIQUE (userEmail)
) COMMENT '用户' COLLATE = utf8mb4_unicode_ci;

CREATE INDEX idx_user_name ON user (userName);

-- 创建素材文件夹表
CREATE TABLE IF NOT EXISTS material_folder (
    id BIGINT AUTO_INCREMENT COMMENT 'id' PRIMARY KEY,
    userId BIGINT NOT NULL COMMENT '创建用户id',
    folderName VARCHAR(256) NOT NULL COMMENT '文件夹名称',
    parentId BIGINT DEFAULT 0 NOT NULL COMMENT '父文件夹id，0表示根目录',
    description VARCHAR(512) NULL COMMENT '文件夹描述',
    isPublic TINYINT DEFAULT 0 NOT NULL COMMENT '是否公开：0私有，1公开',
    createTime DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL COMMENT '创建时间',
    updateTime DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
    isDelete TINYINT DEFAULT 0 NOT NULL COMMENT '是否删除',
    CONSTRAINT uk_folder_name_user UNIQUE (folderName, userId, parentId, isDelete)
) COMMENT '素材文件夹表' COLLATE = utf8mb4_unicode_ci;

CREATE INDEX idx_material_folder_parent ON material_folder (parentId);
CREATE INDEX idx_material_folder_user ON material_folder (userId);

-- 创建素材表
CREATE TABLE IF NOT EXISTS material (
    id BIGINT AUTO_INCREMENT COMMENT 'id' PRIMARY KEY,
    userId BIGINT NOT NULL COMMENT '上传用户id',
    folderId BIGINT DEFAULT 0 NOT NULL COMMENT '所属文件夹id，0表示根目录',
    materialName VARCHAR(256) NOT NULL COMMENT '素材名称',
    materialType VARCHAR(32) NOT NULL COMMENT '素材类型：image/video/document',
    filePath VARCHAR(1024) NOT NULL COMMENT '文件存储路径',
    fileSize BIGINT NOT NULL COMMENT '文件大小（字节）',
    fileFormat VARCHAR(32) NOT NULL COMMENT '文件格式（jpg/png/mp4/pdf/doc等）',
    fileUrl VARCHAR(1024) NULL COMMENT '文件访问URL',
    description VARCHAR(512) NULL COMMENT '素材描述',
    tags VARCHAR(512) NULL COMMENT '素材标签（逗号分隔）',
    isPublic TINYINT DEFAULT 0 NOT NULL COMMENT '是否公开：0私有，1公开',
    status VARCHAR(32) DEFAULT 'active' NOT NULL COMMENT '状态：active/inactive/deleted',
    viewCount INT DEFAULT 0 NOT NULL COMMENT '查看次数',
    downloadCount INT DEFAULT 0 NOT NULL COMMENT '下载次数',
    createTime DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL COMMENT '创建时间',
    updateTime DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
    isDelete TINYINT DEFAULT 0 NOT NULL COMMENT '是否删除',
    CONSTRAINT uk_material_name_user_folder UNIQUE (materialName, userId, folderId)
) COMMENT '素材表' COLLATE = utf8mb4_unicode_ci;

CREATE INDEX idx_material_create_time ON material (createTime);
CREATE INDEX idx_material_folder ON material (folderId);
CREATE INDEX idx_material_public ON material (isPublic);
CREATE INDEX idx_material_status ON material (status);
CREATE INDEX idx_material_type ON material (materialType);
CREATE INDEX idx_material_user ON material (userId);

-- 创建景区表
CREATE TABLE IF NOT EXISTS scenicSpot (
    id BIGINT AUTO_INCREMENT PRIMARY KEY COMMENT '主键id',
    userId BIGINT NOT NULL COMMENT '用户ID',
    name VARCHAR(100) NOT NULL COMMENT '景区名称',
    address VARCHAR(255) NULL COMMENT '地址',
    trafficInfo VARCHAR(255) NULL COMMENT '交通指南',
    description TEXT NULL COMMENT '描述',
    advantage TEXT NULL COMMENT '景区优势',
    highlight TEXT NULL COMMENT '景区亮点',
    isPublic TINYINT NOT NULL DEFAULT 0 COMMENT '是否公开（0私有1公开）',
    isDelete TINYINT NOT NULL DEFAULT 0 COMMENT '是否删除',
    createTime DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    updateTime DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间'
) COMMENT '景区表' COLLATE = utf8mb4_unicode_ci;

CREATE INDEX idx_scenicSpot_user ON scenicSpot (userId);
CREATE INDEX idx_scenicSpot_name ON scenicSpot (name);
CREATE INDEX idx_scenicSpot_public ON scenicSpot (isPublic);

-- 创建产品表
CREATE TABLE IF NOT EXISTS product (
    id BIGINT AUTO_INCREMENT PRIMARY KEY COMMENT '主键id',
    userId BIGINT NOT NULL COMMENT '用户ID',
    name VARCHAR(100) NOT NULL COMMENT '产品名称',
    originPrice DECIMAL(10,2) NULL COMMENT '原价',
    realPrice DECIMAL(10,2) NULL COMMENT '实际价格',
    packageInfo VARCHAR(255) NULL COMMENT '套票详情',
    salesPeriod VARCHAR(100) NULL COMMENT '售卖期',
    stock INT NULL COMMENT '库存',
    advantage TEXT NULL COMMENT '产品优势',
    highlight TEXT NULL COMMENT '产品亮点',
    description TEXT NULL COMMENT '产品描述',
    isPublic TINYINT NOT NULL DEFAULT 0 COMMENT '是否公开（0私有1公开）',
    isDelete TINYINT NOT NULL DEFAULT 0 COMMENT '是否删除',
    createTime DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    updateTime DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间'
) COMMENT '产品表' COLLATE = utf8mb4_unicode_ci;

CREATE INDEX idx_product_user ON product (userId);
CREATE INDEX idx_product_name ON product (name);
CREATE INDEX idx_product_public ON product (isPublic);

-- 创建内容风格表
CREATE TABLE IF NOT EXISTS contentStyle (
    id BIGINT AUTO_INCREMENT PRIMARY KEY COMMENT '主键id',
    styleName VARCHAR(100) NOT NULL COMMENT '风格名称',
    description TEXT NULL COMMENT '描述',
    isDelete TINYINT NOT NULL DEFAULT 0 COMMENT '是否删除',
    createTime DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    updateTime DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
    CONSTRAINT uk_styleName UNIQUE (styleName, isDelete)
) COMMENT '内容风格表' COLLATE = utf8mb4_unicode_ci;

CREATE INDEX idx_contentStyle_name ON contentStyle (styleName);

-- 创建目标人群表
CREATE TABLE IF NOT EXISTS targetAudience (
    id BIGINT AUTO_INCREMENT PRIMARY KEY COMMENT 'id',
    audienceName VARCHAR(100) NOT NULL COMMENT '受众名称',
    description TEXT NULL COMMENT '描述',
    isDelete TINYINT DEFAULT 0 NOT NULL COMMENT '是否删除',
    createTime DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL COMMENT '创建时间',
    updateTime DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
    CONSTRAINT uk_audienceName UNIQUE (audienceName, isDelete)
) COMMENT '目标人群表' COLLATE = utf8mb4_unicode_ci;

CREATE INDEX idx_targetAudience_name ON targetAudience (audienceName);

-- 创建文档解析表
CREATE TABLE IF NOT EXISTS documentParse (
    id BIGINT AUTO_INCREMENT PRIMARY KEY COMMENT '主键id',
    scenicName VARCHAR(100) NULL COMMENT '景区名称',
    address VARCHAR(255) NULL COMMENT '地址',
    trafficInfo VARCHAR(255) NULL COMMENT '交通指南',
    description TEXT NULL COMMENT '描述',
    advantage TEXT NULL COMMENT '景区优势',
    highlight TEXT NULL COMMENT '景区亮点',
    productName VARCHAR(100) NULL COMMENT '产品名称',
    originPrice DECIMAL(10,2) NULL COMMENT '原价',
    realPrice DECIMAL(10,2) NULL COMMENT '实际价格',
    packageInfo VARCHAR(255) NULL COMMENT '套票详情',
    salesPeriod VARCHAR(100) NULL COMMENT '售卖期',
    stock INT NULL COMMENT '库存',
    productAdvantage TEXT NULL COMMENT '产品优势',
    productHighlight TEXT NULL COMMENT '产品亮点',
    productDescription TEXT NULL COMMENT '产品描述',
    isDelete TINYINT NOT NULL DEFAULT 0 COMMENT '是否删除',
    createTime DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    updateTime DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间'
) COMMENT '文档解析表' COLLATE = utf8mb4_unicode_ci;

CREATE INDEX idx_documentParse_scenicName ON documentParse (scenicName);
CREATE INDEX idx_documentParse_productName ON documentParse (productName);

-- 创建选题信息表
CREATE TABLE IF NOT EXISTS topics (
    id BIGINT AUTO_INCREMENT PRIMARY KEY COMMENT '主键id',
    userId BIGINT NOT NULL COMMENT '用户ID',
    title VARCHAR(100) NOT NULL COMMENT '选题标题',
    description VARCHAR(255) NULL COMMENT '选题描述',
    logic TEXT NULL COMMENT '选题逻辑',
    productLogic TEXT NULL COMMENT '产品选择逻辑',
    styleLogic TEXT NULL COMMENT '风格选择逻辑',
    targetAudienceLogic TEXT NULL COMMENT '目标受众选择逻辑',
    publicationDates TEXT NULL COMMENT '计划发布日期（如"2025-05-01,2025-05-03"或JSON）',
    status VARCHAR(20) NOT NULL DEFAULT 'draft' COMMENT '状态',
    isLocked TINYINT NOT NULL DEFAULT 0 COMMENT '是否锁定',
    isDelete TINYINT NOT NULL DEFAULT 0 COMMENT '是否删除',
    createTime DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    updateTime DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间'
) COMMENT '选题信息表' COLLATE = utf8mb4_unicode_ci;

CREATE INDEX idxTopicsUser ON topics (userId);
CREATE INDEX idxTopicsTitle ON topics (title);
CREATE INDEX idxTopicsStatus ON topics (status);

-- 创建选题-景区关联表
CREATE TABLE IF NOT EXISTS topicScenic (
    id BIGINT AUTO_INCREMENT PRIMARY KEY COMMENT '主键id',
    topicId BIGINT NOT NULL COMMENT '选题ID',
    scenicId BIGINT NOT NULL COMMENT '景区ID'
) COMMENT '选题-景区关联表' COLLATE = utf8mb4_unicode_ci;

CREATE INDEX idx_topic_scenic_topicId ON topicScenic (topicId);
CREATE INDEX idx_topic_scenic_scenicId ON topicScenic (scenicId);

-- 创建选题-产品关联表
CREATE TABLE IF NOT EXISTS topicProduct (
    id BIGINT AUTO_INCREMENT PRIMARY KEY COMMENT '主键id',
    topicId BIGINT NOT NULL COMMENT '选题ID',
    productId BIGINT NOT NULL COMMENT '产品ID'
) COMMENT '选题-产品关联表' COLLATE = utf8mb4_unicode_ci;

CREATE INDEX idx_topic_product_topicId ON topicProduct (topicId);
CREATE INDEX idx_topic_product_productId ON topicProduct (productId);

-- 创建选题-风格关联表
CREATE TABLE IF NOT EXISTS topicStyle (
    id BIGINT AUTO_INCREMENT PRIMARY KEY COMMENT '主键id',
    topicId BIGINT NOT NULL COMMENT '选题ID',
    styleId BIGINT NOT NULL COMMENT '风格ID'
) COMMENT '选题-风格关联表' COLLATE = utf8mb4_unicode_ci;

CREATE INDEX idx_topic_style_topicId ON topicStyle (topicId);
CREATE INDEX idx_topic_style_styleId ON topicStyle (styleId);

-- 创建选题-目标受众关联表
CREATE TABLE IF NOT EXISTS topicAudience (
    id BIGINT AUTO_INCREMENT PRIMARY KEY COMMENT '主键id',
    topicId BIGINT NOT NULL COMMENT '选题ID',
    audienceId BIGINT NOT NULL COMMENT '受众ID'
) COMMENT '选题-目标受众关联表' COLLATE = utf8mb4_unicode_ci;

CREATE INDEX idx_topic_audience_topicId ON topicAudience (topicId);
CREATE INDEX idx_topic_audience_audienceId ON topicAudience (audienceId);

-- 添加外键约束
ALTER TABLE material_folder
ADD CONSTRAINT fk_material_folder_user
FOREIGN KEY (userId) REFERENCES user (id)
ON DELETE CASCADE;

ALTER TABLE material
ADD CONSTRAINT fk_material_user
FOREIGN KEY (userId) REFERENCES user (id)
ON DELETE CASCADE;

ALTER TABLE material
ADD CONSTRAINT fk_material_folder
FOREIGN KEY (folderId) REFERENCES material_folder (id)
ON DELETE CASCADE;

-- 插入模拟数据

-- 插入用户数据
INSERT INTO user (userAccount, userPassword, userName, userAvatar, userEmail, userProfile, userRole)
VALUES 
('admin', 'e10adc3949ba59abbe56e057f20f883e', '管理员', 'https://example.com/avatar1.jpg', 'admin@example.com', '系统管理员', 'admin'),
('user1', 'e10adc3949ba59abbe56e057f20f883e', '张三', 'https://example.com/avatar2.jpg', 'zhangsan@example.com', '旅游内容创作者', 'user'),
('user2', 'e10adc3949ba59abbe56e057f20f883e', '李四', 'https://example.com/avatar3.jpg', 'lisi@example.com', '资深旅游策划', 'user');

-- 插入素材文件夹数据
INSERT INTO material_folder (userId, folderName, parentId, description, isPublic)
VALUES 
(1, '景区图片', 0, '各景区精选图片', 1),
(1, '产品介绍', 0, '各产品介绍素材', 1),
(2, '我的素材', 0, '个人素材库', 0),
(2, '风景照片', 3, '各地风景照片', 0),
(3, '宣传材料', 0, '宣传用素材', 0);

-- 插入素材数据
INSERT INTO material (userId, folderId, materialName, materialType, filePath, fileSize, fileFormat, fileUrl, description, tags, isPublic)
VALUES 
(1, 1, '黄山日出', 'image', '/uploads/huangshan_sunrise.jpg', 2048000, 'jpg', 'https://example.com/huangshan_sunrise.jpg', '黄山日出美景', '黄山,日出,风景', 1),
(1, 1, '张家界全景', 'image', '/uploads/zhangjiajie_panorama.jpg', 3072000, 'jpg', 'https://example.com/zhangjiajie_panorama.jpg', '张家界全景图', '张家界,全景,自然', 1),
(1, 2, '三亚双飞5日游', 'document', '/uploads/sanya_5days.pdf', 1024000, 'pdf', 'https://example.com/sanya_5days.pdf', '三亚双飞5日游产品介绍', '三亚,旅游产品,海滩', 1),
(2, 4, '九寨沟瀑布', 'image', '/uploads/jiuzhaigou_waterfall.jpg', 2560000, 'jpg', 'https://example.com/jiuzhaigou_waterfall.jpg', '九寨沟瀑布特写', '九寨沟,瀑布,自然风光', 0),
(3, 5, '丽江古城宣传片', 'video', '/uploads/lijiang_promo.mp4', 102400000, 'mp4', 'https://example.com/lijiang_promo.mp4', '丽江古城宣传视频', '丽江,古城,文化,宣传', 0);

-- 插入景区数据
INSERT INTO scenicSpot (userId, name, address, trafficInfo, description, advantage, highlight, isPublic)
VALUES 
(1, '黄山风景区', '安徽省黄山市黄山区汤口镇', '可乘坐高铁到黄山北站，再转乘景区大巴', '黄山是中国著名的山岳景区，以奇松、怪石、云海、温泉"四绝"闻名于世。', '国家5A级景区，世界文化与自然双遗产，云海日出景观壮观', '云海日出、迎客松、温泉、奇松怪石', 1),
(1, '张家界国家森林公园', '湖南省张家界市武陵源区', '可乘坐飞机到张家界荷花机场，再转乘景区大巴', '张家界国家森林公园是中国第一个国家森林公园，以峰林地貌为主要特色。', '阿凡达取景地，独特的石柱地貌，夏季凉爽避暑胜地', '天子山、袁家界、金鞭溪、玻璃栈道', 1),
(2, '九寨沟风景区', '四川省阿坝藏族羌族自治州九寨沟县', '可乘坐飞机到九黄机场，再转乘景区大巴', '九寨沟以彩池、瀑布、雪山、森林"四绝"闻名于世。', '水景资源丰富，色彩斑斓的湖泊，秋季层林尽染', '五花海、诺日朗瀑布、长海、树正群海', 0),
(3, '丽江古城', '云南省丽江市古城区', '可乘坐飞机到丽江三义机场，再乘坐出租车前往古城', '丽江古城是一座历史文化名城，是中国为数不多的保存相当完好的少数民族古城。', '纳西族文化，古城风貌保存完好，民族风情浓郁', '四方街、木府、黑龙潭、万古楼', 1);

-- 插入产品数据
INSERT INTO product (userId, name, originPrice, realPrice, packageInfo, salesPeriod, stock, advantage, highlight, description, isPublic)
VALUES 
(1, '黄山亲子三日游', 2199.00, 1899.00, '含往返交通、住宿、门票、导游', '2025-01-01至2025-12-31', 1000, '一价全包，无隐形消费，亲子互动环节丰富', '登顶观日出，泡温泉，亲子科普活动', '黄山三日亲子游，含住宿、餐饮、交通、门票等，专业导游全程陪同，设计多个亲子互动环节，让孩子在游玩中学习自然知识。', 1),
(1, '张家界避暑五日游', 3999.00, 3599.00, '含往返机票、住宿、门票、导游', '2025-06-01至2025-08-31', 800, '全程五星酒店，专车接送，夏季避暑胜地', '玻璃栈道，天门山索道，森林氧吧', '张家界五日避暑游，畅游武陵源核心景区，体验玻璃栈道惊险刺激，享受平均气温仅22℃的夏日清凉。', 1),
(2, '九寨沟摄影六日游', 5299.00, 4899.00, '含往返机票、住宿、门票、导游', '2025-09-15至2025-10-31', 500, '一次游两大世界遗产地，摄影师专业指导', '九寨沟彩池，黄龙钙化池，摄影技巧培训', '九寨沟+黄龙六日摄影专线，资深摄影师全程指导，选择最佳拍摄时间和机位，捕捉秋季九寨最绚丽的色彩。', 0),
(3, '云南民族文化七日游', 6299.00, 5899.00, '含往返机票、住宿、门票、导游', '2025-01-01至2025-12-31', 600, '深度体验云南民族文化，高端精品小团', '丽江古城，洱海环湖，民族村寨体验', '云南丽江+大理七日文化之旅，体验纳西族和白族文化，参与非遗手工艺制作，聆听东巴文化讲解，入住丽江古城内精品客栈。', 1);

-- 插入内容风格数据
INSERT INTO contentStyle (styleName, description)
VALUES 
('攻略风', '你是景区小红书爆款文案策划，你将根据要求创作爆款文案，根据以下规则一步步执行：
一、标题创作
步骤：先速览景区资料内容，找到与用户需求适配的景点亮点，然后通读用户给的爆款标题素材，挑选一个在用户画像+节点节日+标题吸睛三个方面最契合的进行改写，创作出全新的爆款标题。在此期间以下几点需要你遵循：
1.必加1个emoji，标题字数18字以内
2.有网感，结合所在地
3.标题必须结合我给出的<标题参考格式>进行高相似度仿写

二、正文创作
注意：正文以<你>这种有人味的人称代词视角创作输出，不要出现<宝子们><姐妹们>这些很假的称呼
1. 通过了解产品和当前节点需求，如情人节要约会、儿童节要带孩子玩、临近周末会考虑周边游、传统节日偏好民俗活动等以此类推，直击用户痛点。
2. 正文围绕所选定的风格提示词进行创作，有场景感，让人感觉是亲身体验后的推荐，有一种和用户沟通的感觉，语言平实靠谱娓娓道来
3. 正文部分可以参考我给你的<正文范文参考>文档，结合所给景区/民宿资料进行改写创作
4. 分段+分点论述，巧用emoji，积极换行，让整体排版更好看
5. 如果用户给出范文案例，请参考正文范文参考案例仿写

三、正文案例
‼️新疆旅行黑红榜速报‼️
亲测6大封神景点🆚6个本地人翻白眼雷区
避坑指南已备好✅
这个五一，用7天解锁新疆的N种神仙打开方式
打工人必看👉「不请假不暴走」小众路线
每天随便躺玩就能出片！
-
🌤【天气预警】
5月新疆：5°C~20°C（早晚穿羽绒，中午穿吊带）
⚠紫外线堪比军训！防晒霜+墨镜+帽子三件套焊死！
-
🧳【行李清单】
✅证件：身份证+驾照（自驾党必带）
✅保命穿搭：冲锋衣+白裙子+工装靴（温差15℃的叠穿美学）
✅急救包：肠胃yao+晕车yao+保湿面膜（一天五顿碳水+干燥警告）
-
✈【机场选择指南】
▪首飞选乌鲁木齐！北疆环线起点，租车/拼团超方便
▪伊宁机场：适合只玩伊犁的姐妹，落地直冲赛里木湖
-
🚗【7天6晚游玩路线】
Day1⃣：出发地-乌鲁木齐
Day2⃣：乌鲁木齐-天山天池-奎屯
Day3⃣：奎屯-赛里木湖-伊宁
Day4⃣：伊宁-库尔德宁-那拉提
Day5⃣：那拉提-空中草原-精河/博乐
Day6⃣：博乐-独山子大峡谷-乌鲁木齐
Day7⃣：乌鲁木齐-温馨的家
-
🍖【新疆美食清单】
🔥必吃Top3：
▪沙湾大盘鸡（加份皮带面！）
▪和田街烤包子（酥到掉渣爆汁）
▪精河过油肉拌面（本地人私藏小店）
💣避雷：景区门口的“天价”羊肉串
-
⚠【血泪经验Tips】
🔥 ‌温差刺客‌：薄羽绒+草帽+墨镜，5月草原早晚温差15℃，中午晒到穿吊带！
🔥 ‌信号消失术‌：赛湖、库尔德宁山区常无信号，建议常备现金。
🔥 ‌防晒保命‌：紫外线比三亚狠！面罩焊脸上，防晒霜2小时补一次。
🔥 ‌出片玄学‌：赛湖穿白裙子，那拉提配牛仔帽，独山子穿工装裤，谁拍谁封神！
-
📸【出片玄学指南】
✔赛湖穿白裙+奔跑，拍出“海蒂和爷爷”电影感
✔那拉提网红桥早起抢机位，下午人从众
✔独山子穿卡其工装，秒变西部牛仔
❗PS：带1TB胃和256G手机内存，美景美食根本停不下来！
-

四、TAG标签创作
每一篇笔记需要携带9个TAG标签，以下举例的加号（+）这个符号不要体现，仅代表内容连接的意思
1.前三个TAG标签的内容围绕<#产品所在地区+旅游><#产品所在省份+旅游><#产品所在地区+周边游><#产品周边一线城市+周边游>
2.接着三个TAG标签的内容围绕<#景区/酒店名称><#景区/酒店名称+攻略><#景区/酒店名称+推荐>
3.最后三个TAG标签的内容围绕<#周末去哪儿玩><#小众旅游地><##产品所在地区+周末好去处>
注意：以上TAG直接按要求直出内容，不需要在直出的时候进行分类
'),
('极力推荐风', '你是景区小红书爆款文案策划，你将根据要求创作爆款文案，根据以下规则一步步执行：
一、标题创作
步骤：先速览景区资料内容，找到与用户需求适配的景点亮点，然后通读用户给的爆款标题素材，挑选一个在用户画像+节点节日+标题吸睛三个方面最契合的进行改写，创作出全新的爆款标题。在此期间以下几点需要你遵循：
1.必加emoji
2.标题爆破式句，有网感
3.标题字数不超过10个字

二、正文创作法
1. 通过分析产品和当前节点需求，如情人节要约会、儿童节要带孩子玩、临近周末会考虑周边游、传统节日偏好民俗活动等以此类推，直击用户痛点。
2. 正文不要出现过多比喻句，表达风格更朴实一点，不要过度联想
3. 情绪饱满，推荐时要始终面向人群需求结合
4. 内容需要条理清晰，分段论述，总分总结构结构，开头吸引+中间详细攻略+细节补充+总结推荐
5. 如果用户给出范文案例，请参考范文案例的写作风格和内容
6. 针对用户的痛点和需求对正文内容和产品内容的推荐进行优化，可参考我给出的用户文旅需求的材料
'),

-- 插入目标人群数据
INSERT INTO targetAudience (audienceName, description)
VALUES 
('亲子向', '亲子向用户画像：
1. 基本属性  
- 年龄：25-45岁（家长群体），孩子年龄集中在3-12岁.
- 性别：女性主导型，约70%为妈妈群体.  

2. 平台行为  
- 互动习惯：偏好收藏实用攻略.  
- 发布内容：分享带娃旅行的温馨瞬间

3.中国旅游出游做攻略高峰点：
1. 春节假期：1-2月
2. 暑假：6-8月 
3. 国庆黄金周：9-10月初
4. 五一假期：4-5月初
5. 元旦：12月中下旬
6.清明：4月初
7.端午：5-6月
8.中秋：8月底-9月
9.寒假：12-2月
'),
('周边游', '周边游用户画像：
1. 基本属性  
- 年龄：全龄覆盖（主要围绕三天内的短期假期出游需求和周末出游需求）.  

2. 平台行为  
- 互动习惯：高频搜索「周末去哪」「短途游攻略」，收藏本地美食地图，周末前3天搜索量激增，关注"（城市名称）1小时可达"标签.  
- 发布内容：分享城市周边秘境、农家乐体验、短途自驾游记，高频使用"说走就走""逃离城市"等关键词.  

3. 消费特征  
- 决策偏好：注重便利性与性价比，自驾游便利、公共交通便利、高铁几小时以内等出行便利是优势.  
- 消费倾向：倾向购买景区联票（含停车+餐饮+体验项目打包）.  
- 消费品类：民宿套餐、采摘体验、古镇一日游，近郊农场/房车营地/文创市集/夜游项目.  

4. 兴趣偏好  
- 偏好：轻旅行（露营、骑行）、季节限定活动（赏樱、滑雪）  

5.中国旅游出游做攻略高峰点：
1. 春节假期：1-2月
2. 暑假：6-8月 
3. 国庆黄金周：9-10月初
4. 五一假期：4-5月初
5. 元旦：12月中下旬
6.清明：4月初
7.端午：5-6月
8.中秋：8月底-9月
9.寒假：12-2月
'),

-- 插入选题信息数据
INSERT INTO topics (userId, title, description, logic, productLogic, styleLogic, targetAudienceLogic, publicationDates, status)
VALUES 
(1, '五一黄山亲子游攻略🏞️', '五一假期黄山亲子游全攻略', '针对五一假期黄山旅游人流量大的情况，提供亲子游实用攻略', '推荐黄山亲子三日游产品，错峰出行，亲子互动环节丰富', '采用攻略风风格，直接明了，提供详细实用信息', '主要面向家庭亲子群体，提供亲子互动和安全提示', '2025-04-15,2025-04-20,2025-04-25', 'published'),
(1, '张家界夏季避暑游🌲', '夏季张家界避暑旅游指南', '针对夏季炎热天气，推荐张家界作为避暑胜地，平均气温仅22℃', '推荐张家界避暑五日游产品，强调凉爽体验和夏季特色活动', '采用清新文艺风格，突出自然之美和凉爽体验', '主要面向家庭亲子和学生群体，暑期出游首选', '2025-06-01,2025-06-15,2025-07-01', 'draft'),
(2, '九寨沟秋色摄影指南📸', '九寨沟秋季摄影攻略', '针对九寨沟秋季绝美景色，提供专业摄影指导和最佳拍摄点', '推荐九寨沟摄影六日游产品，强调最佳拍摄时机和专业指导', '采用专业严谨风格，提供专业摄影知识和技巧', '主要面向摄影爱好者和年轻情侣，追求高质量照片', '2025-09-01,2025-09-15', 'draft'),
(3, '云南民族文化探秘之旅🏮', '探索云南多元民族文化', '深入探索云南多民族文化特色，体验不同民族风情和非遗文化', '推荐云南民族文化七日游产品，强调文化体验和民族特色', '采用情感共鸣风格，讲述动人故事和文化传承', '主要面向文化爱好者、高净值人群和学生群体', '2025-07-01,2025-07-15', 'published');

-- 插入选题-景区关联数据
INSERT INTO topicScenic (topicId, scenicId)
VALUES 
(1, 1),
(2, 2),
(3, 3),
(4, 4);

-- 插入选题-产品关联数据
INSERT INTO topicProduct (topicId, productId)
VALUES 
(1, 1),
(2, 2),
(3, 3),
(4, 4);

-- 插入选题-风格关联数据
INSERT INTO topicStyle (topicId, styleId)
VALUES 
(1, 1),
(2, 2),
(3, 4),
(4, 5);

-- 插入选题-目标受众关联数据
INSERT INTO topicAudience (topicId, audienceId)
VALUES 
(1, 2),
(2, 2),
(2, 5),
(3, 1),
(3, 6),
(4, 5),
(4, 6); 