Files
promote/backend/db/sql/postgres/create_fake_data2.sql
2025-03-12 16:58:53 +08:00

628 lines
18 KiB
SQL
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
-- 增加更多网红数据,平台多样化
INSERT INTO
public .influencers (
influencer_id,
name,
platform,
profile_url,
external_id,
followers_count,
video_count,
platform_count,
created_at,
updated_at
)
VALUES
-- 超大粉丝量的头部KOL
(
gen_random_uuid(),
'陈明星',
'instagram',
'https://instagram.com/chenstar',
'insta_chenstar_' || floor(random() * 1000) :: text,
5000000,
2100,
3,
CURRENT_TIMESTAMP - interval '2 years',
CURRENT_TIMESTAMP
),
-- 中等体量的KOL
(
gen_random_uuid(),
'林美妆',
'youtube',
'https://youtube.com/linbeauty',
'yt_linbeauty_' || floor(random() * 1000) :: text,
850000,
320,
2,
CURRENT_TIMESTAMP - interval '18 months',
CURRENT_TIMESTAMP
),
-- 小众但精准的垂直领域KOL
(
gen_random_uuid(),
'孙专家',
'tiktok',
'https://tiktok.com/sunexpert',
'tt_sunexpert_' || floor(random() * 1000) :: text,
120000,
450,
1,
CURRENT_TIMESTAMP - interval '1 year',
CURRENT_TIMESTAMP
),
-- 新兴快速成长的KOL
(
gen_random_uuid(),
'吴新人',
'twitter',
'https://twitter.com/wunewbie',
'tw_wunewbie_' || floor(random() * 1000) :: text,
50000,
180,
2,
CURRENT_TIMESTAMP - interval '6 months',
CURRENT_TIMESTAMP
),
-- 超小众但高互动的KOL
(
gen_random_uuid(),
'周小众',
'facebook',
'https://facebook.com/zhousmall',
'fb_zhousmall_' || floor(random() * 1000) :: text,
15000,
95,
1,
CURRENT_TIMESTAMP - interval '3 months',
CURRENT_TIMESTAMP
);
-- 将新增网红与项目关联
INSERT INTO
public .project_influencers (project_id, influencer_id)
SELECT
'37954d21-57b3-4e25-a614-001eaa9033b8',
influencer_id
FROM
public .influencers
WHERE
name IN ('陈明星', '林美妆', '孙专家', '吴新人', '周小众')
AND NOT EXISTS (
SELECT
1
FROM
public .project_influencers
WHERE
project_id = '37954d21-57b3-4e25-a614-001eaa9033b8'
AND influencer_id = influencers.influencer_id
);
-- 增加具有较大时间跨度的帖子数据从2年前到未来
-- 过去2年的高热度内容
INSERT INTO
public .posts (
post_id,
influencer_id,
platform,
post_url,
title,
description,
published_at,
created_at,
updated_at,
project_id
)
SELECT
gen_random_uuid(),
i.influencer_id,
i.platform,
'https://' || i.platform || '.com/post/' || replace(md5(random() :: text), '-', ''),
'2022年度爆款产品全盘点',
'2022年马上就要结束了这一年中爆火的产品实在太多今天来给大家做个年度总结#年度盘点 #爆款产品',
CURRENT_TIMESTAMP - interval '2 years' + (random() * 60 || ' days') :: interval,
CURRENT_TIMESTAMP - interval '2 years',
CURRENT_TIMESTAMP - interval '2 years',
'37954d21-57b3-4e25-a614-001eaa9033b8'
FROM
public .influencers i
WHERE
i.name IN ('陈明星', '李小美')
AND i.followers_count > 200000;
-- 18个月前的季节性内容
INSERT INTO
public .posts (
post_id,
influencer_id,
platform,
post_url,
title,
description,
published_at,
created_at,
updated_at,
project_id
)
SELECT
gen_random_uuid(),
i.influencer_id,
i.platform,
'https://' || i.platform || '.com/post/' || replace(md5(random() :: text), '-', ''),
'冬季保暖又时尚的穿搭指南',
'寒冷的冬天来了,如何既保暖又不失时尚感?这些单品让你温暖整个冬天!#冬季穿搭 #保暖时尚',
CURRENT_TIMESTAMP - interval '18 months' + (random() * 30 || ' days') :: interval,
CURRENT_TIMESTAMP - interval '18 months',
CURRENT_TIMESTAMP - interval '18 months',
'37954d21-57b3-4e25-a614-001eaa9033b8'
FROM
public .influencers i
WHERE
i.name IN ('林美妆', '张时尚', '王潮流')
LIMIT
3;
-- 1年前的活动合作内容
INSERT INTO
public .posts (
post_id,
influencer_id,
platform,
post_url,
title,
description,
published_at,
created_at,
updated_at,
project_id
)
SELECT
gen_random_uuid(),
i.influencer_id,
i.platform,
'https://' || i.platform || '.com/post/' || replace(md5(random() :: text), '-', ''),
'618电商节爆款推荐',
'一年一度的618购物节即将来临这些超值好物已经被我加入购物车了#618购物节 #爆款推荐',
CURRENT_TIMESTAMP - interval '1 year' + (random() * 30 || ' days') :: interval,
CURRENT_TIMESTAMP - interval '1 year',
CURRENT_TIMESTAMP - interval '1 year',
'37954d21-57b3-4e25-a614-001eaa9033b8'
FROM
public .influencers i
WHERE
i.platform IN ('tiktok', 'instagram', 'youtube')
LIMIT
4;
-- 6个月前的新品发布内容
INSERT INTO
public .posts (
post_id,
influencer_id,
platform,
post_url,
title,
description,
published_at,
created_at,
updated_at,
project_id
)
SELECT
gen_random_uuid(),
i.influencer_id,
i.platform,
'https://' || i.platform || '.com/post/' || replace(md5(random() :: text), '-', ''),
'重磅新品抢先体验',
'我竟然提前拿到了这款还未上市的重磅新品!赶紧来看看它的真实表现如何!#新品抢鲜 #独家测评',
CURRENT_TIMESTAMP - interval '6 months' + (random() * 45 || ' days') :: interval,
CURRENT_TIMESTAMP - interval '6 months',
CURRENT_TIMESTAMP - interval '6 months',
'37954d21-57b3-4e25-a614-001eaa9033b8'
FROM
public .influencers i
ORDER BY
random()
LIMIT
5;
-- 3个月前的趋势内容
INSERT INTO
public .posts (
post_id,
influencer_id,
platform,
post_url,
title,
description,
published_at,
created_at,
updated_at,
project_id
)
SELECT
gen_random_uuid(),
i.influencer_id,
i.platform,
'https://' || i.platform || '.com/post/' || replace(md5(random() :: text), '-', ''),
'这个超火的国外趋势终于传到国内了',
'这个趋势在欧美已经火了半年,现在终于传到国内了!一起来看看这个风靡全球的潮流!#全球趋势 #潮流前沿',
CURRENT_TIMESTAMP - interval '3 months' + (random() * 30 || ' days') :: interval,
CURRENT_TIMESTAMP - interval '3 months',
CURRENT_TIMESTAMP - interval '3 months',
'37954d21-57b3-4e25-a614-001eaa9033b8'
FROM
public .influencers i
ORDER BY
random()
LIMIT
5;
-- 当前正在进行的活动内容
INSERT INTO
public .posts (
post_id,
influencer_id,
platform,
post_url,
title,
description,
published_at,
created_at,
updated_at,
project_id
)
SELECT
gen_random_uuid(),
i.influencer_id,
i.platform,
'https://' || i.platform || '.com/post/' || replace(md5(random() :: text), '-', ''),
'正在直播:限时新品首发',
'大家久等了!我们终于可以揭晓这个神秘新品的真面目,现在正在直播间等你!#限时首发 #直播带货',
CURRENT_TIMESTAMP - interval '2 days' + (random() * 4 || ' days') :: interval,
CURRENT_TIMESTAMP - interval '2 days',
CURRENT_TIMESTAMP - interval '2 days',
'37954d21-57b3-4e25-a614-001eaa9033b8'
FROM
public .influencers i
WHERE
i.followers_count > 100000
ORDER BY
random()
LIMIT
3;
-- 未来计划发布的内容(预排)
INSERT INTO
public .posts (
post_id,
influencer_id,
platform,
post_url,
title,
description,
published_at,
created_at,
updated_at,
project_id
)
SELECT
gen_random_uuid(),
i.influencer_id,
i.platform,
'https://' || i.platform || '.com/post/' || replace(md5(random() :: text), '-', ''),
'即将上市2024下半年必入新品预告',
'提前为大家带来2024下半年即将上市的重磅新品预告这些产品一定会成为下半年的爆款#新品预告 #爆款预测',
CURRENT_TIMESTAMP + interval '1 month' + (random() * 60 || ' days') :: interval,
CURRENT_TIMESTAMP,
CURRENT_TIMESTAMP,
'37954d21-57b3-4e25-a614-001eaa9033b8'
FROM
public .influencers i
WHERE
i.name IN ('陈明星', '林美妆', '李小美', '张时尚')
LIMIT
4;
-- 添加互动数据差异大的评论
-- 为2年前的内容添加少量评论老内容
INSERT INTO
public .comments (
comment_id,
post_id,
content,
sentiment_score,
created_at,
updated_at
)
SELECT
gen_random_uuid(),
p.post_id,
'当时买了推荐的第三个,用到现在还不错',
0.7,
p.published_at + interval '5 days' + (random() * 30 || ' days') :: interval,
p.published_at + interval '5 days' + (random() * 30 || ' days') :: interval
FROM
public .posts p
WHERE
p.title = '2022年度爆款产品全盘点'
AND p.project_id = '37954d21-57b3-4e25-a614-001eaa9033b8';
-- 为18个月前的内容添加一些评论有正面也有负面的
INSERT INTO
public .comments (
comment_id,
post_id,
content,
sentiment_score,
created_at,
updated_at
)
SELECT
gen_random_uuid(),
p.post_id,
CASE
WHEN random() > 0.7 THEN '这些单品在南方可能不太适用,还是太薄了'
WHEN random() > 0.4 THEN '第二款外套买了,确实很保暖又时尚!'
ELSE '价格有点贵啊,有没有平价替代?'
END,
CASE
WHEN random() > 0.7 THEN 0.3
WHEN random() > 0.4 THEN 0.9
ELSE 0.5
END,
p.published_at + interval '1 day' + (random() * 15 || ' days') :: interval,
p.published_at + interval '1 day' + (random() * 15 || ' days') :: interval
FROM
public .posts p,
generate_series(1, 5) AS s
WHERE
p.title = '冬季保暖又时尚的穿搭指南'
AND p.project_id = '37954d21-57b3-4e25-a614-001eaa9033b8';
-- 为1年前的电商活动帖子添加大量正面评论
INSERT INTO
public .comments (
comment_id,
post_id,
content,
sentiment_score,
created_at,
updated_at
)
SELECT
gen_random_uuid(),
p.post_id,
CASE
WHEN random() > 0.8 THEN '这个推荐太及时了,刚好想买这个'
WHEN random() > 0.6 THEN '已经下单了,期待收货!'
WHEN random() > 0.4 THEN '之前一直在犹豫,看了你的推荐终于决定入手了'
WHEN random() > 0.2 THEN '这款性价比也太高了吧!'
ELSE '谢谢推荐,这个活动优惠力度确实很大'
END,
0.8 + random() * 0.2,
p.published_at + (random() * 5 || ' days') :: interval,
p.published_at + (random() * 5 || ' days') :: interval
FROM
public .posts p,
generate_series(1, 15) AS s
WHERE
p.title = '618电商节爆款推荐'
AND p.project_id = '37954d21-57b3-4e25-a614-001eaa9033b8';
-- 为6个月前的新品添加争议性评论有褒有贬
INSERT INTO
public .comments (
comment_id,
post_id,
content,
sentiment_score,
created_at,
updated_at
)
SELECT
gen_random_uuid(),
p.post_id,
CASE
WHEN n % 3 = 0 THEN '这个新品感觉有点虚高啊,功能并没有宣传的那么神奇'
WHEN n % 3 = 1 THEN '我已经用了一周了,确实比旧款提升不少'
ELSE '颜值确实高,但实用性存疑,还是等更多人反馈吧'
END,
CASE
WHEN n % 3 = 0 THEN 0.2
WHEN n % 3 = 1 THEN 0.8
ELSE 0.5
END,
p.published_at + interval '1 day' + (random() * 10 || ' days') :: interval,
p.published_at + interval '1 day' + (random() * 10 || ' days') :: interval
FROM
public .posts p,
generate_series(1, 10) AS n
WHERE
p.title = '重磅新品抢先体验'
AND p.project_id = '37954d21-57b3-4e25-a614-001eaa9033b8'
LIMIT
20;
-- 为3个月前的趋势内容添加大量评论和讨论
INSERT INTO
public .comments (
comment_id,
post_id,
content,
sentiment_score,
created_at,
updated_at
)
SELECT
gen_random_uuid(),
p.post_id,
CASE
WHEN n % 5 = 0 THEN '这个趋势在国外都过时了,我们才刚开始流行'
WHEN n % 5 = 1 THEN '真的很适合亚洲人,难怪会火起来'
WHEN n % 5 = 2 THEN '已经在尝试了,确实很好上手!'
WHEN n % 5 = 3 THEN '感觉还是更适合年轻人,我驾驭不了'
ELSE '这个趋势确实很新颖,期待更多相关内容'
END,
CASE
WHEN n % 5 = 0 THEN 0.3
WHEN n % 5 = 1 THEN 0.9
WHEN n % 5 = 2 THEN 0.8
WHEN n % 5 = 3 THEN 0.4
ELSE 0.7
END,
p.published_at + (random() * 7 || ' days') :: interval,
p.published_at + (random() * 7 || ' days') :: interval
FROM
public .posts p,
generate_series(1, 8) AS n
WHERE
p.title LIKE '%国外趋势%'
AND p.project_id = '37954d21-57b3-4e25-a614-001eaa9033b8';
-- 为当前正在进行的直播内容添加实时评论,大部分是提问
INSERT INTO
public .comments (
comment_id,
post_id,
content,
sentiment_score,
created_at,
updated_at
)
SELECT
gen_random_uuid(),
p.post_id,
CASE
WHEN n % 6 = 0 THEN '这个产品什么时候正式发售?'
WHEN n % 6 = 1 THEN '有什么颜色可选吗?'
WHEN n % 6 = 2 THEN '价格区间大概是多少?'
WHEN n % 6 = 3 THEN '适合什么肤质/年龄段的人使用?'
WHEN n % 6 = 4 THEN '直播间有优惠码吗?'
ELSE '可以详细介绍一下使用效果吗?'
END,
0.6,
p.published_at + interval '1 hour' + (random() * 3 || ' hours') :: interval,
p.published_at + interval '1 hour' + (random() * 3 || ' hours') :: interval
FROM
public .posts p,
generate_series(1, 12) AS n
WHERE
p.title LIKE '%直播%'
AND p.project_id = '37954d21-57b3-4e25-a614-001eaa9033b8';
-- 为未来计划发布的内容预先添加一些内部评论(测试用)
INSERT INTO
public .comments (
comment_id,
post_id,
content,
sentiment_score,
created_at,
updated_at
)
SELECT
gen_random_uuid(),
p.post_id,
CASE
WHEN random() > 0.7 THEN '[内部评论] 需要调整发布时间,避开竞品活动'
WHEN random() > 0.4 THEN '[内部评论] 文案需要再突出产品核心卖点'
ELSE '[内部评论] 图片质量不够高,建议重新拍摄'
END,
0.5,
CURRENT_TIMESTAMP - interval '3 days' + (random() * 2 || ' days') :: interval,
CURRENT_TIMESTAMP - interval '3 days' + (random() * 2 || ' days') :: interval
FROM
public .posts p
WHERE
p.title LIKE '%2024下半年%'
AND p.project_id = '37954d21-57b3-4e25-a614-001eaa9033b8'
LIMIT
6;
-- 添加一些超长的详细评论
INSERT INTO
public .comments (
comment_id,
post_id,
content,
sentiment_score,
created_at,
updated_at
)
VALUES
(
gen_random_uuid(),
(
SELECT
post_id
FROM
public .posts
WHERE
title = '重磅新品抢先体验'
AND project_id = '37954d21-57b3-4e25-a614-001eaa9033b8'
LIMIT
1
), '作为一个已经使用类似产品超过3年的老用户我来分享一下我的详细体验这款新品确实在材质和工艺上有明显提升尤其是在A部分的改进很贴心解决了之前版本的主要痛点。不过B功能感觉不如宣传的那么神奇实际使用中能感觉到提升但没有质的飞跃。价格方面比上一代贵了约20%,个人觉得溢价合理但不算特别值得。如果你是新用户,直接入手新款绝对不亏;如果已经有旧款在用,建议等降价再考虑升级。另外,官方宣传中没有提到的一点是,这款新品在极端环境下的表现出乎意料的好,我在最近的户外活动中亲测,即使在-10℃的环境下依然表现稳定这点真的很加分', 0.75, CURRENT_TIMESTAMP - interval '3 months' + interval '5 days',
CURRENT_TIMESTAMP - interval '3 months' + interval '5 days'
),
(
gen_random_uuid(),
(
SELECT
post_id
FROM
public .posts
WHERE
title LIKE '%国外趋势%'
AND project_id = '37954d21-57b3-4e25-a614-001eaa9033b8'
LIMIT
1
), '我在国外生活了5年这个趋势在当地已经持续了将近一年半的时间。有趣的是它在国外经历了几次演变最初是由小众设计师发起的实验性尝试后来被几位知名艺人带火然后迅速普及到大众市场。但到了去年年底这个趋势在欧美已经开始降温更多人开始转向另一种风格。不过我认为这个趋势在国内可能会有不同的发展轨迹因为东西方审美差异和文化背景不同很可能会在本土化过程中产生全新的变种反而更有生命力。另外值得一提的是这个趋势在国外主要流行于25-35岁的年龄段而在国内似乎更受年轻群体欢迎。看到博主分享的这些内容能感觉到已经融入了一些本土元素这种创新性改良很可能让这个趋势在国内拥有更长的生命周期', 0.85, CURRENT_TIMESTAMP - interval '2 months' + interval '3 days',
CURRENT_TIMESTAMP - interval '2 months' + interval '3 days'
);
-- 添加一些具有强烈情感倾向的评论
INSERT INTO
public .comments (
comment_id,
post_id,
content,
sentiment_score,
created_at,
updated_at
)
VALUES
-- 非常正面的评论
(
gen_random_uuid(),
(
SELECT
post_id
FROM
public .posts
WHERE
title = '618电商节爆款推荐'
AND project_id = '37954d21-57b3-4e25-a614-001eaa9033b8'
LIMIT
1
), '我简直不敢相信这个推荐有多准!去年按照你的清单买了三款产品,每一个都成了我的年度最爱!你的专业眼光真的无可挑剔,今年我打算把你推荐的所有东西都买下来,因为知道绝对不会踩雷。你是我关注的所有博主里面眼光最准的一个,每次买你推荐的东西都超值!', 0.98, CURRENT_TIMESTAMP - interval '1 year' + interval '3 days',
CURRENT_TIMESTAMP - interval '1 year' + interval '3 days'
),
-- 非常负面的评论
(
gen_random_uuid(),
(
SELECT
post_id
FROM
public .posts
WHERE
title = '重磅新品抢先体验'
AND project_id = '37954d21-57b3-4e25-a614-001eaa9033b8'
LIMIT
1
), '说实话这是我见过的最失望的开箱测评产品明显有问题却还在强行吹是收了多少广告费我朋友已经提前买了这个产品根本不像视频里说的那么好用各种bug不说质量也远低于预期真的对这个测评感到失望透顶。希望博主能够真实客观一点而不是只顾着收钱。', 0.05, CURRENT_TIMESTAMP - interval '5 months' + interval '2 days',
CURRENT_TIMESTAMP - interval '5 months' + interval '2 days'
);