231 lines
5.7 KiB
PL/PgSQL
231 lines
5.7 KiB
PL/PgSQL
-- ================================================================
|
|
-- DEV / TEST SEED DATA ONLY
|
|
-- 居家服务套餐价格联调测试数据,禁止用于生产真实支付。
|
|
-- 上线前必须执行对应 cleanup SQL 或确认所有测试记录已停用。
|
|
-- Seed Batch: DEV_HOME_SERVICE_PACKAGE_V1
|
|
-- ================================================================
|
|
|
|
BEGIN;
|
|
|
|
DO $$
|
|
DECLARE
|
|
missing_services TEXT;
|
|
BEGIN
|
|
SELECT string_agg(required.service_id, ', ' ORDER BY required.service_id)
|
|
INTO missing_services
|
|
FROM (
|
|
VALUES ('svc-001'), ('svc-002'), ('svc-003')
|
|
) AS required(service_id)
|
|
WHERE NOT EXISTS (
|
|
SELECT 1
|
|
FROM public.hss_service_catalog c
|
|
WHERE c.id = required.service_id
|
|
AND c.deleted_at IS NULL
|
|
);
|
|
|
|
IF missing_services IS NOT NULL THEN
|
|
RAISE EXCEPTION '缺少 hss_service_catalog 服务目录数据: %', missing_services;
|
|
END IF;
|
|
END;
|
|
$$;
|
|
|
|
INSERT INTO public.hss_service_packages (
|
|
id,
|
|
service_id,
|
|
package_name,
|
|
package_desc,
|
|
duration_minutes,
|
|
duration_text,
|
|
price,
|
|
list_price,
|
|
is_default,
|
|
sort_no,
|
|
status,
|
|
effective_at,
|
|
expires_at,
|
|
data_source,
|
|
seed_batch_no,
|
|
remark
|
|
) VALUES
|
|
(
|
|
'hspkg-dev-svc001-60',
|
|
'svc-001',
|
|
'【测试】基础上门护理 60分钟',
|
|
'开发联调用基础套餐,验证默认推荐、待付款金额和订单快照。',
|
|
60,
|
|
'60分钟',
|
|
138.00,
|
|
168.00,
|
|
true,
|
|
10,
|
|
1,
|
|
TIMESTAMPTZ '2026-01-01 00:00:00+08',
|
|
NULL,
|
|
'dev_seed',
|
|
'DEV_HOME_SERVICE_PACKAGE_V1',
|
|
'仅用于开发联调,禁止生产真实支付;上线前必须停用或删除。'
|
|
),
|
|
(
|
|
'hspkg-dev-svc001-120',
|
|
'svc-001',
|
|
'【测试】基础上门护理 120分钟',
|
|
'开发联调用延长套餐,验证多套餐展示、排序和金额差异。',
|
|
120,
|
|
'120分钟',
|
|
188.00,
|
|
228.00,
|
|
false,
|
|
20,
|
|
1,
|
|
TIMESTAMPTZ '2026-01-01 00:00:00+08',
|
|
NULL,
|
|
'dev_seed',
|
|
'DEV_HOME_SERVICE_PACKAGE_V1',
|
|
'仅用于开发联调,禁止生产真实支付;上线前必须停用或删除。'
|
|
),
|
|
(
|
|
'hspkg-dev-svc001-150',
|
|
'svc-001',
|
|
'【测试】基础上门护理 150分钟',
|
|
'开发联调用加强套餐,验证高价区间和时长展示。',
|
|
150,
|
|
'150分钟',
|
|
236.00,
|
|
268.00,
|
|
false,
|
|
30,
|
|
1,
|
|
TIMESTAMPTZ '2026-01-01 00:00:00+08',
|
|
NULL,
|
|
'dev_seed',
|
|
'DEV_HOME_SERVICE_PACKAGE_V1',
|
|
'仅用于开发联调,禁止生产真实支付;上线前必须停用或删除。'
|
|
),
|
|
(
|
|
'hspkg-dev-svc002-90',
|
|
'svc-002',
|
|
'【测试】康复训练指导 90分钟',
|
|
'开发联调用单一可售套餐,验证单服务单套餐场景。',
|
|
90,
|
|
'90分钟',
|
|
260.00,
|
|
320.00,
|
|
true,
|
|
10,
|
|
1,
|
|
TIMESTAMPTZ '2026-01-01 00:00:00+08',
|
|
NULL,
|
|
'dev_seed',
|
|
'DEV_HOME_SERVICE_PACKAGE_V1',
|
|
'仅用于开发联调,禁止生产真实支付;上线前必须停用或删除。'
|
|
),
|
|
(
|
|
'hspkg-dev-svc002-120-off',
|
|
'svc-002',
|
|
'【测试】康复训练指导 120分钟 已停用',
|
|
'开发联调停用套餐,验证消费者查询不会返回下架数据。',
|
|
120,
|
|
'120分钟',
|
|
318.00,
|
|
360.00,
|
|
false,
|
|
20,
|
|
0,
|
|
TIMESTAMPTZ '2026-01-01 00:00:00+08',
|
|
NULL,
|
|
'dev_seed',
|
|
'DEV_HOME_SERVICE_PACKAGE_V1',
|
|
'停用测试套餐,消费者页面不应展示。'
|
|
),
|
|
(
|
|
'hspkg-dev-svc002-120-expired',
|
|
'svc-002',
|
|
'【测试】康复训练指导 120分钟 已过期',
|
|
'开发联调过期套餐,验证有效期过滤。',
|
|
120,
|
|
'120分钟',
|
|
299.00,
|
|
350.00,
|
|
false,
|
|
30,
|
|
1,
|
|
TIMESTAMPTZ '2026-01-01 00:00:00+08',
|
|
TIMESTAMPTZ '2026-05-01 00:00:00+08',
|
|
'dev_seed',
|
|
'DEV_HOME_SERVICE_PACKAGE_V1',
|
|
'已过期测试套餐,消费者页面不应展示。'
|
|
),
|
|
(
|
|
'hspkg-dev-svc003-60',
|
|
'svc-003',
|
|
'【测试】慢病健康随访 60分钟',
|
|
'开发联调用基础随访套餐,验证低价区间。',
|
|
60,
|
|
'60分钟',
|
|
108.00,
|
|
128.00,
|
|
true,
|
|
10,
|
|
1,
|
|
TIMESTAMPTZ '2026-01-01 00:00:00+08',
|
|
NULL,
|
|
'dev_seed',
|
|
'DEV_HOME_SERVICE_PACKAGE_V1',
|
|
'仅用于开发联调,禁止生产真实支付;上线前必须停用或删除。'
|
|
),
|
|
(
|
|
'hspkg-dev-svc003-90',
|
|
'svc-003',
|
|
'【测试】慢病健康随访 90分钟',
|
|
'开发联调用标准随访套餐,验证中间价档位。',
|
|
90,
|
|
'90分钟',
|
|
128.00,
|
|
158.00,
|
|
false,
|
|
20,
|
|
1,
|
|
TIMESTAMPTZ '2026-01-01 00:00:00+08',
|
|
NULL,
|
|
'dev_seed',
|
|
'DEV_HOME_SERVICE_PACKAGE_V1',
|
|
'仅用于开发联调,禁止生产真实支付;上线前必须停用或删除。'
|
|
),
|
|
(
|
|
'hspkg-dev-svc003-120',
|
|
'svc-003',
|
|
'【测试】慢病健康随访 120分钟',
|
|
'开发联调用加长随访套餐,验证高价区间和长时长展示。',
|
|
120,
|
|
'120分钟',
|
|
166.00,
|
|
198.00,
|
|
false,
|
|
30,
|
|
1,
|
|
TIMESTAMPTZ '2026-01-01 00:00:00+08',
|
|
NULL,
|
|
'dev_seed',
|
|
'DEV_HOME_SERVICE_PACKAGE_V1',
|
|
'仅用于开发联调,禁止生产真实支付;上线前必须停用或删除。'
|
|
)
|
|
ON CONFLICT (id) DO UPDATE SET
|
|
service_id = EXCLUDED.service_id,
|
|
package_name = EXCLUDED.package_name,
|
|
package_desc = EXCLUDED.package_desc,
|
|
duration_minutes = EXCLUDED.duration_minutes,
|
|
duration_text = EXCLUDED.duration_text,
|
|
price = EXCLUDED.price,
|
|
list_price = EXCLUDED.list_price,
|
|
is_default = EXCLUDED.is_default,
|
|
sort_no = EXCLUDED.sort_no,
|
|
status = EXCLUDED.status,
|
|
effective_at = EXCLUDED.effective_at,
|
|
expires_at = EXCLUDED.expires_at,
|
|
data_source = EXCLUDED.data_source,
|
|
seed_batch_no = EXCLUDED.seed_batch_no,
|
|
remark = EXCLUDED.remark,
|
|
deleted_at = NULL,
|
|
updated_at = now();
|
|
|
|
COMMIT; |