1946 lines
294 KiB
Plaintext
1946 lines
294 KiB
Plaintext
SET client_encoding TO "UTF8";
|
||
|
||
DROP SCHEMA IF EXISTS billiards_ods CASCADE;
|
||
CREATE SCHEMA IF NOT EXISTS billiards_ods;
|
||
|
||
CREATE TABLE IF NOT EXISTS billiards_ods.member_profiles (
|
||
tenant_id BIGINT,
|
||
register_site_id BIGINT,
|
||
site_name TEXT,
|
||
id BIGINT PRIMARY KEY,
|
||
system_member_id BIGINT,
|
||
member_card_grade_code BIGINT,
|
||
member_card_grade_name TEXT,
|
||
mobile TEXT,
|
||
nickname TEXT,
|
||
point NUMERIC(18,2),
|
||
growth_value NUMERIC(18,2),
|
||
referrer_member_id BIGINT,
|
||
status INT,
|
||
user_status INT,
|
||
create_time TIMESTAMP,
|
||
source_file TEXT,
|
||
source_endpoint TEXT,
|
||
fetched_at TIMESTAMPTZ DEFAULT now(),
|
||
payload JSONB NOT NULL
|
||
);
|
||
|
||
COMMENT ON TABLE billiards_ods.member_profiles IS 'ODS 原始明细表:会员档案/会员账户信息。来源:C:/dev/LLTQ/export/test-json-doc/member_profiles.json;分析:member_profiles-Analysis.md。字段以导出原样为主;ETL 补充 source_file/source_endpoint/fetched_at,并保留 payload 为原始记录快照。';
|
||
COMMENT ON COLUMN billiards_ods.member_profiles.tenant_id IS '【说明】租户/品牌 ID。 【示例】2790683160709957(用于租户/品牌 ID)。 【JSON字段】tenant_id。';
|
||
COMMENT ON COLUMN billiards_ods.member_profiles.register_site_id IS '【说明】会员的注册门店 ID。 【示例】2790685415443269(用于会员的注册门店 ID)。 【JSON字段】register_site_id。';
|
||
COMMENT ON COLUMN billiards_ods.member_profiles.site_name IS '【说明】注册门店名称,属于冗余字段,用于直接展示。 【示例】朗朗桌球(注册门店名称,属于冗余字段,用于直接展示)。 【JSON字段】site_name。';
|
||
COMMENT ON COLUMN billiards_ods.member_profiles.id IS '【说明】这是“租户内会员账户”的主键 ID。 【示例】2955204541320325(用于这是“租户内会员账户”的主键 ID)。 【JSON字段】id。';
|
||
COMMENT ON COLUMN billiards_ods.member_profiles.system_member_id IS '【说明】这是“系统级会员 ID”,在全平台唯一,用来把一个会员在不同门店/不同卡类型下的账户统一到一个“人”的维度上。 【示例】2955204540009605(用于这是“系统级会员 ID”,在全平台唯一,用来把一个会员在不同门店/不同卡类型下的账户统一到一个“人”的维度上)。 【JSON字段】system_member_id。';
|
||
COMMENT ON COLUMN billiards_ods.member_profiles.member_card_grade_code IS '【说明】这两个字段是成对出现的:一个数值码,一个中文名称。 【示例】2790683528022853(用于这两个字段是成对出现的:一个数值码,一个中文名称)。 【JSON字段】member_card_grade_code。';
|
||
COMMENT ON COLUMN billiards_ods.member_profiles.member_card_grade_name IS '【说明】这是“会员卡种类/等级”的定义字段。 【示例】储值卡(用于这是“会员卡种类/等级”的定义字段)。 【JSON字段】member_card_grade_name。';
|
||
COMMENT ON COLUMN billiards_ods.member_profiles.mobile IS '【说明】会员绑定的手机号码。 【示例】18620043391(用于会员绑定的手机号码)。 【JSON字段】mobile。';
|
||
COMMENT ON COLUMN billiards_ods.member_profiles.nickname IS '【说明】会员在当前租户下的显示名称(可以是姓名,也可以是昵称)。 【示例】胡先生(用于会员在当前租户下的显示名称(可以是姓名,也可以是昵称))。 【JSON字段】nickname。';
|
||
COMMENT ON COLUMN billiards_ods.member_profiles.point IS '【说明】当前积分余额(这条会员账户的积分值)。 【示例】0.0(用于当前积分余额(这条会员账户的积分值))。 【JSON字段】point。';
|
||
COMMENT ON COLUMN billiards_ods.member_profiles.growth_value IS '【说明】成长值 / 经验值,用于会员等级晋升的累计指标。 【示例】0.0(成长值 / 经验值,用于会员等级晋升的累计指标)。 【JSON字段】growth_value。';
|
||
COMMENT ON COLUMN billiards_ods.member_profiles.referrer_member_id IS '【说明】推荐人会员 ID,用于记录该会员是由哪位老会员推荐。 【示例】0(推荐人会员 ID,用于记录该会员是由哪位老会员推荐)。 【JSON字段】referrer_member_id。';
|
||
COMMENT ON COLUMN billiards_ods.member_profiles.status IS '【说明】帐户状态(偏“卡状态/档案状态”)。 【示例】1(用于帐户状态(偏“卡状态/档案状态”))。 【JSON字段】status。';
|
||
COMMENT ON COLUMN billiards_ods.member_profiles.user_status IS '【说明】用户账号状态(偏“用户逻辑”层面的状态)。 【示例】1(用于用户账号状态(偏“用户逻辑”层面的状态))。 【JSON字段】user_status。';
|
||
COMMENT ON COLUMN billiards_ods.member_profiles.create_time IS '【说明】会员账户的创建时间(即这条档案/这张卡在系统中被创建的时间)。 【示例】2025-11-08 01:29:33(用于会员账户的创建时间(即这条档案/这张卡在系统中被创建的时间))。 【JSON字段】create_time。';
|
||
COMMENT ON COLUMN billiards_ods.member_profiles.source_file IS '【说明】ETL 元数据:原始导出文件名,用于数据追溯。 【示例】member_profiles.json(ETL 元数据:原始导出文件名,用于数据追溯)。 【JSON字段】无(ETL元数据)。';
|
||
COMMENT ON COLUMN billiards_ods.member_profiles.source_endpoint IS '【说明】ETL 元数据:采集来源(接口/文件路径),用于数据追溯。 【示例】C:/dev/LLTQ/export/test-json-doc/member_profiles.json(ETL 元数据:采集来源(接口/文件路径),用于数据追溯)。 【JSON字段】无(ETL元数据)。';
|
||
COMMENT ON COLUMN billiards_ods.member_profiles.fetched_at IS '【说明】ETL 元数据:采集/入库时间戳,用于口径对齐与增量处理。 【示例】2025-11-10T00:00:00+08:00(ETL 元数据:采集/入库时间戳,用于口径对齐与增量处理)。 【JSON字段】无(ETL元数据)。';
|
||
COMMENT ON COLUMN billiards_ods.member_profiles.payload IS '【说明】完整原始 JSON 记录快照,用于回溯与二次解析。 【示例】{...}(完整原始 JSON 记录快照,用于回溯与二次解析)。 【JSON字段】$(整条记录)。';
|
||
|
||
|
||
CREATE TABLE IF NOT EXISTS billiards_ods.member_balance_changes (
|
||
tenant_id BIGINT,
|
||
site_id BIGINT,
|
||
register_site_id BIGINT,
|
||
registerSiteName TEXT,
|
||
paySiteName TEXT,
|
||
id BIGINT PRIMARY KEY,
|
||
tenant_member_id BIGINT,
|
||
tenant_member_card_id BIGINT,
|
||
system_member_id BIGINT,
|
||
memberName TEXT,
|
||
memberMobile TEXT,
|
||
card_type_id BIGINT,
|
||
memberCardTypeName TEXT,
|
||
account_data NUMERIC(18,2),
|
||
before NUMERIC(18,2),
|
||
after NUMERIC(18,2),
|
||
refund_amount NUMERIC(18,2),
|
||
from_type INT,
|
||
payment_method INT,
|
||
relate_id BIGINT,
|
||
remark TEXT,
|
||
operator_id BIGINT,
|
||
operator_name TEXT,
|
||
is_delete INT,
|
||
create_time TIMESTAMP,
|
||
source_file TEXT,
|
||
source_endpoint TEXT,
|
||
fetched_at TIMESTAMPTZ DEFAULT now(),
|
||
payload JSONB NOT NULL
|
||
);
|
||
|
||
COMMENT ON TABLE billiards_ods.member_balance_changes IS 'ODS 原始明细表:会员余额变更流水。来源:C:/dev/LLTQ/export/test-json-doc/member_balance_changes.json;分析:member_balance_changes-Analysis.md。字段以导出原样为主;ETL 补充 source_file/source_endpoint/fetched_at,并保留 payload 为原始记录快照。';
|
||
COMMENT ON COLUMN billiards_ods.member_balance_changes.tenant_id IS '【说明】租户/商户 ID,本数据中是固定值(同一品牌/商户)。 【示例】2790683160709957(用于租户/商户 ID,本数据中是固定值(同一品牌/商户))。 【JSON字段】tenant_id。';
|
||
COMMENT ON COLUMN billiards_ods.member_balance_changes.site_id IS '【说明】非 0:记录所属的具体门店 ID(与其他 JSON 内的 site_id 一致)。 【示例】2790685415443269(用于非 0:记录所属的具体门店 ID(与其他 JSON 内的 site_id 一致))。 【JSON字段】site_id。';
|
||
COMMENT ON COLUMN billiards_ods.member_balance_changes.register_site_id IS '【说明】会员卡的“注册门店 ID”,即办卡所在门店。 【示例】2790685415443269(用于会员卡的“注册门店 ID”,即办卡所在门店)。 【JSON字段】register_site_id。';
|
||
COMMENT ON COLUMN billiards_ods.member_balance_changes.registerSiteName IS '【说明】卡片的注册门店名称(办卡地点),和 register_site_id 配套。 【示例】朗朗桌球(用于卡片的注册门店名称(办卡地点),和 register_site_id 配套)。 【JSON字段】registerSiteName。';
|
||
COMMENT ON COLUMN billiards_ods.member_balance_changes.paySiteName IS '【说明】发生本次余额变更的门店名称(即本次消费/充值所在门店)。 【示例】朗朗桌球(用于发生本次余额变更的门店名称(即本次消费/充值所在门店))。 【JSON字段】paySiteName。';
|
||
COMMENT ON COLUMN billiards_ods.member_balance_changes.id IS '【说明】余额变更记录的主键 ID,唯一标识这一条“账户余额变化事件”。 【示例】2957881605869253(用于余额变更记录的主键 ID,唯一标识这一条“账户余额变化事件”)。 【JSON字段】id。';
|
||
COMMENT ON COLUMN billiards_ods.member_balance_changes.tenant_member_id IS '【说明】商户维度的会员 ID(租户内会员主键)。 【示例】2799212845565701(用于商户维度的会员 ID(租户内会员主键))。 【JSON字段】tenant_member_id。';
|
||
COMMENT ON COLUMN billiards_ods.member_balance_changes.tenant_member_card_id IS '【说明】会员卡账户 ID,在租户内唯一标识某张卡。 【示例】2799219999295237(用于会员卡账户 ID,在租户内唯一标识某张卡)。 【JSON字段】tenant_member_card_id。';
|
||
COMMENT ON COLUMN billiards_ods.member_balance_changes.system_member_id IS '【说明】系统级(全局)会员 ID。 【示例】2799212844549893(用于系统级(全局)会员 ID)。 【JSON字段】system_member_id。';
|
||
COMMENT ON COLUMN billiards_ods.member_balance_changes.memberName IS '【说明】会员姓名或称呼(非昵称字段)。 【示例】曾丹烨(用于会员姓名或称呼(非昵称字段))。 【JSON字段】memberName。';
|
||
COMMENT ON COLUMN billiards_ods.member_balance_changes.memberMobile IS '【说明】会员手机号。 【示例】13922213242(用于会员手机号)。 【JSON字段】memberMobile。';
|
||
COMMENT ON COLUMN billiards_ods.member_balance_changes.card_type_id IS '【说明】卡种类型 ID,用于区分不同卡种。 【示例】2793249295533893(卡种类型 ID,用于区分不同卡种)。 【JSON字段】card_type_id。';
|
||
COMMENT ON COLUMN billiards_ods.member_balance_changes.memberCardTypeName IS '【说明】卡种名称,与 card_type_id 一一对应,是一个 卡种枚举名称。 【示例】储值卡(用于卡种名称,与 card_type_id 一一对应,是一个 卡种枚举名称)。 【JSON字段】memberCardTypeName。';
|
||
COMMENT ON COLUMN billiards_ods.member_balance_changes.account_data IS '【说明】本次变动的金额(元),正数表示增加,负数表示减少。 【示例】-120.0(用于本次变动的金额(元),正数表示增加,负数表示减少)。 【JSON字段】account_data。';
|
||
COMMENT ON COLUMN billiards_ods.member_balance_changes.before IS '【说明】本次变动前,该卡账户的余额(元)。 【示例】816.3(用于本次变动前,该卡账户的余额(元))。 【JSON字段】before。';
|
||
COMMENT ON COLUMN billiards_ods.member_balance_changes.after IS '【说明】本次变动后,该卡账户的余额(元)。 【示例】696.3(用于本次变动后,该卡账户的余额(元))。 【JSON字段】after。';
|
||
COMMENT ON COLUMN billiards_ods.member_balance_changes.refund_amount IS '【说明】可能用于标记“其中有多少金额是以‘退款’形式回流的”,或区分“退回余额”和“原路退回”两种模式。 【示例】0.0(可能用于标记“其中有多少金额是以‘退款’形式回流的”,或区分“退回余额”和“原路退回”两种模式)。 【JSON字段】refund_amount。';
|
||
COMMENT ON COLUMN billiards_ods.member_balance_changes.from_type IS '【说明】来自 JSON 导出的原始字段,用于保留业务取值。。 【示例】1(来自 JSON 导出的原始字段,用于保留业务取值。)。 【JSON字段】from_type。';
|
||
COMMENT ON COLUMN billiards_ods.member_balance_changes.payment_method IS '【说明】来自 JSON 导出的原始字段,用于保留业务取值。。 【示例】0(来自 JSON 导出的原始字段,用于保留业务取值。)。 【JSON字段】payment_method。';
|
||
COMMENT ON COLUMN billiards_ods.member_balance_changes.relate_id IS '【说明】例如某次充值记录的 ID、某张订单/结算单 ID、某次活动抵用券核销记录 ID 等。 【示例】2957881518788421(用于例如某次充值记录的 ID、某张订单/结算单 ID、某次活动抵用券核销记录 ID 等)。 【JSON字段】relate_id。';
|
||
COMMENT ON COLUMN billiards_ods.member_balance_changes.remark IS '【说明】当为空时,说明这条变动没有额外备注说明。 【示例】充值退款(用于当为空时,说明这条变动没有额外备注说明)。 【JSON字段】remark。';
|
||
COMMENT ON COLUMN billiards_ods.member_balance_changes.operator_id IS '【说明】执行此次余额变更操作的员工 ID。 【示例】2790687322443013(用于执行此次余额变更操作的员工 ID)。 【JSON字段】operator_id。';
|
||
COMMENT ON COLUMN billiards_ods.member_balance_changes.operator_name IS '【说明】操作员姓名(带职位前缀),是对 operator_id 的可读冗余字段。 【示例】收银员:郑丽珊(用于操作员姓名(带职位前缀),是对 operator_id 的可读冗余字段)。 【JSON字段】operator_name。';
|
||
COMMENT ON COLUMN billiards_ods.member_balance_changes.is_delete IS '【说明】逻辑删除标记(0=否,1=是)。。 【示例】0(用于逻辑删除标记(0=否,1=是))。 【JSON字段】is_delete。';
|
||
COMMENT ON COLUMN billiards_ods.member_balance_changes.create_time IS '【说明】本条余额变更记录的创建时间,通常接近交易发生时间。 【示例】2025-11-09 22:52:48(用于本条余额变更记录的创建时间,通常接近交易发生时间)。 【JSON字段】create_time。';
|
||
COMMENT ON COLUMN billiards_ods.member_balance_changes.source_file IS '【说明】ETL 元数据:原始导出文件名,用于数据追溯。 【示例】member_balance_changes.json(ETL 元数据:原始导出文件名,用于数据追溯)。 【JSON字段】无(ETL元数据)。';
|
||
COMMENT ON COLUMN billiards_ods.member_balance_changes.source_endpoint IS '【说明】ETL 元数据:采集来源(接口/文件路径),用于数据追溯。 【示例】C:/dev/LLTQ/export/test-json-doc/member_balance_changes.json(ETL 元数据:采集来源(接口/文件路径),用于数据追溯)。 【JSON字段】无(ETL元数据)。';
|
||
COMMENT ON COLUMN billiards_ods.member_balance_changes.fetched_at IS '【说明】ETL 元数据:采集/入库时间戳,用于口径对齐与增量处理。 【示例】2025-11-10T00:00:00+08:00(ETL 元数据:采集/入库时间戳,用于口径对齐与增量处理)。 【JSON字段】无(ETL元数据)。';
|
||
COMMENT ON COLUMN billiards_ods.member_balance_changes.payload IS '【说明】完整原始 JSON 记录快照,用于回溯与二次解析。 【示例】{...}(完整原始 JSON 记录快照,用于回溯与二次解析)。 【JSON字段】$(整条记录)。';
|
||
|
||
|
||
CREATE TABLE IF NOT EXISTS billiards_ods.member_stored_value_cards (
|
||
tenant_id BIGINT,
|
||
tenant_member_id BIGINT,
|
||
system_member_id BIGINT,
|
||
register_site_id BIGINT,
|
||
site_name TEXT,
|
||
id BIGINT PRIMARY KEY,
|
||
member_card_grade_code BIGINT,
|
||
member_card_grade_code_name TEXT,
|
||
member_card_type_name TEXT,
|
||
member_name TEXT,
|
||
member_mobile TEXT,
|
||
card_type_id BIGINT,
|
||
card_no TEXT,
|
||
card_physics_type TEXT,
|
||
balance NUMERIC(18,2),
|
||
denomination NUMERIC(18,2),
|
||
table_discount NUMERIC(10,4),
|
||
goods_discount NUMERIC(10,4),
|
||
assistant_discount NUMERIC(10,4),
|
||
assistant_reward_discount NUMERIC(10,4),
|
||
table_service_discount NUMERIC(10,4),
|
||
assistant_service_discount NUMERIC(10,4),
|
||
coupon_discount NUMERIC(10,4),
|
||
goods_service_discount NUMERIC(10,4),
|
||
assistant_discount_sub_switch INT,
|
||
table_discount_sub_switch INT,
|
||
goods_discount_sub_switch INT,
|
||
assistant_reward_discount_sub_switch INT,
|
||
table_service_deduct_radio NUMERIC(10,4),
|
||
assistant_service_deduct_radio NUMERIC(10,4),
|
||
goods_service_deduct_radio NUMERIC(10,4),
|
||
assistant_deduct_radio NUMERIC(10,4),
|
||
table_deduct_radio NUMERIC(10,4),
|
||
goods_deduct_radio NUMERIC(10,4),
|
||
coupon_deduct_radio NUMERIC(10,4),
|
||
assistant_reward_deduct_radio NUMERIC(10,4),
|
||
tableCardDeduct NUMERIC(18,2),
|
||
tableServiceCardDeduct NUMERIC(18,2),
|
||
goodsCarDeduct NUMERIC(18,2),
|
||
goodsServiceCardDeduct NUMERIC(18,2),
|
||
assistantCardDeduct NUMERIC(18,2),
|
||
assistantServiceCardDeduct NUMERIC(18,2),
|
||
assistantRewardCardDeduct NUMERIC(18,2),
|
||
cardSettleDeduct NUMERIC(18,2),
|
||
couponCardDeduct NUMERIC(18,2),
|
||
deliveryFeeDeduct NUMERIC(18,2),
|
||
use_scene INT,
|
||
able_cross_site INT,
|
||
able_site_transfer INT,
|
||
is_allow_give INT,
|
||
is_allow_order_deduct INT,
|
||
is_delete INT,
|
||
bind_password TEXT,
|
||
goods_discount_range_type INT,
|
||
goodsCategoryId BIGINT,
|
||
tableAreaId BIGINT,
|
||
effect_site_id BIGINT,
|
||
start_time TIMESTAMP,
|
||
end_time TIMESTAMP,
|
||
disable_start_time TIMESTAMP,
|
||
disable_end_time TIMESTAMP,
|
||
last_consume_time TIMESTAMP,
|
||
create_time TIMESTAMP,
|
||
status INT,
|
||
sort INT,
|
||
tenantAvatar TEXT,
|
||
tenantName TEXT,
|
||
pdAssisnatLevel TEXT,
|
||
cxAssisnatLevel TEXT,
|
||
source_file TEXT,
|
||
source_endpoint TEXT,
|
||
fetched_at TIMESTAMPTZ DEFAULT now(),
|
||
payload JSONB NOT NULL
|
||
);
|
||
|
||
COMMENT ON TABLE billiards_ods.member_stored_value_cards IS 'ODS 原始明细表:会员储值/卡券账户列表。来源:C:/dev/LLTQ/export/test-json-doc/member_stored_value_cards.json;分析:member_stored_value_cards-Analysis.md。字段以导出原样为主;ETL 补充 source_file/source_endpoint/fetched_at,并保留 payload 为原始记录快照。';
|
||
COMMENT ON COLUMN billiards_ods.member_stored_value_cards.tenant_id IS '【说明】租户/品牌 ID,与其他 JSON 中 tenant_id 一致。 【示例】2790683160709957(用于租户/品牌 ID,与其他 JSON 中 tenant_id 一致)。 【JSON字段】tenant_id。';
|
||
COMMENT ON COLUMN billiards_ods.member_stored_value_cards.tenant_member_id IS '【说明】当前商户(品牌/租户)中会员的主键 ID。 【示例】2955204541320325(用于当前商户(品牌/租户)中会员的主键 ID)。 【JSON字段】tenant_member_id。';
|
||
COMMENT ON COLUMN billiards_ods.member_stored_value_cards.system_member_id IS '【说明】系统级会员 ID(跨门店统一主键)。 【示例】2955204540009605(用于系统级会员 ID(跨门店统一主键))。 【JSON字段】system_member_id。';
|
||
COMMENT ON COLUMN billiards_ods.member_stored_value_cards.register_site_id IS '【说明】卡首次办理的门店 ID。 【示例】2790685415443269(用于卡首次办理的门店 ID)。 【JSON字段】register_site_id。';
|
||
COMMENT ON COLUMN billiards_ods.member_stored_value_cards.site_name IS '【说明】卡归属门店名称(视图中的展示字段)。 【示例】朗朗桌球(用于卡归属门店名称(视图中的展示字段))。 【JSON字段】site_name。';
|
||
COMMENT ON COLUMN billiards_ods.member_stored_value_cards.id IS '【说明】本表主键 ID,用于唯一标识一条记录。 【示例】2955206162843781(本表主键 ID,用于唯一标识一条记录)。 【JSON字段】id。';
|
||
COMMENT ON COLUMN billiards_ods.member_stored_value_cards.member_card_grade_code IS '【说明】卡等级/卡类代码,和下面两个名称字段一一对应。 【示例】2790683528022856(用于卡等级/卡类代码,和下面两个名称字段一一对应)。 【JSON字段】member_card_grade_code。';
|
||
COMMENT ON COLUMN billiards_ods.member_stored_value_cards.member_card_grade_code_name IS '【说明】卡等级/卡类名称。 【示例】活动抵用券(用于卡等级/卡类名称)。 【JSON字段】member_card_grade_code_name。';
|
||
COMMENT ON COLUMN billiards_ods.member_stored_value_cards.member_card_type_name IS '【说明】卡类型名称,实际与 member_card_grade_code_name 一致。 【示例】活动抵用券(用于卡类型名称,实际与 member_card_grade_code_name 一致)。 【JSON字段】member_card_type_name。';
|
||
COMMENT ON COLUMN billiards_ods.member_stored_value_cards.member_name IS '【说明】持卡会员姓名快照。 【示例】胡先生(用于持卡会员姓名快照)。 【JSON字段】member_name。';
|
||
COMMENT ON COLUMN billiards_ods.member_stored_value_cards.member_mobile IS '【说明】持卡会员手机号快照。 【示例】18620043391(用于持卡会员手机号快照)。 【JSON字段】member_mobile。';
|
||
COMMENT ON COLUMN billiards_ods.member_stored_value_cards.card_type_id IS '【说明】卡种 ID(定义“这是哪一种卡”)。 【示例】2793266846533445(用于卡种 ID(定义“这是哪一种卡”))。 【JSON字段】card_type_id。';
|
||
COMMENT ON COLUMN billiards_ods.member_stored_value_cards.card_no IS '【说明】实体卡物理卡号/条码号。 【示例】NULL(用于实体卡物理卡号/条码号)。 【JSON字段】card_no。';
|
||
COMMENT ON COLUMN billiards_ods.member_stored_value_cards.card_physics_type IS '【说明】物理卡类型。 【示例】1(用于物理卡类型)。 【JSON字段】card_physics_type。';
|
||
COMMENT ON COLUMN billiards_ods.member_stored_value_cards.balance IS '【说明】当前卡内余额(主要针对储值卡、部分券卡)。 【示例】0.0(用于当前卡内余额(主要针对储值卡、部分券卡))。 【JSON字段】balance。';
|
||
COMMENT ON COLUMN billiards_ods.member_stored_value_cards.denomination IS '【说明】采用“几折”的记法:10=不打折,9=九折,8=八折。 【示例】0.0(用于采用“几折”的记法:10=不打折,9=九折,8=八折)。 【JSON字段】denomination。';
|
||
COMMENT ON COLUMN billiards_ods.member_stored_value_cards.table_discount IS '【说明】数量/时长字段,用于统计与计量。 【示例】10.0(数量/时长字段,用于统计与计量)。 【JSON字段】table_discount。';
|
||
COMMENT ON COLUMN billiards_ods.member_stored_value_cards.goods_discount IS '【说明】数量/时长字段,用于统计与计量。 【示例】10.0(数量/时长字段,用于统计与计量)。 【JSON字段】goods_discount。';
|
||
COMMENT ON COLUMN billiards_ods.member_stored_value_cards.assistant_discount IS '【说明】数量/时长字段,用于统计与计量。 【示例】10.0(数量/时长字段,用于统计与计量)。 【JSON字段】assistant_discount。';
|
||
COMMENT ON COLUMN billiards_ods.member_stored_value_cards.assistant_reward_discount IS '【说明】数量/时长字段,用于统计与计量。 【示例】10.0(数量/时长字段,用于统计与计量)。 【JSON字段】assistant_reward_discount。';
|
||
COMMENT ON COLUMN billiards_ods.member_stored_value_cards.table_service_discount IS '【说明】数量/时长字段,用于统计与计量。 【示例】10.0(数量/时长字段,用于统计与计量)。 【JSON字段】table_service_discount。';
|
||
COMMENT ON COLUMN billiards_ods.member_stored_value_cards.assistant_service_discount IS '【说明】数量/时长字段,用于统计与计量。 【示例】10.0(数量/时长字段,用于统计与计量)。 【JSON字段】assistant_service_discount。';
|
||
COMMENT ON COLUMN billiards_ods.member_stored_value_cards.coupon_discount IS '【说明】数量/时长字段,用于统计与计量。 【示例】10.0(数量/时长字段,用于统计与计量)。 【JSON字段】coupon_discount。';
|
||
COMMENT ON COLUMN billiards_ods.member_stored_value_cards.goods_service_discount IS '【说明】数量/时长字段,用于统计与计量。 【示例】10.0(数量/时长字段,用于统计与计量)。 【JSON字段】goods_service_discount。';
|
||
COMMENT ON COLUMN billiards_ods.member_stored_value_cards.assistant_discount_sub_switch IS '【说明】数量/时长字段,用于统计与计量。 【示例】2(数量/时长字段,用于统计与计量)。 【JSON字段】assistant_discount_sub_switch。';
|
||
COMMENT ON COLUMN billiards_ods.member_stored_value_cards.table_discount_sub_switch IS '【说明】数量/时长字段,用于统计与计量。 【示例】2(数量/时长字段,用于统计与计量)。 【JSON字段】table_discount_sub_switch。';
|
||
COMMENT ON COLUMN billiards_ods.member_stored_value_cards.goods_discount_sub_switch IS '【说明】数量/时长字段,用于统计与计量。 【示例】2(数量/时长字段,用于统计与计量)。 【JSON字段】goods_discount_sub_switch。';
|
||
COMMENT ON COLUMN billiards_ods.member_stored_value_cards.assistant_reward_discount_sub_switch IS '【说明】数量/时长字段,用于统计与计量。 【示例】2(数量/时长字段,用于统计与计量)。 【JSON字段】assistant_reward_discount_sub_switch。';
|
||
COMMENT ON COLUMN billiards_ods.member_stored_value_cards.table_service_deduct_radio IS '【说明】金额字段,用于计费/结算/分摊等金额计算。 【示例】100.0(金额字段,用于计费/结算/分摊等金额计算)。 【JSON字段】table_service_deduct_radio。';
|
||
COMMENT ON COLUMN billiards_ods.member_stored_value_cards.assistant_service_deduct_radio IS '【说明】金额字段,用于计费/结算/分摊等金额计算。 【示例】100.0(金额字段,用于计费/结算/分摊等金额计算)。 【JSON字段】assistant_service_deduct_radio。';
|
||
COMMENT ON COLUMN billiards_ods.member_stored_value_cards.goods_service_deduct_radio IS '【说明】金额字段,用于计费/结算/分摊等金额计算。 【示例】100.0(金额字段,用于计费/结算/分摊等金额计算)。 【JSON字段】goods_service_deduct_radio。';
|
||
COMMENT ON COLUMN billiards_ods.member_stored_value_cards.assistant_deduct_radio IS '【说明】金额字段,用于计费/结算/分摊等金额计算。 【示例】100.0(金额字段,用于计费/结算/分摊等金额计算)。 【JSON字段】assistant_deduct_radio。';
|
||
COMMENT ON COLUMN billiards_ods.member_stored_value_cards.table_deduct_radio IS '【说明】金额字段,用于计费/结算/分摊等金额计算。 【示例】100.0(金额字段,用于计费/结算/分摊等金额计算)。 【JSON字段】table_deduct_radio。';
|
||
COMMENT ON COLUMN billiards_ods.member_stored_value_cards.goods_deduct_radio IS '【说明】金额字段,用于计费/结算/分摊等金额计算。 【示例】100.0(金额字段,用于计费/结算/分摊等金额计算)。 【JSON字段】goods_deduct_radio。';
|
||
COMMENT ON COLUMN billiards_ods.member_stored_value_cards.coupon_deduct_radio IS '【说明】金额字段,用于计费/结算/分摊等金额计算。 【示例】100.0(金额字段,用于计费/结算/分摊等金额计算)。 【JSON字段】coupon_deduct_radio。';
|
||
COMMENT ON COLUMN billiards_ods.member_stored_value_cards.assistant_reward_deduct_radio IS '【说明】金额字段,用于计费/结算/分摊等金额计算。 【示例】100.0(金额字段,用于计费/结算/分摊等金额计算)。 【JSON字段】assistant_reward_deduct_radio。';
|
||
COMMENT ON COLUMN billiards_ods.member_stored_value_cards.tableCardDeduct IS '【说明】针对台费/商品/助教三类消费的扣卡金额配置(类似“每小时从卡里扣 xx 元”或“每次抵扣 xx 元”的规则)。 【示例】0.0(用于针对台费/商品/助教三类消费的扣卡金额配置(类似“每小时从卡里扣 xx 元”或“每次抵扣 xx 元”的规则))。 【JSON字段】tableCardDeduct。';
|
||
COMMENT ON COLUMN billiards_ods.member_stored_value_cards.tableServiceCardDeduct IS '【说明】如果系统中区分“储值金、服务金、奖励金”等子账户,这三个字段对应“服务金”子账户的扣款配置。 【示例】0.0(用于如果系统中区分“储值金、服务金、奖励金”等子账户,这三个字段对应“服务金”子账户的扣款配置)。 【JSON字段】tableServiceCardDeduct。';
|
||
COMMENT ON COLUMN billiards_ods.member_stored_value_cards.goodsCarDeduct IS '【说明】针对台费/商品/助教三类消费的扣卡金额配置(类似“每小时从卡里扣 xx 元”或“每次抵扣 xx 元”的规则)。 【示例】0.0(用于针对台费/商品/助教三类消费的扣卡金额配置(类似“每小时从卡里扣 xx 元”或“每次抵扣 xx 元”的规则))。 【JSON字段】goodsCarDeduct。';
|
||
COMMENT ON COLUMN billiards_ods.member_stored_value_cards.goodsServiceCardDeduct IS '【说明】如果系统中区分“储值金、服务金、奖励金”等子账户,这三个字段对应“服务金”子账户的扣款配置。 【示例】0.0(用于如果系统中区分“储值金、服务金、奖励金”等子账户,这三个字段对应“服务金”子账户的扣款配置)。 【JSON字段】goodsServiceCardDeduct。';
|
||
COMMENT ON COLUMN billiards_ods.member_stored_value_cards.assistantCardDeduct IS '【说明】针对台费/商品/助教三类消费的扣卡金额配置(类似“每小时从卡里扣 xx 元”或“每次抵扣 xx 元”的规则)。 【示例】0.0(用于针对台费/商品/助教三类消费的扣卡金额配置(类似“每小时从卡里扣 xx 元”或“每次抵扣 xx 元”的规则))。 【JSON字段】assistantCardDeduct。';
|
||
COMMENT ON COLUMN billiards_ods.member_stored_value_cards.assistantServiceCardDeduct IS '【说明】如果系统中区分“储值金、服务金、奖励金”等子账户,这三个字段对应“服务金”子账户的扣款配置。 【示例】0.0(用于如果系统中区分“储值金、服务金、奖励金”等子账户,这三个字段对应“服务金”子账户的扣款配置)。 【JSON字段】assistantServiceCardDeduct。';
|
||
COMMENT ON COLUMN billiards_ods.member_stored_value_cards.assistantRewardCardDeduct IS '【说明】助教奖励金方向扣款的配置。 【示例】0.0(用于助教奖励金方向扣款的配置)。 【JSON字段】assistantRewardCardDeduct。';
|
||
COMMENT ON COLUMN billiards_ods.member_stored_value_cards.cardSettleDeduct IS '【说明】结算时从卡中扣除的金额上限/规则配置(视图级。 【示例】0.0(用于结算时从卡中扣除的金额上限/规则配置(视图级)。 【JSON字段】cardSettleDeduct。';
|
||
COMMENT ON COLUMN billiards_ods.member_stored_value_cards.couponCardDeduct IS '【说明】与卡绑定的“券额度扣除配置”。 【示例】0.0(用于与卡绑定的“券额度扣除配置”)。 【JSON字段】couponCardDeduct。';
|
||
COMMENT ON COLUMN billiards_ods.member_stored_value_cards.deliveryFeeDeduct IS '【说明】配送费可否/多少从卡中抵扣,目前无业务发生。 【示例】0.0(用于配送费可否/多少从卡中抵扣,目前无业务发生)。 【JSON字段】deliveryFeeDeduct。';
|
||
COMMENT ON COLUMN billiards_ods.member_stored_value_cards.use_scene IS '【说明】卡使用场景说明(比如“仅店内使用”“仅团建”等),本门店尚未使用此字段。 【示例】NULL(用于卡使用场景说明(比如“仅店内使用”“仅团建”等),本门店尚未使用此字段)。 【JSON字段】use_scene。';
|
||
COMMENT ON COLUMN billiards_ods.member_stored_value_cards.able_cross_site IS '【说明】是否允许跨店使用。 【示例】1(用于是否允许跨店使用)。 【JSON字段】able_cross_site。';
|
||
COMMENT ON COLUMN billiards_ods.member_stored_value_cards.able_site_transfer IS '【说明】布尔/开关字段,用于表示权限、可用性或状态开关。 【示例】NULL(布尔/开关字段,用于表示权限、可用性或状态开关)。 【JSON字段】able_site_transfer。';
|
||
COMMENT ON COLUMN billiards_ods.member_stored_value_cards.is_allow_give IS '【说明】是否允许转赠/转让给其他会员。 【示例】0(用于是否允许转赠/转让给其他会员)。 【JSON字段】is_allow_give。';
|
||
COMMENT ON COLUMN billiards_ods.member_stored_value_cards.is_allow_order_deduct IS '【说明】是否允许在“订单层面统一扣款”。 【示例】0(用于是否允许在“订单层面统一扣款”)。 【JSON字段】is_allow_order_deduct。';
|
||
COMMENT ON COLUMN billiards_ods.member_stored_value_cards.is_delete IS '【说明】逻辑删除标志。 【示例】0(用于逻辑删除标志)。 【JSON字段】is_delete。';
|
||
COMMENT ON COLUMN billiards_ods.member_stored_value_cards.bind_password IS '【说明】卡绑定密码,用于消费或查询验证(目前未启用)。 【示例】NULL(卡绑定密码,用于消费或查询验证(目前未启用))。 【JSON字段】bind_password。';
|
||
COMMENT ON COLUMN billiards_ods.member_stored_value_cards.goods_discount_range_type IS '【说明】数量/时长字段,用于统计与计量。 【示例】1(数量/时长字段,用于统计与计量)。 【JSON字段】goods_discount_range_type。';
|
||
COMMENT ON COLUMN billiards_ods.member_stored_value_cards.goodsCategoryId IS '【说明】可用的商品分类 ID 列表。 【示例】[](用于可用的商品分类 ID 列表)。 【JSON字段】goodsCategoryId。';
|
||
COMMENT ON COLUMN billiards_ods.member_stored_value_cards.tableAreaId IS '【说明】限定可使用的台区 ID 列表。 【示例】[](用于限定可使用的台区 ID 列表)。 【JSON字段】tableAreaId。';
|
||
COMMENT ON COLUMN billiards_ods.member_stored_value_cards.effect_site_id IS '【说明】卡片限定生效门店 ID。 【示例】0(用于卡片限定生效门店 ID)。 【JSON字段】effect_site_id。';
|
||
COMMENT ON COLUMN billiards_ods.member_stored_value_cards.start_time IS '【说明】卡片生效开始时间(有效期起始)。 【示例】2025-11-08 01:31:12(用于卡片生效开始时间(有效期起始))。 【JSON字段】start_time。';
|
||
COMMENT ON COLUMN billiards_ods.member_stored_value_cards.end_time IS '【说明】卡片有效期结束时间。 【示例】2225-01-01 00:00:00(用于卡片有效期结束时间)。 【JSON字段】end_time。';
|
||
COMMENT ON COLUMN billiards_ods.member_stored_value_cards.disable_start_time IS '【说明】停用时间段(比如临时冻结卡的起止时间)。 【示例】0001-01-01 00:00:00(用于停用时间段(比如临时冻结卡的起止时间))。 【JSON字段】disable_start_time。';
|
||
COMMENT ON COLUMN billiards_ods.member_stored_value_cards.disable_end_time IS '【说明】停用时间段(比如临时冻结卡的起止时间)。 【示例】0001-01-01 00:00:00(用于停用时间段(比如临时冻结卡的起止时间))。 【JSON字段】disable_end_time。';
|
||
COMMENT ON COLUMN billiards_ods.member_stored_value_cards.last_consume_time IS '【说明】最近一次消费时间。 【示例】2025-11-09 07:48:23(用于最近一次消费时间)。 【JSON字段】last_consume_time。';
|
||
COMMENT ON COLUMN billiards_ods.member_stored_value_cards.create_time IS '【说明】卡片创建时间(开卡时间)。 【示例】2025-11-08 01:31:12(用于卡片创建时间(开卡时间))。 【JSON字段】create_time。';
|
||
COMMENT ON COLUMN billiards_ods.member_stored_value_cards.status IS '【说明】状态枚举,用于标识记录当前业务状态。。 【示例】1(状态枚举,用于标识记录当前业务状态。)。 【JSON字段】status。';
|
||
COMMENT ON COLUMN billiards_ods.member_stored_value_cards.sort IS '【说明】在前端展示或某些列表中的排序权重。 【示例】1(用于在前端展示或某些列表中的排序权重)。 【JSON字段】sort。';
|
||
COMMENT ON COLUMN billiards_ods.member_stored_value_cards.tenantAvatar IS '【说明】品牌头像 URL(未配置)。 【示例】NULL(用于品牌头像 URL(未配置))。 【JSON字段】tenantAvatar。';
|
||
COMMENT ON COLUMN billiards_ods.member_stored_value_cards.tenantName IS '【说明】租户/品牌名称(当前导出为空)。 【示例】NULL(用于租户/品牌名称(当前导出为空))。 【JSON字段】tenantName。';
|
||
COMMENT ON COLUMN billiards_ods.member_stored_value_cards.pdAssisnatLevel IS '【说明】允许使用的“陪打/助教等级”列表。 【示例】[](用于允许使用的“陪打/助教等级”列表)。 【JSON字段】pdAssisnatLevel。';
|
||
COMMENT ON COLUMN billiards_ods.member_stored_value_cards.cxAssisnatLevel IS '【说明】可能是“促销活动中的助教等级限制”(命名中 cx 多为“促销”缩写)。 【示例】[](用于可能是“促销活动中的助教等级限制”(命名中 cx 多为“促销”缩写))。 【JSON字段】cxAssisnatLevel。';
|
||
COMMENT ON COLUMN billiards_ods.member_stored_value_cards.source_file IS '【说明】ETL 元数据:原始导出文件名,用于数据追溯。 【示例】member_stored_value_cards.json(ETL 元数据:原始导出文件名,用于数据追溯)。 【JSON字段】无(ETL元数据)。';
|
||
COMMENT ON COLUMN billiards_ods.member_stored_value_cards.source_endpoint IS '【说明】ETL 元数据:采集来源(接口/文件路径),用于数据追溯。 【示例】C:/dev/LLTQ/export/test-json-doc/member_stored_value_cards.json(ETL 元数据:采集来源(接口/文件路径),用于数据追溯)。 【JSON字段】无(ETL元数据)。';
|
||
COMMENT ON COLUMN billiards_ods.member_stored_value_cards.fetched_at IS '【说明】ETL 元数据:采集/入库时间戳,用于口径对齐与增量处理。 【示例】2025-11-10T00:00:00+08:00(ETL 元数据:采集/入库时间戳,用于口径对齐与增量处理)。 【JSON字段】无(ETL元数据)。';
|
||
COMMENT ON COLUMN billiards_ods.member_stored_value_cards.payload IS '【说明】完整原始 JSON 记录快照,用于回溯与二次解析。 【示例】{...}(完整原始 JSON 记录快照,用于回溯与二次解析)。 【JSON字段】$(整条记录)。';
|
||
|
||
|
||
CREATE TABLE IF NOT EXISTS billiards_ods.recharge_settlements (
|
||
id BIGINT PRIMARY KEY,
|
||
tenantid BIGINT,
|
||
siteid BIGINT,
|
||
sitename TEXT,
|
||
balanceamount NUMERIC(18,2),
|
||
cardamount NUMERIC(18,2),
|
||
cashamount NUMERIC(18,2),
|
||
couponamount NUMERIC(18,2),
|
||
createtime TIMESTAMPTZ,
|
||
memberid BIGINT,
|
||
membername TEXT,
|
||
tenantmembercardid BIGINT,
|
||
membercardtypename TEXT,
|
||
memberphone TEXT,
|
||
tableid BIGINT,
|
||
consumemoney NUMERIC(18,2),
|
||
onlineamount NUMERIC(18,2),
|
||
operatorid BIGINT,
|
||
operatorname TEXT,
|
||
revokeorderid BIGINT,
|
||
revokeordername TEXT,
|
||
revoketime TIMESTAMPTZ,
|
||
payamount NUMERIC(18,2),
|
||
pointamount NUMERIC(18,2),
|
||
refundamount NUMERIC(18,2),
|
||
settlename TEXT,
|
||
settlerelateid BIGINT,
|
||
settlestatus INT,
|
||
settletype INT,
|
||
paytime TIMESTAMPTZ,
|
||
roundingamount NUMERIC(18,2),
|
||
paymentmethod INT,
|
||
adjustamount NUMERIC(18,2),
|
||
assistantcxmoney NUMERIC(18,2),
|
||
assistantpdmoney NUMERIC(18,2),
|
||
couponsaleamount NUMERIC(18,2),
|
||
memberdiscountamount NUMERIC(18,2),
|
||
tablechargemoney NUMERIC(18,2),
|
||
goodsmoney NUMERIC(18,2),
|
||
realgoodsmoney NUMERIC(18,2),
|
||
servicemoney NUMERIC(18,2),
|
||
prepaymoney NUMERIC(18,2),
|
||
salesmanname TEXT,
|
||
orderremark TEXT,
|
||
salesmanuserid BIGINT,
|
||
canberevoked BOOLEAN,
|
||
pointdiscountprice NUMERIC(18,2),
|
||
pointdiscountcost NUMERIC(18,2),
|
||
activitydiscount NUMERIC(18,2),
|
||
serialnumber BIGINT,
|
||
assistantmanualdiscount NUMERIC(18,2),
|
||
allcoupondiscount NUMERIC(18,2),
|
||
goodspromotionmoney NUMERIC(18,2),
|
||
assistantpromotionmoney NUMERIC(18,2),
|
||
isusecoupon BOOLEAN,
|
||
isusediscount BOOLEAN,
|
||
isactivity BOOLEAN,
|
||
isbindmember BOOLEAN,
|
||
isfirst INT,
|
||
rechargecardamount NUMERIC(18,2),
|
||
giftcardamount NUMERIC(18,2),
|
||
source_file TEXT,
|
||
source_endpoint TEXT,
|
||
fetched_at TIMESTAMPTZ DEFAULT now(),
|
||
payload JSONB NOT NULL
|
||
);
|
||
|
||
COMMENT ON TABLE billiards_ods.recharge_settlements IS 'ODS 原始明细表:充值结算记录。来源:C:/dev/LLTQ/export/test-json-doc/recharge_settlements.json;分析:recharge_settlements-Analysis.md。字段以导出原样为主;ETL 补充 source_file/source_endpoint/fetched_at,并保留 payload 为原始记录快照。';
|
||
COMMENT ON COLUMN billiards_ods.recharge_settlements.id IS '【说明】门店 ID。 【示例】NULL(用于门店 ID)。 【JSON字段】id。';
|
||
COMMENT ON COLUMN billiards_ods.recharge_settlements.tenantid IS '【说明】来自 JSON 导出的原始字段,用于保留业务取值。 【示例】NULL(来自 JSON 导出的原始字段,用于保留业务取值)。 【JSON字段】tenantid。';
|
||
COMMENT ON COLUMN billiards_ods.recharge_settlements.siteid IS '【说明】来自 JSON 导出的原始字段,用于保留业务取值。 【示例】NULL(来自 JSON 导出的原始字段,用于保留业务取值)。 【JSON字段】siteid。';
|
||
COMMENT ON COLUMN billiards_ods.recharge_settlements.sitename IS '【说明】名称字段,用于展示与辅助识别。 【示例】NULL(名称字段,用于展示与辅助识别)。 【JSON字段】sitename。';
|
||
COMMENT ON COLUMN billiards_ods.recharge_settlements.balanceamount IS '【说明】金额字段,用于计费/结算/分摊等金额计算。 【示例】NULL(金额字段,用于计费/结算/分摊等金额计算)。 【JSON字段】balanceamount。';
|
||
COMMENT ON COLUMN billiards_ods.recharge_settlements.cardamount IS '【说明】金额字段,用于计费/结算/分摊等金额计算。 【示例】NULL(金额字段,用于计费/结算/分摊等金额计算)。 【JSON字段】cardamount。';
|
||
COMMENT ON COLUMN billiards_ods.recharge_settlements.cashamount IS '【说明】金额字段,用于计费/结算/分摊等金额计算。 【示例】NULL(金额字段,用于计费/结算/分摊等金额计算)。 【JSON字段】cashamount。';
|
||
COMMENT ON COLUMN billiards_ods.recharge_settlements.couponamount IS '【说明】金额字段,用于计费/结算/分摊等金额计算。 【示例】NULL(金额字段,用于计费/结算/分摊等金额计算)。 【JSON字段】couponamount。';
|
||
COMMENT ON COLUMN billiards_ods.recharge_settlements.createtime IS '【说明】时间字段,用于记录业务时间点/发生时间。 【示例】NULL(时间字段,用于记录业务时间点/发生时间)。 【JSON字段】createtime。';
|
||
COMMENT ON COLUMN billiards_ods.recharge_settlements.memberid IS '【说明】来自 JSON 导出的原始字段,用于保留业务取值。 【示例】NULL(来自 JSON 导出的原始字段,用于保留业务取值)。 【JSON字段】memberid。';
|
||
COMMENT ON COLUMN billiards_ods.recharge_settlements.membername IS '【说明】名称字段,用于展示与辅助识别。 【示例】NULL(名称字段,用于展示与辅助识别)。 【JSON字段】membername。';
|
||
COMMENT ON COLUMN billiards_ods.recharge_settlements.tenantmembercardid IS '【说明】来自 JSON 导出的原始字段,用于保留业务取值。 【示例】NULL(来自 JSON 导出的原始字段,用于保留业务取值)。 【JSON字段】tenantmembercardid。';
|
||
COMMENT ON COLUMN billiards_ods.recharge_settlements.membercardtypename IS '【说明】名称字段,用于展示与辅助识别。 【示例】NULL(名称字段,用于展示与辅助识别)。 【JSON字段】membercardtypename。';
|
||
COMMENT ON COLUMN billiards_ods.recharge_settlements.memberphone IS '【说明】来自 JSON 导出的原始字段,用于保留业务取值。 【示例】NULL(来自 JSON 导出的原始字段,用于保留业务取值)。 【JSON字段】memberphone。';
|
||
COMMENT ON COLUMN billiards_ods.recharge_settlements.tableid IS '【说明】来自 JSON 导出的原始字段,用于保留业务取值。 【示例】NULL(来自 JSON 导出的原始字段,用于保留业务取值)。 【JSON字段】tableid。';
|
||
COMMENT ON COLUMN billiards_ods.recharge_settlements.consumemoney IS '【说明】金额字段,用于计费/结算/分摊等金额计算。 【示例】NULL(金额字段,用于计费/结算/分摊等金额计算)。 【JSON字段】consumemoney。';
|
||
COMMENT ON COLUMN billiards_ods.recharge_settlements.onlineamount IS '【说明】金额字段,用于计费/结算/分摊等金额计算。 【示例】NULL(金额字段,用于计费/结算/分摊等金额计算)。 【JSON字段】onlineamount。';
|
||
COMMENT ON COLUMN billiards_ods.recharge_settlements.operatorid IS '【说明】来自 JSON 导出的原始字段,用于保留业务取值。 【示例】NULL(来自 JSON 导出的原始字段,用于保留业务取值)。 【JSON字段】operatorid。';
|
||
COMMENT ON COLUMN billiards_ods.recharge_settlements.operatorname IS '【说明】名称字段,用于展示与辅助识别。 【示例】NULL(名称字段,用于展示与辅助识别)。 【JSON字段】operatorname。';
|
||
COMMENT ON COLUMN billiards_ods.recharge_settlements.revokeorderid IS '【说明】来自 JSON 导出的原始字段,用于保留业务取值。 【示例】NULL(来自 JSON 导出的原始字段,用于保留业务取值)。 【JSON字段】revokeorderid。';
|
||
COMMENT ON COLUMN billiards_ods.recharge_settlements.revokeordername IS '【说明】名称字段,用于展示与辅助识别。 【示例】NULL(名称字段,用于展示与辅助识别)。 【JSON字段】revokeordername。';
|
||
COMMENT ON COLUMN billiards_ods.recharge_settlements.revoketime IS '【说明】时间字段,用于记录业务时间点/发生时间。 【示例】NULL(时间字段,用于记录业务时间点/发生时间)。 【JSON字段】revoketime。';
|
||
COMMENT ON COLUMN billiards_ods.recharge_settlements.payamount IS '【说明】金额字段,用于计费/结算/分摊等金额计算。 【示例】NULL(金额字段,用于计费/结算/分摊等金额计算)。 【JSON字段】payamount。';
|
||
COMMENT ON COLUMN billiards_ods.recharge_settlements.pointamount IS '【说明】金额字段,用于计费/结算/分摊等金额计算。 【示例】NULL(金额字段,用于计费/结算/分摊等金额计算)。 【JSON字段】pointamount。';
|
||
COMMENT ON COLUMN billiards_ods.recharge_settlements.refundamount IS '【说明】金额字段,用于计费/结算/分摊等金额计算。 【示例】NULL(金额字段,用于计费/结算/分摊等金额计算)。 【JSON字段】refundamount。';
|
||
COMMENT ON COLUMN billiards_ods.recharge_settlements.settlename IS '【说明】名称字段,用于展示与辅助识别。 【示例】NULL(名称字段,用于展示与辅助识别)。 【JSON字段】settlename。';
|
||
COMMENT ON COLUMN billiards_ods.recharge_settlements.settlerelateid IS '【说明】来自 JSON 导出的原始字段,用于保留业务取值。 【示例】NULL(来自 JSON 导出的原始字段,用于保留业务取值)。 【JSON字段】settlerelateid。';
|
||
COMMENT ON COLUMN billiards_ods.recharge_settlements.settlestatus IS '【说明】来自 JSON 导出的原始字段,用于保留业务取值。 【示例】NULL(来自 JSON 导出的原始字段,用于保留业务取值)。 【JSON字段】settlestatus。';
|
||
COMMENT ON COLUMN billiards_ods.recharge_settlements.settletype IS '【说明】来自 JSON 导出的原始字段,用于保留业务取值。 【示例】NULL(来自 JSON 导出的原始字段,用于保留业务取值)。 【JSON字段】settletype。';
|
||
COMMENT ON COLUMN billiards_ods.recharge_settlements.paytime IS '【说明】时间字段,用于记录业务时间点/发生时间。 【示例】NULL(时间字段,用于记录业务时间点/发生时间)。 【JSON字段】paytime。';
|
||
COMMENT ON COLUMN billiards_ods.recharge_settlements.roundingamount IS '【说明】金额字段,用于计费/结算/分摊等金额计算。 【示例】NULL(金额字段,用于计费/结算/分摊等金额计算)。 【JSON字段】roundingamount。';
|
||
COMMENT ON COLUMN billiards_ods.recharge_settlements.paymentmethod IS '【说明】来自 JSON 导出的原始字段,用于保留业务取值。 【示例】NULL(来自 JSON 导出的原始字段,用于保留业务取值)。 【JSON字段】paymentmethod。';
|
||
COMMENT ON COLUMN billiards_ods.recharge_settlements.adjustamount IS '【说明】金额字段,用于计费/结算/分摊等金额计算。 【示例】NULL(金额字段,用于计费/结算/分摊等金额计算)。 【JSON字段】adjustamount。';
|
||
COMMENT ON COLUMN billiards_ods.recharge_settlements.assistantcxmoney IS '【说明】金额字段,用于计费/结算/分摊等金额计算。 【示例】NULL(金额字段,用于计费/结算/分摊等金额计算)。 【JSON字段】assistantcxmoney。';
|
||
COMMENT ON COLUMN billiards_ods.recharge_settlements.assistantpdmoney IS '【说明】金额字段,用于计费/结算/分摊等金额计算。 【示例】NULL(金额字段,用于计费/结算/分摊等金额计算)。 【JSON字段】assistantpdmoney。';
|
||
COMMENT ON COLUMN billiards_ods.recharge_settlements.couponsaleamount IS '【说明】金额字段,用于计费/结算/分摊等金额计算。 【示例】NULL(金额字段,用于计费/结算/分摊等金额计算)。 【JSON字段】couponsaleamount。';
|
||
COMMENT ON COLUMN billiards_ods.recharge_settlements.memberdiscountamount IS '【说明】金额字段,用于计费/结算/分摊等金额计算。 【示例】NULL(金额字段,用于计费/结算/分摊等金额计算)。 【JSON字段】memberdiscountamount。';
|
||
COMMENT ON COLUMN billiards_ods.recharge_settlements.tablechargemoney IS '【说明】金额字段,用于计费/结算/分摊等金额计算。 【示例】NULL(金额字段,用于计费/结算/分摊等金额计算)。 【JSON字段】tablechargemoney。';
|
||
COMMENT ON COLUMN billiards_ods.recharge_settlements.goodsmoney IS '【说明】金额字段,用于计费/结算/分摊等金额计算。 【示例】NULL(金额字段,用于计费/结算/分摊等金额计算)。 【JSON字段】goodsmoney。';
|
||
COMMENT ON COLUMN billiards_ods.recharge_settlements.realgoodsmoney IS '【说明】金额字段,用于计费/结算/分摊等金额计算。 【示例】NULL(金额字段,用于计费/结算/分摊等金额计算)。 【JSON字段】realgoodsmoney。';
|
||
COMMENT ON COLUMN billiards_ods.recharge_settlements.servicemoney IS '【说明】金额字段,用于计费/结算/分摊等金额计算。 【示例】NULL(金额字段,用于计费/结算/分摊等金额计算)。 【JSON字段】servicemoney。';
|
||
COMMENT ON COLUMN billiards_ods.recharge_settlements.prepaymoney IS '【说明】金额字段,用于计费/结算/分摊等金额计算。 【示例】NULL(金额字段,用于计费/结算/分摊等金额计算)。 【JSON字段】prepaymoney。';
|
||
COMMENT ON COLUMN billiards_ods.recharge_settlements.salesmanname IS '【说明】名称字段,用于展示与辅助识别。 【示例】NULL(名称字段,用于展示与辅助识别)。 【JSON字段】salesmanname。';
|
||
COMMENT ON COLUMN billiards_ods.recharge_settlements.orderremark IS '【说明】来自 JSON 导出的原始字段,用于保留业务取值。 【示例】NULL(来自 JSON 导出的原始字段,用于保留业务取值)。 【JSON字段】orderremark。';
|
||
COMMENT ON COLUMN billiards_ods.recharge_settlements.salesmanuserid IS '【说明】来自 JSON 导出的原始字段,用于保留业务取值。 【示例】NULL(来自 JSON 导出的原始字段,用于保留业务取值)。 【JSON字段】salesmanuserid。';
|
||
COMMENT ON COLUMN billiards_ods.recharge_settlements.canberevoked IS '【说明】来自 JSON 导出的原始字段,用于保留业务取值。 【示例】NULL(来自 JSON 导出的原始字段,用于保留业务取值)。 【JSON字段】canberevoked。';
|
||
COMMENT ON COLUMN billiards_ods.recharge_settlements.pointdiscountprice IS '【说明】金额字段,用于计费/结算/分摊等金额计算。 【示例】NULL(金额字段,用于计费/结算/分摊等金额计算)。 【JSON字段】pointdiscountprice。';
|
||
COMMENT ON COLUMN billiards_ods.recharge_settlements.pointdiscountcost IS '【说明】金额字段,用于计费/结算/分摊等金额计算。 【示例】NULL(金额字段,用于计费/结算/分摊等金额计算)。 【JSON字段】pointdiscountcost。';
|
||
COMMENT ON COLUMN billiards_ods.recharge_settlements.activitydiscount IS '【说明】数量/时长字段,用于统计与计量。 【示例】NULL(数量/时长字段,用于统计与计量)。 【JSON字段】activitydiscount。';
|
||
COMMENT ON COLUMN billiards_ods.recharge_settlements.serialnumber IS '【说明】数量/时长字段,用于统计与计量。 【示例】NULL(数量/时长字段,用于统计与计量)。 【JSON字段】serialnumber。';
|
||
COMMENT ON COLUMN billiards_ods.recharge_settlements.assistantmanualdiscount IS '【说明】数量/时长字段,用于统计与计量。 【示例】NULL(数量/时长字段,用于统计与计量)。 【JSON字段】assistantmanualdiscount。';
|
||
COMMENT ON COLUMN billiards_ods.recharge_settlements.allcoupondiscount IS '【说明】数量/时长字段,用于统计与计量。 【示例】NULL(数量/时长字段,用于统计与计量)。 【JSON字段】allcoupondiscount。';
|
||
COMMENT ON COLUMN billiards_ods.recharge_settlements.goodspromotionmoney IS '【说明】金额字段,用于计费/结算/分摊等金额计算。 【示例】NULL(金额字段,用于计费/结算/分摊等金额计算)。 【JSON字段】goodspromotionmoney。';
|
||
COMMENT ON COLUMN billiards_ods.recharge_settlements.assistantpromotionmoney IS '【说明】金额字段,用于计费/结算/分摊等金额计算。 【示例】NULL(金额字段,用于计费/结算/分摊等金额计算)。 【JSON字段】assistantpromotionmoney。';
|
||
COMMENT ON COLUMN billiards_ods.recharge_settlements.isusecoupon IS '【说明】来自 JSON 导出的原始字段,用于保留业务取值。 【示例】NULL(来自 JSON 导出的原始字段,用于保留业务取值)。 【JSON字段】isusecoupon。';
|
||
COMMENT ON COLUMN billiards_ods.recharge_settlements.isusediscount IS '【说明】数量/时长字段,用于统计与计量。 【示例】NULL(数量/时长字段,用于统计与计量)。 【JSON字段】isusediscount。';
|
||
COMMENT ON COLUMN billiards_ods.recharge_settlements.isactivity IS '【说明】来自 JSON 导出的原始字段,用于保留业务取值。 【示例】NULL(来自 JSON 导出的原始字段,用于保留业务取值)。 【JSON字段】isactivity。';
|
||
COMMENT ON COLUMN billiards_ods.recharge_settlements.isbindmember IS '【说明】来自 JSON 导出的原始字段,用于保留业务取值。 【示例】NULL(来自 JSON 导出的原始字段,用于保留业务取值)。 【JSON字段】isbindmember。';
|
||
COMMENT ON COLUMN billiards_ods.recharge_settlements.isfirst IS '【说明】来自 JSON 导出的原始字段,用于保留业务取值。 【示例】NULL(来自 JSON 导出的原始字段,用于保留业务取值)。 【JSON字段】isfirst。';
|
||
COMMENT ON COLUMN billiards_ods.recharge_settlements.rechargecardamount IS '【说明】金额字段,用于计费/结算/分摊等金额计算。 【示例】NULL(金额字段,用于计费/结算/分摊等金额计算)。 【JSON字段】rechargecardamount。';
|
||
COMMENT ON COLUMN billiards_ods.recharge_settlements.giftcardamount IS '【说明】金额字段,用于计费/结算/分摊等金额计算。 【示例】NULL(金额字段,用于计费/结算/分摊等金额计算)。 【JSON字段】giftcardamount。';
|
||
COMMENT ON COLUMN billiards_ods.recharge_settlements.source_file IS '【说明】ETL 元数据:原始导出文件名,用于数据追溯。 【示例】recharge_settlements.json(ETL 元数据:原始导出文件名,用于数据追溯)。 【JSON字段】无(ETL元数据)。';
|
||
COMMENT ON COLUMN billiards_ods.recharge_settlements.source_endpoint IS '【说明】ETL 元数据:采集来源(接口/文件路径),用于数据追溯。 【示例】C:/dev/LLTQ/export/test-json-doc/recharge_settlements.json(ETL 元数据:采集来源(接口/文件路径),用于数据追溯)。 【JSON字段】无(ETL元数据)。';
|
||
COMMENT ON COLUMN billiards_ods.recharge_settlements.fetched_at IS '【说明】ETL 元数据:采集/入库时间戳,用于口径对齐与增量处理。 【示例】2025-11-10T00:00:00+08:00(ETL 元数据:采集/入库时间戳,用于口径对齐与增量处理)。 【JSON字段】无(ETL元数据)。';
|
||
COMMENT ON COLUMN billiards_ods.recharge_settlements.payload IS '【说明】完整原始 JSON 记录快照,用于回溯与二次解析。 【示例】{...}(完整原始 JSON 记录快照,用于回溯与二次解析)。 【JSON字段】$(整条记录)。';
|
||
|
||
|
||
CREATE TABLE IF NOT EXISTS billiards_ods.settlement_records (
|
||
id BIGINT PRIMARY KEY,
|
||
tenantid BIGINT,
|
||
siteid BIGINT,
|
||
sitename TEXT,
|
||
balanceamount NUMERIC(18,2),
|
||
cardamount NUMERIC(18,2),
|
||
cashamount NUMERIC(18,2),
|
||
couponamount NUMERIC(18,2),
|
||
createtime TIMESTAMPTZ,
|
||
memberid BIGINT,
|
||
membername TEXT,
|
||
tenantmembercardid BIGINT,
|
||
membercardtypename TEXT,
|
||
memberphone TEXT,
|
||
tableid BIGINT,
|
||
consumemoney NUMERIC(18,2),
|
||
onlineamount NUMERIC(18,2),
|
||
operatorid BIGINT,
|
||
operatorname TEXT,
|
||
revokeorderid BIGINT,
|
||
revokeordername TEXT,
|
||
revoketime TIMESTAMPTZ,
|
||
payamount NUMERIC(18,2),
|
||
pointamount NUMERIC(18,2),
|
||
refundamount NUMERIC(18,2),
|
||
settlename TEXT,
|
||
settlerelateid BIGINT,
|
||
settlestatus INT,
|
||
settletype INT,
|
||
paytime TIMESTAMPTZ,
|
||
roundingamount NUMERIC(18,2),
|
||
paymentmethod INT,
|
||
adjustamount NUMERIC(18,2),
|
||
assistantcxmoney NUMERIC(18,2),
|
||
assistantpdmoney NUMERIC(18,2),
|
||
couponsaleamount NUMERIC(18,2),
|
||
memberdiscountamount NUMERIC(18,2),
|
||
tablechargemoney NUMERIC(18,2),
|
||
goodsmoney NUMERIC(18,2),
|
||
realgoodsmoney NUMERIC(18,2),
|
||
servicemoney NUMERIC(18,2),
|
||
prepaymoney NUMERIC(18,2),
|
||
salesmanname TEXT,
|
||
orderremark TEXT,
|
||
salesmanuserid BIGINT,
|
||
canberevoked BOOLEAN,
|
||
pointdiscountprice NUMERIC(18,2),
|
||
pointdiscountcost NUMERIC(18,2),
|
||
activitydiscount NUMERIC(18,2),
|
||
serialnumber BIGINT,
|
||
assistantmanualdiscount NUMERIC(18,2),
|
||
allcoupondiscount NUMERIC(18,2),
|
||
goodspromotionmoney NUMERIC(18,2),
|
||
assistantpromotionmoney NUMERIC(18,2),
|
||
isusecoupon BOOLEAN,
|
||
isusediscount BOOLEAN,
|
||
isactivity BOOLEAN,
|
||
isbindmember BOOLEAN,
|
||
isfirst INT,
|
||
rechargecardamount NUMERIC(18,2),
|
||
giftcardamount NUMERIC(18,2),
|
||
source_file TEXT,
|
||
source_endpoint TEXT,
|
||
fetched_at TIMESTAMPTZ DEFAULT now(),
|
||
payload JSONB NOT NULL
|
||
);
|
||
|
||
COMMENT ON TABLE billiards_ods.settlement_records IS 'ODS 原始明细表:结账/结算记录。来源:C:/dev/LLTQ/export/test-json-doc/settlement_records.json;分析:settlement_records-Analysis.md。字段以导出原样为主;ETL 补充 source_file/source_endpoint/fetched_at,并保留 payload 为原始记录快照。';
|
||
COMMENT ON COLUMN billiards_ods.settlement_records.id IS '【说明】结账记录主键 ID(订单结算 ID)。 【示例】NULL(用于结账记录主键 ID(订单结算 ID))。 【JSON字段】id。';
|
||
COMMENT ON COLUMN billiards_ods.settlement_records.tenantid IS '【说明】来自 JSON 导出的原始字段,用于保留业务取值。 【示例】NULL(来自 JSON 导出的原始字段,用于保留业务取值)。 【JSON字段】tenantid。';
|
||
COMMENT ON COLUMN billiards_ods.settlement_records.siteid IS '【说明】来自 JSON 导出的原始字段,用于保留业务取值。 【示例】NULL(来自 JSON 导出的原始字段,用于保留业务取值)。 【JSON字段】siteid。';
|
||
COMMENT ON COLUMN billiards_ods.settlement_records.sitename IS '【说明】名称字段,用于展示与辅助识别。 【示例】NULL(名称字段,用于展示与辅助识别)。 【JSON字段】sitename。';
|
||
COMMENT ON COLUMN billiards_ods.settlement_records.balanceamount IS '【说明】金额字段,用于计费/结算/分摊等金额计算。 【示例】NULL(金额字段,用于计费/结算/分摊等金额计算)。 【JSON字段】balanceamount。';
|
||
COMMENT ON COLUMN billiards_ods.settlement_records.cardamount IS '【说明】金额字段,用于计费/结算/分摊等金额计算。 【示例】NULL(金额字段,用于计费/结算/分摊等金额计算)。 【JSON字段】cardamount。';
|
||
COMMENT ON COLUMN billiards_ods.settlement_records.cashamount IS '【说明】金额字段,用于计费/结算/分摊等金额计算。 【示例】NULL(金额字段,用于计费/结算/分摊等金额计算)。 【JSON字段】cashamount。';
|
||
COMMENT ON COLUMN billiards_ods.settlement_records.couponamount IS '【说明】金额字段,用于计费/结算/分摊等金额计算。 【示例】NULL(金额字段,用于计费/结算/分摊等金额计算)。 【JSON字段】couponamount。';
|
||
COMMENT ON COLUMN billiards_ods.settlement_records.createtime IS '【说明】时间字段,用于记录业务时间点/发生时间。 【示例】NULL(时间字段,用于记录业务时间点/发生时间)。 【JSON字段】createtime。';
|
||
COMMENT ON COLUMN billiards_ods.settlement_records.memberid IS '【说明】来自 JSON 导出的原始字段,用于保留业务取值。 【示例】NULL(来自 JSON 导出的原始字段,用于保留业务取值)。 【JSON字段】memberid。';
|
||
COMMENT ON COLUMN billiards_ods.settlement_records.membername IS '【说明】名称字段,用于展示与辅助识别。 【示例】NULL(名称字段,用于展示与辅助识别)。 【JSON字段】membername。';
|
||
COMMENT ON COLUMN billiards_ods.settlement_records.tenantmembercardid IS '【说明】来自 JSON 导出的原始字段,用于保留业务取值。 【示例】NULL(来自 JSON 导出的原始字段,用于保留业务取值)。 【JSON字段】tenantmembercardid。';
|
||
COMMENT ON COLUMN billiards_ods.settlement_records.membercardtypename IS '【说明】名称字段,用于展示与辅助识别。 【示例】NULL(名称字段,用于展示与辅助识别)。 【JSON字段】membercardtypename。';
|
||
COMMENT ON COLUMN billiards_ods.settlement_records.memberphone IS '【说明】来自 JSON 导出的原始字段,用于保留业务取值。 【示例】NULL(来自 JSON 导出的原始字段,用于保留业务取值)。 【JSON字段】memberphone。';
|
||
COMMENT ON COLUMN billiards_ods.settlement_records.tableid IS '【说明】来自 JSON 导出的原始字段,用于保留业务取值。 【示例】NULL(来自 JSON 导出的原始字段,用于保留业务取值)。 【JSON字段】tableid。';
|
||
COMMENT ON COLUMN billiards_ods.settlement_records.consumemoney IS '【说明】金额字段,用于计费/结算/分摊等金额计算。 【示例】NULL(金额字段,用于计费/结算/分摊等金额计算)。 【JSON字段】consumemoney。';
|
||
COMMENT ON COLUMN billiards_ods.settlement_records.onlineamount IS '【说明】金额字段,用于计费/结算/分摊等金额计算。 【示例】NULL(金额字段,用于计费/结算/分摊等金额计算)。 【JSON字段】onlineamount。';
|
||
COMMENT ON COLUMN billiards_ods.settlement_records.operatorid IS '【说明】来自 JSON 导出的原始字段,用于保留业务取值。 【示例】NULL(来自 JSON 导出的原始字段,用于保留业务取值)。 【JSON字段】operatorid。';
|
||
COMMENT ON COLUMN billiards_ods.settlement_records.operatorname IS '【说明】名称字段,用于展示与辅助识别。 【示例】NULL(名称字段,用于展示与辅助识别)。 【JSON字段】operatorname。';
|
||
COMMENT ON COLUMN billiards_ods.settlement_records.revokeorderid IS '【说明】来自 JSON 导出的原始字段,用于保留业务取值。 【示例】NULL(来自 JSON 导出的原始字段,用于保留业务取值)。 【JSON字段】revokeorderid。';
|
||
COMMENT ON COLUMN billiards_ods.settlement_records.revokeordername IS '【说明】名称字段,用于展示与辅助识别。 【示例】NULL(名称字段,用于展示与辅助识别)。 【JSON字段】revokeordername。';
|
||
COMMENT ON COLUMN billiards_ods.settlement_records.revoketime IS '【说明】时间字段,用于记录业务时间点/发生时间。 【示例】NULL(时间字段,用于记录业务时间点/发生时间)。 【JSON字段】revoketime。';
|
||
COMMENT ON COLUMN billiards_ods.settlement_records.payamount IS '【说明】金额字段,用于计费/结算/分摊等金额计算。 【示例】NULL(金额字段,用于计费/结算/分摊等金额计算)。 【JSON字段】payamount。';
|
||
COMMENT ON COLUMN billiards_ods.settlement_records.pointamount IS '【说明】金额字段,用于计费/结算/分摊等金额计算。 【示例】NULL(金额字段,用于计费/结算/分摊等金额计算)。 【JSON字段】pointamount。';
|
||
COMMENT ON COLUMN billiards_ods.settlement_records.refundamount IS '【说明】金额字段,用于计费/结算/分摊等金额计算。 【示例】NULL(金额字段,用于计费/结算/分摊等金额计算)。 【JSON字段】refundamount。';
|
||
COMMENT ON COLUMN billiards_ods.settlement_records.settlename IS '【说明】名称字段,用于展示与辅助识别。 【示例】NULL(名称字段,用于展示与辅助识别)。 【JSON字段】settlename。';
|
||
COMMENT ON COLUMN billiards_ods.settlement_records.settlerelateid IS '【说明】来自 JSON 导出的原始字段,用于保留业务取值。 【示例】NULL(来自 JSON 导出的原始字段,用于保留业务取值)。 【JSON字段】settlerelateid。';
|
||
COMMENT ON COLUMN billiards_ods.settlement_records.settlestatus IS '【说明】来自 JSON 导出的原始字段,用于保留业务取值。 【示例】NULL(来自 JSON 导出的原始字段,用于保留业务取值)。 【JSON字段】settlestatus。';
|
||
COMMENT ON COLUMN billiards_ods.settlement_records.settletype IS '【说明】来自 JSON 导出的原始字段,用于保留业务取值。 【示例】NULL(来自 JSON 导出的原始字段,用于保留业务取值)。 【JSON字段】settletype。';
|
||
COMMENT ON COLUMN billiards_ods.settlement_records.paytime IS '【说明】时间字段,用于记录业务时间点/发生时间。 【示例】NULL(时间字段,用于记录业务时间点/发生时间)。 【JSON字段】paytime。';
|
||
COMMENT ON COLUMN billiards_ods.settlement_records.roundingamount IS '【说明】金额字段,用于计费/结算/分摊等金额计算。 【示例】NULL(金额字段,用于计费/结算/分摊等金额计算)。 【JSON字段】roundingamount。';
|
||
COMMENT ON COLUMN billiards_ods.settlement_records.paymentmethod IS '【说明】来自 JSON 导出的原始字段,用于保留业务取值。 【示例】NULL(来自 JSON 导出的原始字段,用于保留业务取值)。 【JSON字段】paymentmethod。';
|
||
COMMENT ON COLUMN billiards_ods.settlement_records.adjustamount IS '【说明】金额字段,用于计费/结算/分摊等金额计算。 【示例】NULL(金额字段,用于计费/结算/分摊等金额计算)。 【JSON字段】adjustamount。';
|
||
COMMENT ON COLUMN billiards_ods.settlement_records.assistantcxmoney IS '【说明】金额字段,用于计费/结算/分摊等金额计算。 【示例】NULL(金额字段,用于计费/结算/分摊等金额计算)。 【JSON字段】assistantcxmoney。';
|
||
COMMENT ON COLUMN billiards_ods.settlement_records.assistantpdmoney IS '【说明】金额字段,用于计费/结算/分摊等金额计算。 【示例】NULL(金额字段,用于计费/结算/分摊等金额计算)。 【JSON字段】assistantpdmoney。';
|
||
COMMENT ON COLUMN billiards_ods.settlement_records.couponsaleamount IS '【说明】金额字段,用于计费/结算/分摊等金额计算。 【示例】NULL(金额字段,用于计费/结算/分摊等金额计算)。 【JSON字段】couponsaleamount。';
|
||
COMMENT ON COLUMN billiards_ods.settlement_records.memberdiscountamount IS '【说明】金额字段,用于计费/结算/分摊等金额计算。 【示例】NULL(金额字段,用于计费/结算/分摊等金额计算)。 【JSON字段】memberdiscountamount。';
|
||
COMMENT ON COLUMN billiards_ods.settlement_records.tablechargemoney IS '【说明】金额字段,用于计费/结算/分摊等金额计算。 【示例】NULL(金额字段,用于计费/结算/分摊等金额计算)。 【JSON字段】tablechargemoney。';
|
||
COMMENT ON COLUMN billiards_ods.settlement_records.goodsmoney IS '【说明】金额字段,用于计费/结算/分摊等金额计算。 【示例】NULL(金额字段,用于计费/结算/分摊等金额计算)。 【JSON字段】goodsmoney。';
|
||
COMMENT ON COLUMN billiards_ods.settlement_records.realgoodsmoney IS '【说明】金额字段,用于计费/结算/分摊等金额计算。 【示例】NULL(金额字段,用于计费/结算/分摊等金额计算)。 【JSON字段】realgoodsmoney。';
|
||
COMMENT ON COLUMN billiards_ods.settlement_records.servicemoney IS '【说明】金额字段,用于计费/结算/分摊等金额计算。 【示例】NULL(金额字段,用于计费/结算/分摊等金额计算)。 【JSON字段】servicemoney。';
|
||
COMMENT ON COLUMN billiards_ods.settlement_records.prepaymoney IS '【说明】金额字段,用于计费/结算/分摊等金额计算。 【示例】NULL(金额字段,用于计费/结算/分摊等金额计算)。 【JSON字段】prepaymoney。';
|
||
COMMENT ON COLUMN billiards_ods.settlement_records.salesmanname IS '【说明】名称字段,用于展示与辅助识别。 【示例】NULL(名称字段,用于展示与辅助识别)。 【JSON字段】salesmanname。';
|
||
COMMENT ON COLUMN billiards_ods.settlement_records.orderremark IS '【说明】来自 JSON 导出的原始字段,用于保留业务取值。 【示例】NULL(来自 JSON 导出的原始字段,用于保留业务取值)。 【JSON字段】orderremark。';
|
||
COMMENT ON COLUMN billiards_ods.settlement_records.salesmanuserid IS '【说明】来自 JSON 导出的原始字段,用于保留业务取值。 【示例】NULL(来自 JSON 导出的原始字段,用于保留业务取值)。 【JSON字段】salesmanuserid。';
|
||
COMMENT ON COLUMN billiards_ods.settlement_records.canberevoked IS '【说明】来自 JSON 导出的原始字段,用于保留业务取值。 【示例】NULL(来自 JSON 导出的原始字段,用于保留业务取值)。 【JSON字段】canberevoked。';
|
||
COMMENT ON COLUMN billiards_ods.settlement_records.pointdiscountprice IS '【说明】金额字段,用于计费/结算/分摊等金额计算。 【示例】NULL(金额字段,用于计费/结算/分摊等金额计算)。 【JSON字段】pointdiscountprice。';
|
||
COMMENT ON COLUMN billiards_ods.settlement_records.pointdiscountcost IS '【说明】金额字段,用于计费/结算/分摊等金额计算。 【示例】NULL(金额字段,用于计费/结算/分摊等金额计算)。 【JSON字段】pointdiscountcost。';
|
||
COMMENT ON COLUMN billiards_ods.settlement_records.activitydiscount IS '【说明】数量/时长字段,用于统计与计量。 【示例】NULL(数量/时长字段,用于统计与计量)。 【JSON字段】activitydiscount。';
|
||
COMMENT ON COLUMN billiards_ods.settlement_records.serialnumber IS '【说明】数量/时长字段,用于统计与计量。 【示例】NULL(数量/时长字段,用于统计与计量)。 【JSON字段】serialnumber。';
|
||
COMMENT ON COLUMN billiards_ods.settlement_records.assistantmanualdiscount IS '【说明】数量/时长字段,用于统计与计量。 【示例】NULL(数量/时长字段,用于统计与计量)。 【JSON字段】assistantmanualdiscount。';
|
||
COMMENT ON COLUMN billiards_ods.settlement_records.allcoupondiscount IS '【说明】数量/时长字段,用于统计与计量。 【示例】NULL(数量/时长字段,用于统计与计量)。 【JSON字段】allcoupondiscount。';
|
||
COMMENT ON COLUMN billiards_ods.settlement_records.goodspromotionmoney IS '【说明】金额字段,用于计费/结算/分摊等金额计算。 【示例】NULL(金额字段,用于计费/结算/分摊等金额计算)。 【JSON字段】goodspromotionmoney。';
|
||
COMMENT ON COLUMN billiards_ods.settlement_records.assistantpromotionmoney IS '【说明】金额字段,用于计费/结算/分摊等金额计算。 【示例】NULL(金额字段,用于计费/结算/分摊等金额计算)。 【JSON字段】assistantpromotionmoney。';
|
||
COMMENT ON COLUMN billiards_ods.settlement_records.isusecoupon IS '【说明】来自 JSON 导出的原始字段,用于保留业务取值。 【示例】NULL(来自 JSON 导出的原始字段,用于保留业务取值)。 【JSON字段】isusecoupon。';
|
||
COMMENT ON COLUMN billiards_ods.settlement_records.isusediscount IS '【说明】数量/时长字段,用于统计与计量。 【示例】NULL(数量/时长字段,用于统计与计量)。 【JSON字段】isusediscount。';
|
||
COMMENT ON COLUMN billiards_ods.settlement_records.isactivity IS '【说明】来自 JSON 导出的原始字段,用于保留业务取值。 【示例】NULL(来自 JSON 导出的原始字段,用于保留业务取值)。 【JSON字段】isactivity。';
|
||
COMMENT ON COLUMN billiards_ods.settlement_records.isbindmember IS '【说明】来自 JSON 导出的原始字段,用于保留业务取值。 【示例】NULL(来自 JSON 导出的原始字段,用于保留业务取值)。 【JSON字段】isbindmember。';
|
||
COMMENT ON COLUMN billiards_ods.settlement_records.isfirst IS '【说明】来自 JSON 导出的原始字段,用于保留业务取值。 【示例】NULL(来自 JSON 导出的原始字段,用于保留业务取值)。 【JSON字段】isfirst。';
|
||
COMMENT ON COLUMN billiards_ods.settlement_records.rechargecardamount IS '【说明】金额字段,用于计费/结算/分摊等金额计算。 【示例】NULL(金额字段,用于计费/结算/分摊等金额计算)。 【JSON字段】rechargecardamount。';
|
||
COMMENT ON COLUMN billiards_ods.settlement_records.giftcardamount IS '【说明】金额字段,用于计费/结算/分摊等金额计算。 【示例】NULL(金额字段,用于计费/结算/分摊等金额计算)。 【JSON字段】giftcardamount。';
|
||
COMMENT ON COLUMN billiards_ods.settlement_records.source_file IS '【说明】ETL 元数据:原始导出文件名,用于数据追溯。 【示例】settlement_records.json(ETL 元数据:原始导出文件名,用于数据追溯)。 【JSON字段】无(ETL元数据)。';
|
||
COMMENT ON COLUMN billiards_ods.settlement_records.source_endpoint IS '【说明】ETL 元数据:采集来源(接口/文件路径),用于数据追溯。 【示例】C:/dev/LLTQ/export/test-json-doc/settlement_records.json(ETL 元数据:采集来源(接口/文件路径),用于数据追溯)。 【JSON字段】无(ETL元数据)。';
|
||
COMMENT ON COLUMN billiards_ods.settlement_records.fetched_at IS '【说明】ETL 元数据:采集/入库时间戳,用于口径对齐与增量处理。 【示例】2025-11-10T00:00:00+08:00(ETL 元数据:采集/入库时间戳,用于口径对齐与增量处理)。 【JSON字段】无(ETL元数据)。';
|
||
COMMENT ON COLUMN billiards_ods.settlement_records.payload IS '【说明】完整原始 JSON 记录快照,用于回溯与二次解析。 【示例】{...}(完整原始 JSON 记录快照,用于回溯与二次解析)。 【JSON字段】$(整条记录)。';
|
||
|
||
|
||
CREATE TABLE IF NOT EXISTS billiards_ods.assistant_cancellation_records (
|
||
id BIGINT PRIMARY KEY,
|
||
siteId BIGINT,
|
||
siteProfile JSONB,
|
||
assistantName TEXT,
|
||
assistantAbolishAmount NUMERIC(18,2),
|
||
assistantOn INT,
|
||
pdChargeMinutes INT,
|
||
tableAreaId BIGINT,
|
||
tableArea TEXT,
|
||
tableId BIGINT,
|
||
tableName TEXT,
|
||
trashReason TEXT,
|
||
createTime TIMESTAMP,
|
||
source_file TEXT,
|
||
source_endpoint TEXT,
|
||
fetched_at TIMESTAMPTZ DEFAULT now(),
|
||
payload JSONB NOT NULL
|
||
);
|
||
|
||
COMMENT ON TABLE billiards_ods.assistant_cancellation_records IS 'ODS 原始明细表:助教作废/取消记录。来源:C:/dev/LLTQ/export/test-json-doc/assistant_cancellation_records.json;分析:assistant_cancellation_records-Analysis.md。字段以导出原样为主;ETL 补充 source_file/source_endpoint/fetched_at,并保留 payload 为原始记录快照。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_cancellation_records.id IS '【说明】本表主键 ID,用于唯一标识一条记录。 【示例】2957675849518789(本表主键 ID,用于唯一标识一条记录)。 【JSON字段】id。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_cancellation_records.siteId IS '【说明】门店 ID,即该废除记录所在门店。 【示例】2790685415443269(用于门店 ID,即该废除记录所在门店)。 【JSON字段】siteId。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_cancellation_records.siteProfile IS '【说明】门店信息快照。 【示例】{"id": 2790685415443269, "org_id": 2790684179467077, "shop_name": "朗朗桌球", "avatar": "https://oss.ficoo.vip/admin/hXcE4E…(用于门店信息快照)。 【JSON字段】siteProfile。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_cancellation_records.assistantName IS '【说明】助教姓名/对外展示名称。 【示例】泡芙(用于助教姓名/对外展示名称)。 【JSON字段】assistantName。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_cancellation_records.assistantAbolishAmount IS '【说明】与“助教废除”关联的金额字段。 【示例】5.83(用于与“助教废除”关联的金额字段)。 【JSON字段】assistantAbolishAmount。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_cancellation_records.assistantOn IS '【说明】助教编号(工号/序号)。 【示例】27(用于助教编号(工号/序号))。 【JSON字段】assistantOn。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_cancellation_records.pdChargeMinutes IS '【说明】“已发生的计费时长(分钟)”,即这次助教服务在被废除前已经累计了多少分钟。 【示例】214(用于“已发生的计费时长(分钟)”,即这次助教服务在被废除前已经累计了多少分钟)。 【JSON字段】pdChargeMinutes。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_cancellation_records.tableAreaId IS '【说明】台桌所在区域 ID。 【示例】2791963816579205(用于台桌所在区域 ID)。 【JSON字段】tableAreaId。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_cancellation_records.tableArea IS '【说明】台桌所属区域名称。 【示例】C区(用于台桌所属区域名称)。 【JSON字段】tableArea。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_cancellation_records.tableId IS '【说明】球台/桌子的 ID。 【示例】2793016660660357(用于球台/桌子的 ID)。 【JSON字段】tableId。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_cancellation_records.tableName IS '【说明】台桌名称/编号,供人阅读。 【示例】C1(用于台桌名称/编号,供人阅读)。 【JSON字段】tableName。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_cancellation_records.trashReason IS '【说明】用于记录“废除原因”的文本描述,例如“顾客临时有事取消”“录入错误”“更换助教”等。 【示例】NULL(用于记录“废除原因”的文本描述,例如“顾客临时有事取消”“录入错误”“更换助教”等)。 【JSON字段】trashReason。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_cancellation_records.createTime IS '【说明】这条“助教废除记录”被创建的时间,即系统正式记录“废除”操作的时刻。 【示例】2025-11-09 19:23:29(用于这条“助教废除记录”被创建的时间,即系统正式记录“废除”操作的时刻)。 【JSON字段】createTime。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_cancellation_records.source_file IS '【说明】ETL 元数据:原始导出文件名,用于数据追溯。 【示例】assistant_cancellation_records.json(ETL 元数据:原始导出文件名,用于数据追溯)。 【JSON字段】无(ETL元数据)。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_cancellation_records.source_endpoint IS '【说明】ETL 元数据:采集来源(接口/文件路径),用于数据追溯。 【示例】C:/dev/LLTQ/export/test-json-doc/assistant_cancellation_records.json(ETL 元数据:采集来源(接口/文件路径),用于数据追溯)。 【JSON字段】无(ETL元数据)。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_cancellation_records.fetched_at IS '【说明】ETL 元数据:采集/入库时间戳,用于口径对齐与增量处理。 【示例】2025-11-10T00:00:00+08:00(ETL 元数据:采集/入库时间戳,用于口径对齐与增量处理)。 【JSON字段】无(ETL元数据)。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_cancellation_records.payload IS '【说明】完整原始 JSON 记录快照,用于回溯与二次解析。 【示例】{...}(完整原始 JSON 记录快照,用于回溯与二次解析)。 【JSON字段】$(整条记录)。';
|
||
|
||
|
||
CREATE TABLE IF NOT EXISTS billiards_ods.assistant_accounts_master (
|
||
id BIGINT PRIMARY KEY,
|
||
tenant_id BIGINT,
|
||
site_id BIGINT,
|
||
assistant_no TEXT,
|
||
nickname TEXT,
|
||
real_name TEXT,
|
||
mobile TEXT,
|
||
team_id BIGINT,
|
||
team_name TEXT,
|
||
user_id BIGINT,
|
||
level TEXT,
|
||
assistant_status INT,
|
||
work_status INT,
|
||
leave_status INT,
|
||
entry_time TIMESTAMP,
|
||
resign_time TIMESTAMP,
|
||
start_time TIMESTAMP,
|
||
end_time TIMESTAMP,
|
||
create_time TIMESTAMP,
|
||
update_time TIMESTAMP,
|
||
order_trade_no TEXT,
|
||
staff_id BIGINT,
|
||
staff_profile_id BIGINT,
|
||
system_role_id BIGINT,
|
||
avatar TEXT,
|
||
birth_date TIMESTAMP,
|
||
gender INT,
|
||
height NUMERIC(18,2),
|
||
weight NUMERIC(18,2),
|
||
job_num TEXT,
|
||
show_status INT,
|
||
show_sort INT,
|
||
sum_grade NUMERIC(18,2),
|
||
assistant_grade NUMERIC(18,2),
|
||
get_grade_times INT,
|
||
introduce TEXT,
|
||
video_introduction_url TEXT,
|
||
group_id BIGINT,
|
||
group_name TEXT,
|
||
shop_name TEXT,
|
||
charge_way INT,
|
||
entry_type INT,
|
||
allow_cx INT,
|
||
is_guaranteed INT,
|
||
salary_grant_enabled INT,
|
||
light_status INT,
|
||
online_status INT,
|
||
is_delete INT,
|
||
cx_unit_price NUMERIC(18,2),
|
||
pd_unit_price NUMERIC(18,2),
|
||
last_table_id BIGINT,
|
||
last_table_name TEXT,
|
||
person_org_id BIGINT,
|
||
serial_number BIGINT,
|
||
is_team_leader INT,
|
||
criticism_status INT,
|
||
last_update_name TEXT,
|
||
ding_talk_synced INT,
|
||
site_light_cfg_id BIGINT,
|
||
light_equipment_id TEXT,
|
||
entry_sign_status INT,
|
||
resign_sign_status INT,
|
||
source_file TEXT,
|
||
source_endpoint TEXT,
|
||
fetched_at TIMESTAMPTZ DEFAULT now(),
|
||
payload JSONB NOT NULL
|
||
);
|
||
|
||
COMMENT ON TABLE billiards_ods.assistant_accounts_master IS 'ODS 原始明细表:助教档案主数据。来源:C:/dev/LLTQ/export/test-json-doc/assistant_accounts_master.json;分析:assistant_accounts_master-Analysis.md。字段以导出原样为主;ETL 补充 source_file/source_endpoint/fetched_at,并保留 payload 为原始记录快照。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_accounts_master.id IS '【说明】助教账号主键 ID,在“助教流水.json”中对应 site_assistant_id。 【示例】2947562271297029(用于助教账号主键 ID,在“助教流水.json”中对应 site_assistant_id)。 【JSON字段】id。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_accounts_master.tenant_id IS '【说明】品牌/租户 ID,对应“非球科技”系统中该商户的唯一标识。 【示例】2790683160709957(用于品牌/租户 ID,对应“非球科技”系统中该商户的唯一标识)。 【JSON字段】tenant_id。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_accounts_master.site_id IS '【说明】门店 ID,对应本次数据的这家球房(朗朗桌球)。 【示例】2790685415443269(用于门店 ID,对应本次数据的这家球房(朗朗桌球))。 【JSON字段】site_id。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_accounts_master.assistant_no IS '【说明】助教工号 / 编号,便于业务侧识别。 【示例】31(用于助教工号 / 编号,便于业务侧识别)。 【JSON字段】assistant_no。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_accounts_master.nickname IS '【说明】助教在前台展示的昵称,如“佳怡”“周周”“球球”等。 【示例】小然(用于助教在前台展示的昵称,如“佳怡”“周周”“球球”等)。 【JSON字段】nickname。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_accounts_master.real_name IS '【说明】助教真实姓名,如“何海婷”“梁婷婷”等。 【示例】张静然(用于助教真实姓名,如“何海婷”“梁婷婷”等)。 【JSON字段】real_name。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_accounts_master.mobile IS '【说明】助教手机号,用于登录绑定、通知、钉钉同步等。 【示例】15119679931(助教手机号,用于登录绑定、通知、钉钉同步等)。 【JSON字段】mobile。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_accounts_master.team_id IS '【说明】助教所属团队 ID。 【示例】2792011585884037(用于助教所属团队 ID)。 【JSON字段】team_id。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_accounts_master.team_name IS '【说明】团队名称,展示用,和 team_id 一一对应。 【示例】1组(用于团队名称,展示用,和 team_id 一一对应)。 【JSON字段】team_name。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_accounts_master.user_id IS '【说明】系统级“用户账号 ID”,通常对应登录账号。 【示例】2947562270838277(用于系统级“用户账号 ID”,通常对应登录账号)。 【JSON字段】user_id。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_accounts_master.level IS '【说明】10 × 24。 【示例】20(用于10 × 24)。 【JSON字段】level。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_accounts_master.assistant_status IS '【说明】1 × 48。 【示例】1(用于1 × 48)。 【JSON字段】assistant_status。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_accounts_master.work_status IS '【说明】当 leave_status = 0 时,work_status = 1。 【示例】2(用于当 leave_status = 0 时,work_status = 1)。 【JSON字段】work_status。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_accounts_master.leave_status IS '【说明】0 × 21。 【示例】1(用于0 × 21)。 【JSON字段】leave_status。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_accounts_master.entry_time IS '【说明】入职时间。 【示例】2025-11-02 08:00:00(用于入职时间)。 【JSON字段】entry_time。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_accounts_master.resign_time IS '【说明】离职日期。 【示例】2025-11-03 08:00:00(用于离职日期)。 【JSON字段】resign_time。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_accounts_master.start_time IS '【说明】当前配置生效的开始日期。 【示例】2025-11-01 08:00:00(用于当前配置生效的开始日期)。 【JSON字段】start_time。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_accounts_master.end_time IS '【说明】当前配置生效的结束日期(例如一个周期性的排班/合同周期)。 【示例】2025-12-01 08:00:00(用于当前配置生效的结束日期(例如一个周期性的排班/合同周期))。 【JSON字段】end_time。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_accounts_master.create_time IS '【说明】账号创建时间。 【示例】2025-11-02 15:55:26(用于账号创建时间)。 【JSON字段】create_time。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_accounts_master.update_time IS '【说明】账号最近一次被修改的时间(例如修改等级、昵称等)。 【示例】2025-11-03 18:32:07(用于账号最近一次被修改的时间(例如修改等级、昵称等))。 【JSON字段】update_time。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_accounts_master.order_trade_no IS '【说明】该助教最近一次关联的订单号,用于快速跳转或回溯最近服务行为。 【示例】0(该助教最近一次关联的订单号,用于快速跳转或回溯最近服务行为)。 【JSON字段】order_trade_no。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_accounts_master.staff_id IS '【说明】预留给“人事系统员工 ID”的字段,目前未接入或未启用。 【示例】0(用于预留给“人事系统员工 ID”的字段,目前未接入或未启用)。 【JSON字段】staff_id。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_accounts_master.staff_profile_id IS '【说明】人事档案 ID,与第三方 HR 系统或内部员工档案集成使用,当前未启用。 【示例】0(用于人事档案 ID,与第三方 HR 系统或内部员工档案集成使用,当前未启用)。 【JSON字段】staff_profile_id。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_accounts_master.system_role_id IS '【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】10(标识类 ID 字段,用于关联/定位相关实体)。 【JSON字段】system_role_id。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_accounts_master.avatar IS '【说明】助教头像地址。 【示例】https://oss.ficoo.vip/maUiImages/images/defaultAvatar.png(用于助教头像地址)。 【JSON字段】avatar。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_accounts_master.birth_date IS '【说明】助教出生日期。 【示例】0001-01-01 00:00:00(用于助教出生日期)。 【JSON字段】birth_date。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_accounts_master.gender IS '【说明】0 × 40。 【示例】0(用于0 × 40)。 【JSON字段】gender。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_accounts_master.height IS '【说明】身高(单位:厘米)。 【示例】0.0(用于身高(单位:厘米))。 【JSON字段】height。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_accounts_master.weight IS '【说明】体重(单位:公斤)。 【示例】0.0(用于体重(单位:公斤))。 【JSON字段】weight。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_accounts_master.job_num IS '【说明】备用工号字段,目前未在该门店启用。 【示例】NULL(用于备用工号字段,目前未在该门店启用)。 【JSON字段】job_num。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_accounts_master.show_status IS '【说明】来自 JSON 导出的原始字段,用于保留业务取值。。 【示例】1(来自 JSON 导出的原始字段,用于保留业务取值。)。 【JSON字段】show_status。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_accounts_master.show_sort IS '【说明】前台展示排序权重,值越小/越大对应不同的排序策略(当前看起来与 assistant_no 有一定对应关系)。 【示例】31(用于前台展示排序权重,值越小/越大对应不同的排序策略(当前看起来与 assistant_no 有一定对应关系))。 【JSON字段】show_sort。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_accounts_master.sum_grade IS '【说明】评分总和,用于计算平均分(assistant_grade = sum_grade / get_grade_times),当前为 0。 【示例】0.0(评分总和,用于计算平均分(assistant_grade = sum_grade / get_grade_times),当前为 0)。 【JSON字段】sum_grade。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_accounts_master.assistant_grade IS '【说明】助教综合评分(员工维度的平均分 snapshot),当前尚未启用评分。 【示例】0.0(用于助教综合评分(员工维度的平均分 snapshot),当前尚未启用评分)。 【JSON字段】assistant_grade。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_accounts_master.get_grade_times IS '【说明】累计被评分次数。 【示例】0(用于累计被评分次数)。 【JSON字段】get_grade_times。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_accounts_master.introduce IS '【说明】个人简介文案,预留给助教自我介绍使用。 【示例】NULL(用于个人简介文案,预留给助教自我介绍使用)。 【JSON字段】introduce。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_accounts_master.video_introduction_url IS '【说明】助教个人视频介绍地址。 【示例】https://oss.ficoo.vip/cbb/userVideo/1753096246308/175309624630830.mp4(用于助教个人视频介绍地址)。 【JSON字段】video_introduction_url。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_accounts_master.group_id IS '【说明】上层“分组 ID”预留字段(例如集团/事业部),本门店未使用。 【示例】0(用于上层“分组 ID”预留字段(例如集团/事业部),本门店未使用)。 【JSON字段】group_id。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_accounts_master.group_name IS '【说明】group_id 对应的名称,目前为空。 【示例】NULL(用于group_id 对应的名称,目前为空)。 【JSON字段】group_name。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_accounts_master.shop_name IS '【说明】门店名称,冗余字段,用于展示。 【示例】朗朗桌球(门店名称,冗余字段,用于展示)。 【JSON字段】shop_name。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_accounts_master.charge_way IS '【说明】2 代表当前门店为“计时收费”,其他值(1、3 等)可能对应按局、按课时等,当前未出现。 【示例】2(用于2 代表当前门店为“计时收费”,其他值(1、3 等)可能对应按局、按课时等,当前未出现)。 【JSON字段】charge_way。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_accounts_master.entry_type IS '【说明】来自 JSON 导出的原始字段,用于保留业务取值。。 【示例】1(来自 JSON 导出的原始字段,用于保留业务取值。)。 【JSON字段】entry_type。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_accounts_master.allow_cx IS '【说明】来自 JSON 导出的原始字段,用于保留业务取值。。 【示例】1(来自 JSON 导出的原始字段,用于保留业务取值。)。 【JSON字段】allow_cx。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_accounts_master.is_guaranteed IS '【说明】布尔/开关字段,用于表示权限、可用性或状态开关。。 【示例】1(布尔/开关字段,用于表示权限、可用性或状态开关。)。 【JSON字段】is_guaranteed。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_accounts_master.salary_grant_enabled IS '【说明】来自 JSON 导出的原始字段,用于保留业务取值。。 【示例】2(来自 JSON 导出的原始字段,用于保留业务取值。)。 【JSON字段】salary_grant_enabled。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_accounts_master.light_status IS '【说明】灯光控制状态,如 1=启用控制、2=不启用 或相反。 【示例】2(用于灯光控制状态,如 1=启用控制、2=不启用 或相反)。 【JSON字段】light_status。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_accounts_master.online_status IS '【说明】在线状态。 【示例】1(用于在线状态)。 【JSON字段】online_status。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_accounts_master.is_delete IS '【说明】逻辑删除标记(0=否,1=是)。。 【示例】0(用于逻辑删除标记(0=否,1=是))。 【JSON字段】is_delete。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_accounts_master.cx_unit_price IS '【说明】促销时段的单价,本门店未在账号表层面设置。 【示例】0.0(用于促销时段的单价,本门店未在账号表层面设置)。 【JSON字段】cx_unit_price。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_accounts_master.pd_unit_price IS '【说明】某种标准单价(例如“普通时段单价”),这里未在账号上配置(实际单价在助教商品或套餐配置中)。 【示例】0.0(用于某种标准单价(例如“普通时段单价”),这里未在账号上配置(实际单价在助教商品或套餐配置中))。 【JSON字段】pd_unit_price。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_accounts_master.last_table_id IS '【说明】该助教最近一次服务的球台 ID。 【示例】0(用于该助教最近一次服务的球台 ID)。 【JSON字段】last_table_id。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_accounts_master.last_table_name IS '【说明】最近服务球台名称(展示用)。 【示例】TV(用于最近服务球台名称(展示用))。 【JSON字段】last_table_name。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_accounts_master.person_org_id IS '【说明】人事组织 ID,通常表示“某某门店-助教部-某小组”等层级组织。 【示例】2947562271215109(用于人事组织 ID,通常表示“某某门店-助教部-某小组”等层级组织)。 【JSON字段】person_org_id。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_accounts_master.serial_number IS '【说明】系统内部生成的序列号或排序标识,用于全局排序或迁移。 【示例】0(系统内部生成的序列号或排序标识,用于全局排序或迁移)。 【JSON字段】serial_number。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_accounts_master.is_team_leader IS '【说明】布尔/开关字段,用于表示权限、可用性或状态开关。。 【示例】0(布尔/开关字段,用于表示权限、可用性或状态开关。)。 【JSON字段】is_team_leader。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_accounts_master.criticism_status IS '【说明】1 × 49。 【示例】1(用于1 × 49)。 【JSON字段】criticism_status。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_accounts_master.last_update_name IS '【说明】最近修改该账号配置的管理员名称。 【示例】管理员:郑丽珊(用于最近修改该账号配置的管理员名称)。 【JSON字段】last_update_name。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_accounts_master.ding_talk_synced IS '【说明】来自 JSON 导出的原始字段,用于保留业务取值。。 【示例】1(来自 JSON 导出的原始字段,用于保留业务取值。)。 【JSON字段】ding_talk_synced。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_accounts_master.site_light_cfg_id IS '【说明】门店灯控配置 ID,本门店未在助教账号维度启用。 【示例】0(用于门店灯控配置 ID,本门店未在助教账号维度启用)。 【JSON字段】site_light_cfg_id。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_accounts_master.light_equipment_id IS '【说明】灯控设备 ID,如果开启“助教开台自动控制灯”,会通过该字段关联到灯控硬件。 【示例】NULL(用于灯控设备 ID,如果开启“助教开台自动控制灯”,会通过该字段关联到灯控硬件)。 【JSON字段】light_equipment_id。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_accounts_master.entry_sign_status IS '【说明】来自 JSON 导出的原始字段,用于保留业务取值。。 【示例】0(来自 JSON 导出的原始字段,用于保留业务取值。)。 【JSON字段】entry_sign_status。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_accounts_master.resign_sign_status IS '【说明】离职协议签署状态,类似上面。 【示例】0(用于离职协议签署状态,类似上面)。 【JSON字段】resign_sign_status。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_accounts_master.source_file IS '【说明】ETL 元数据:原始导出文件名,用于数据追溯。 【示例】assistant_accounts_master.json(ETL 元数据:原始导出文件名,用于数据追溯)。 【JSON字段】无(ETL元数据)。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_accounts_master.source_endpoint IS '【说明】ETL 元数据:采集来源(接口/文件路径),用于数据追溯。 【示例】C:/dev/LLTQ/export/test-json-doc/assistant_accounts_master.json(ETL 元数据:采集来源(接口/文件路径),用于数据追溯)。 【JSON字段】无(ETL元数据)。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_accounts_master.fetched_at IS '【说明】ETL 元数据:采集/入库时间戳,用于口径对齐与增量处理。 【示例】2025-11-10T00:00:00+08:00(ETL 元数据:采集/入库时间戳,用于口径对齐与增量处理)。 【JSON字段】无(ETL元数据)。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_accounts_master.payload IS '【说明】完整原始 JSON 记录快照,用于回溯与二次解析。 【示例】{...}(完整原始 JSON 记录快照,用于回溯与二次解析)。 【JSON字段】$(整条记录)。';
|
||
|
||
|
||
CREATE TABLE IF NOT EXISTS billiards_ods.assistant_service_records (
|
||
id BIGINT PRIMARY KEY,
|
||
tenant_id BIGINT,
|
||
site_id BIGINT,
|
||
siteProfile JSONB,
|
||
site_table_id BIGINT,
|
||
order_settle_id BIGINT,
|
||
order_trade_no TEXT,
|
||
order_pay_id BIGINT,
|
||
order_assistant_id BIGINT,
|
||
order_assistant_type INT,
|
||
assistantName TEXT,
|
||
assistantNo TEXT,
|
||
assistant_level TEXT,
|
||
levelname TEXT,
|
||
site_assistant_id BIGINT,
|
||
skill_id BIGINT,
|
||
skillname TEXT,
|
||
system_member_id BIGINT,
|
||
tablename TEXT,
|
||
tenant_member_id BIGINT,
|
||
user_id BIGINT,
|
||
assistant_team_id BIGINT,
|
||
nickname TEXT,
|
||
ledger_name TEXT,
|
||
ledger_group_name TEXT,
|
||
ledger_amount NUMERIC(18,2),
|
||
ledger_count NUMERIC(18,4),
|
||
ledger_unit_price NUMERIC(18,4),
|
||
ledger_status INT,
|
||
ledger_start_time TIMESTAMP,
|
||
ledger_end_time TIMESTAMP,
|
||
manual_discount_amount NUMERIC(18,2),
|
||
member_discount_amount NUMERIC(18,2),
|
||
coupon_deduct_money NUMERIC(18,2),
|
||
service_money NUMERIC(18,2),
|
||
projected_income NUMERIC(18,2),
|
||
real_use_seconds INT,
|
||
income_seconds INT,
|
||
start_use_time TIMESTAMP,
|
||
last_use_time TIMESTAMP,
|
||
create_time TIMESTAMP,
|
||
is_single_order INT,
|
||
is_delete INT,
|
||
is_trash INT,
|
||
trash_reason TEXT,
|
||
trash_applicant_id BIGINT,
|
||
trash_applicant_name TEXT,
|
||
operator_id BIGINT,
|
||
operator_name TEXT,
|
||
salesman_name TEXT,
|
||
salesman_org_id BIGINT,
|
||
salesman_user_id BIGINT,
|
||
person_org_id BIGINT,
|
||
add_clock INT,
|
||
returns_clock INT,
|
||
composite_grade NUMERIC(10,2),
|
||
composite_grade_time TIMESTAMP,
|
||
skill_grade NUMERIC(10,2),
|
||
service_grade NUMERIC(10,2),
|
||
sum_grade NUMERIC(10,2),
|
||
grade_status INT,
|
||
get_grade_times INT,
|
||
is_not_responding INT,
|
||
is_confirm INT,
|
||
payload JSONB NOT NULL,
|
||
source_file TEXT,
|
||
source_endpoint TEXT,
|
||
fetched_at TIMESTAMPTZ DEFAULT now()
|
||
);
|
||
|
||
COMMENT ON TABLE billiards_ods.assistant_service_records IS 'ODS 原始明细表:助教服务流水。来源:C:/dev/LLTQ/export/test-json-doc/assistant_service_records.json;分析:assistant_service_records-Analysis.md。字段以导出原样为主;ETL 补充 source_file/source_endpoint/fetched_at,并保留 payload 为原始记录快照。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_service_records.id IS '【说明】本条助教流水记录的主键 ID(流水唯一标识)。 【示例】2957913441292165(用于本条助教流水记录的主键 ID(流水唯一标识))。 【JSON字段】id。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_service_records.tenant_id IS '【说明】租户/品牌 ID。 【示例】2790683160709957(用于租户/品牌 ID)。 【JSON字段】tenant_id。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_service_records.site_id IS '【说明】门店 ID,本数据中指“朗朗桌球”这一家门店。 【示例】2790685415443269(用于门店 ID,本数据中指“朗朗桌球”这一家门店)。 【JSON字段】site_id。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_service_records.siteProfile IS '【说明】门店信息快照,包括 id、shop_name、address 等,和其他 JSON 里的 siteProfile 一致。 【示例】{"id": 2790685415443269, "org_id": 2790684179467077, "shop_name": "朗朗桌球", "avatar": "https://oss.ficoo.vip/admin/hXcE4E…(用于门店信息快照,包括 id、shop_name、address 等,和其他 JSON 里的 siteProfile 一致)。 【JSON字段】siteProfile。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_service_records.site_table_id IS '【说明】球台 ID。 【示例】2793020259897413(用于球台 ID)。 【JSON字段】site_table_id。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_service_records.order_settle_id IS '【说明】订单结算 ID,相当于“结账单号”的内部主键。 【示例】2957913171693253(用于订单结算 ID,相当于“结账单号”的内部主键)。 【JSON字段】order_settle_id。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_service_records.order_trade_no IS '【说明】订单交易号,整个订单层面的编号。 【示例】2957784612605829(用于订单交易号,整个订单层面的编号)。 【JSON字段】order_trade_no。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_service_records.order_pay_id IS '【说明】关联到“支付记录”的主键 ID。 【示例】0(用于关联到“支付记录”的主键 ID)。 【JSON字段】order_pay_id。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_service_records.order_assistant_id IS '【说明】订单中“助教项目明细”的内部 ID。 【示例】2957788717240005(用于订单中“助教项目明细”的内部 ID)。 【JSON字段】order_assistant_id。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_service_records.order_assistant_type IS '【说明】来自 JSON 导出的原始字段,用于保留业务取值。。 【示例】1(来自 JSON 导出的原始字段,用于保留业务取值。)。 【JSON字段】order_assistant_type。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_service_records.assistantName IS '【说明】助教姓名,如“何海婷”“胡敏”等。 【示例】何海婷(用于助教姓名,如“何海婷”“胡敏”等)。 【JSON字段】assistantName。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_service_records.assistantNo IS '【说明】助教编号,例如 "27"。 【示例】27(用于助教编号,例如 "27")。 【JSON字段】assistantNo。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_service_records.assistant_level IS '【说明】助教等级名称,与 assistant_level 一一对应(初级/中级/高级/助教管理)。 【示例】10(用于助教等级名称,与 assistant_level 一一对应(初级/中级/高级/助教管理))。 【JSON字段】assistant_level。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_service_records.levelname IS '【说明】名称字段,用于展示与辅助识别。 【示例】NULL(名称字段,用于展示与辅助识别)。 【JSON字段】levelname。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_service_records.site_assistant_id IS '【说明】门店维度的助教 ID。 【示例】2946266869435205(用于门店维度的助教 ID)。 【JSON字段】site_assistant_id。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_service_records.skill_id IS '【说明】助教服务“课程/技能”ID。 【示例】2790683529513797(用于助教服务“课程/技能”ID)。 【JSON字段】skill_id。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_service_records.skillname IS '【说明】名称字段,用于展示与辅助识别。 【示例】NULL(名称字段,用于展示与辅助识别)。 【JSON字段】skillname。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_service_records.system_member_id IS '【说明】系统级会员 ID(全集团统一 ID)。 【示例】0(用于系统级会员 ID(全集团统一 ID))。 【JSON字段】system_member_id。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_service_records.tablename IS '【说明】名称字段,用于展示与辅助识别。 【示例】NULL(名称字段,用于展示与辅助识别)。 【JSON字段】tablename。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_service_records.tenant_member_id IS '【说明】商户维度会员 ID(门店/品牌内的会员主键)。 【示例】0(用于商户维度会员 ID(门店/品牌内的会员主键))。 【JSON字段】tenant_member_id。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_service_records.user_id IS '【说明】助教对应的“用户账号 ID”(系统级用户)。 【示例】2946266868976453(用于助教对应的“用户账号 ID”(系统级用户))。 【JSON字段】user_id。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_service_records.assistant_team_id IS '【说明】助教所属团队 ID。 【示例】2792011585884037(用于助教所属团队 ID)。 【JSON字段】assistant_team_id。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_service_records.nickname IS '【说明】助教对外昵称,如“佳怡”“周周”“球球”等。 【示例】泡芙(用于助教对外昵称,如“佳怡”“周周”“球球”等)。 【JSON字段】nickname。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_service_records.ledger_name IS '【说明】名称字段,用于展示与辅助识别。 【示例】27-泡芙(名称字段,用于展示与辅助识别)。 【JSON字段】ledger_name。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_service_records.ledger_group_name IS '【说明】助教项目所属的“计费分组/套餐分组名称”,例如某种助教套餐或业务组名称。 【示例】NULL(用于助教项目所属的“计费分组/套餐分组名称”,例如某种助教套餐或业务组名称)。 【JSON字段】ledger_group_name。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_service_records.ledger_amount IS '【说明】按标准单价计算出来的应收金额(近似 = ledger_unit_price × income_seconds / 3600)。 【示例】206.67(用于按标准单价计算出来的应收金额(近似 = ledger_unit_price × income_seconds / 3600))。 【JSON字段】ledger_amount。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_service_records.ledger_count IS '【说明】台账记录的计时总秒数。 【示例】7592(用于台账记录的计时总秒数)。 【JSON字段】ledger_count。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_service_records.ledger_unit_price IS '【说明】助教服务 标准单价(通常是标价:每小时、每节课的单价)。 【示例】98.0(用于助教服务 标准单价(通常是标价:每小时、每节课的单价))。 【JSON字段】ledger_unit_price。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_service_records.ledger_status IS '【说明】来自 JSON 导出的原始字段,用于保留业务取值。。 【示例】1(来自 JSON 导出的原始字段,用于保留业务取值。)。 【JSON字段】ledger_status。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_service_records.ledger_start_time IS '【说明】台账层面记录的开始时间。 【示例】2025-11-09 21:18:18(用于台账层面记录的开始时间)。 【JSON字段】ledger_start_time。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_service_records.ledger_end_time IS '【说明】台账层面的结束时间。 【示例】2025-11-09 23:24:50(用于台账层面的结束时间)。 【JSON字段】ledger_end_time。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_service_records.manual_discount_amount IS '【说明】收银员手动给予的减免金额(人工改价)。 【示例】0.0(用于收银员手动给予的减免金额(人工改价))。 【JSON字段】manual_discount_amount。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_service_records.member_discount_amount IS '【说明】由会员卡折扣产生的优惠金额。 【示例】0.0(用于由会员卡折扣产生的优惠金额)。 【JSON字段】member_discount_amount。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_service_records.coupon_deduct_money IS '【说明】由“优惠券/代金券/团购券”等 直接抵扣到这条助教服务上的金额。 【示例】0.0(用于由“优惠券/代金券/团购券”等 直接抵扣到这条助教服务上的金额)。 【JSON字段】coupon_deduct_money。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_service_records.service_money IS '【说明】用于记录与助教结算的金额(平台预留的“成本/分成”字段)。 【示例】0.0(用于记录与助教结算的金额(平台预留的“成本/分成”字段))。 【JSON字段】service_money。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_service_records.projected_income IS '【说明】实际结算计入门店的金额(已经考虑折扣、卡权益、券等后的结果)。 【示例】168.0(用于实际结算计入门店的金额(已经考虑折扣、卡权益、券等后的结果))。 【JSON字段】projected_income。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_service_records.real_use_seconds IS '【说明】实际使用时长(秒)。 【示例】7592(用于实际使用时长(秒))。 【JSON字段】real_use_seconds。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_service_records.income_seconds IS '【说明】计费秒数 / 应计收入对应的时间。 【示例】7560(用于计费秒数 / 应计收入对应的时间)。 【JSON字段】income_seconds。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_service_records.start_use_time IS '【说明】助教实际开始服务时间。 【示例】2025-11-09 21:18:18(用于助教实际开始服务时间)。 【JSON字段】start_use_time。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_service_records.last_use_time IS '【说明】最后一次使用(实际服务)时间。 【示例】2025-11-09 23:24:50(用于最后一次使用(实际服务)时间)。 【JSON字段】last_use_time。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_service_records.create_time IS '【说明】这条助教流水记录创建时间(一般接近结算/下单时间)。 【示例】2025-11-09 23:25:11(用于这条助教流水记录创建时间(一般接近结算/下单时间))。 【JSON字段】create_time。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_service_records.is_single_order IS '【说明】布尔/开关字段,用于表示权限、可用性或状态开关。。 【示例】1(布尔/开关字段,用于表示权限、可用性或状态开关。)。 【JSON字段】is_single_order。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_service_records.is_delete IS '【说明】逻辑删除标志。 【示例】0(用于逻辑删除标志)。 【JSON字段】is_delete。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_service_records.is_trash IS '【说明】布尔/开关字段,用于表示权限、可用性或状态开关。。 【示例】0(布尔/开关字段,用于表示权限、可用性或状态开关。)。 【JSON字段】is_trash。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_service_records.trash_reason IS '【说明】废除原因(文本说明),例如“顾客取消”“录入错误”等。 【示例】NULL(用于废除原因(文本说明),例如“顾客取消”“录入错误”等)。 【JSON字段】trash_reason。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_service_records.trash_applicant_id IS '【说明】提出废除申请的员工 ID(通常是操作员/管理员)。 【示例】0(用于提出废除申请的员工 ID(通常是操作员/管理员))。 【JSON字段】trash_applicant_id。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_service_records.trash_applicant_name IS '【说明】废除申请人姓名。 【示例】NULL(用于废除申请人姓名)。 【JSON字段】trash_applicant_name。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_service_records.operator_id IS '【说明】操作员 ID(录入/结算这条助教服务的员工)。 【示例】2790687322443013(用于操作员 ID(录入/结算这条助教服务的员工))。 【JSON字段】operator_id。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_service_records.operator_name IS '【说明】操作员姓名,与 operator_id 一起使用,便于直接阅读。 【示例】收银员:郑丽珊(用于操作员姓名,与 operator_id 一起使用,便于直接阅读)。 【JSON字段】operator_name。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_service_records.salesman_name IS '【说明】关联的“营业员/销售员姓名”,用于提成归属。 【示例】NULL(关联的“营业员/销售员姓名”,用于提成归属)。 【JSON字段】salesman_name。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_service_records.salesman_org_id IS '【说明】营业员所属组织/部门 ID。 【示例】0(用于营业员所属组织/部门 ID)。 【JSON字段】salesman_org_id。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_service_records.salesman_user_id IS '【说明】营业员用户 ID。 【示例】0(用于营业员用户 ID)。 【JSON字段】salesman_user_id。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_service_records.person_org_id IS '【说明】助教所属“人事组织/部门 ID”。 【示例】2946266869336901(用于助教所属“人事组织/部门 ID”)。 【JSON字段】person_org_id。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_service_records.add_clock IS '【说明】加钟秒数,即在原有预约/服务基础上临时追加的时长。 【示例】0(用于加钟秒数,即在原有预约/服务基础上临时追加的时长)。 【JSON字段】add_clock。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_service_records.returns_clock IS '【说明】退钟秒数(取消加钟或提前结束退回的时间)。 【示例】0(用于退钟秒数(取消加钟或提前结束退回的时间))。 【JSON字段】returns_clock。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_service_records.composite_grade IS '【说明】综合评分(例如技能+服务加权后的平均分),当前数据没有实际评分。 【示例】0.0(用于综合评分(例如技能+服务加权后的平均分),当前数据没有实际评分)。 【JSON字段】composite_grade。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_service_records.composite_grade_time IS '【说明】助教服务所在的球台名称(如 "A17"、"S1")。 【示例】0001-01-01 00:00:00(用于助教服务所在的球台名称(如 "A17"、"S1"))。 【JSON字段】composite_grade_time。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_service_records.skill_grade IS '【说明】顾客对“技能表现”的评分(整数或打分等级)。 【示例】0(用于顾客对“技能表现”的评分(整数或打分等级))。 【JSON字段】skill_grade。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_service_records.service_grade IS '【说明】顾客对“服务态度”的评分。 【示例】0(用于顾客对“服务态度”的评分)。 【JSON字段】service_grade。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_service_records.sum_grade IS '【说明】累计评分总和(可能用于计算平均分),当前为 0。 【示例】0.0(累计评分总和(可能用于计算平均分),当前为 0)。 【JSON字段】sum_grade。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_service_records.grade_status IS '【说明】1 = 未评价/正常。 【示例】1(用于1 = 未评价/正常)。 【JSON字段】grade_status。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_service_records.get_grade_times IS '【说明】该条记录对应的评价次数(或该助教被评价次数快照)。 【示例】0(用于该条记录对应的评价次数(或该助教被评价次数快照))。 【JSON字段】get_grade_times。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_service_records.is_not_responding IS '【说明】布尔/开关字段,用于表示权限、可用性或状态开关。。 【示例】0(布尔/开关字段,用于表示权限、可用性或状态开关。)。 【JSON字段】is_not_responding。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_service_records.is_confirm IS '【说明】布尔/开关字段,用于表示权限、可用性或状态开关。。 【示例】2(布尔/开关字段,用于表示权限、可用性或状态开关。)。 【JSON字段】is_confirm。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_service_records.payload IS '【说明】完整原始 JSON 记录快照,用于回溯与二次解析。 【示例】{...}(完整原始 JSON 记录快照,用于回溯与二次解析)。 【JSON字段】$(整条记录)。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_service_records.source_file IS '【说明】ETL 元数据:原始导出文件名,用于数据追溯。 【示例】assistant_service_records.json(ETL 元数据:原始导出文件名,用于数据追溯)。 【JSON字段】无(ETL元数据)。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_service_records.source_endpoint IS '【说明】ETL 元数据:采集来源(接口/文件路径),用于数据追溯。 【示例】C:/dev/LLTQ/export/test-json-doc/assistant_service_records.json(ETL 元数据:采集来源(接口/文件路径),用于数据追溯)。 【JSON字段】无(ETL元数据)。';
|
||
COMMENT ON COLUMN billiards_ods.assistant_service_records.fetched_at IS '【说明】ETL 元数据:采集/入库时间戳,用于口径对齐与增量处理。 【示例】2025-11-10T00:00:00+08:00(ETL 元数据:采集/入库时间戳,用于口径对齐与增量处理)。 【JSON字段】无(ETL元数据)。';
|
||
|
||
|
||
CREATE TABLE IF NOT EXISTS billiards_ods.site_tables_master (
|
||
id BIGINT PRIMARY KEY,
|
||
site_id BIGINT,
|
||
siteName TEXT,
|
||
"appletQrCodeUrl" TEXT,
|
||
areaName TEXT,
|
||
audit_status INT,
|
||
charge_free INT,
|
||
create_time TIMESTAMP,
|
||
delay_lights_time INT,
|
||
is_online_reservation INT,
|
||
is_rest_area INT,
|
||
light_status INT,
|
||
only_allow_groupon INT,
|
||
order_delay_time INT,
|
||
self_table INT,
|
||
show_status INT,
|
||
site_table_area_id BIGINT,
|
||
tableStatusName TEXT,
|
||
table_cloth_use_Cycle INT,
|
||
table_cloth_use_time TIMESTAMP,
|
||
table_name TEXT,
|
||
table_price NUMERIC(18,2),
|
||
table_status INT,
|
||
temporary_light_second INT,
|
||
virtual_table INT,
|
||
source_file TEXT,
|
||
source_endpoint TEXT,
|
||
fetched_at TIMESTAMPTZ DEFAULT now(),
|
||
payload JSONB NOT NULL
|
||
);
|
||
|
||
COMMENT ON TABLE billiards_ods.site_tables_master IS 'ODS 原始明细表:门店桌台主数据。来源:C:/dev/LLTQ/export/test-json-doc/site_tables_master.json;分析:site_tables_master-Analysis.md。字段以导出原样为主;ETL 补充 source_file/source_endpoint/fetched_at,并保留 payload 为原始记录快照。';
|
||
COMMENT ON COLUMN billiards_ods.site_tables_master.id IS '【说明】台桌主键 ID。 【示例】2791964216463493(用于台桌主键 ID)。 【JSON字段】id。';
|
||
COMMENT ON COLUMN billiards_ods.site_tables_master.site_id IS '【说明】门店 ID。 【示例】2790685415443269(用于门店 ID)。 【JSON字段】site_id。';
|
||
COMMENT ON COLUMN billiards_ods.site_tables_master.siteName IS '【说明】门店名称快照,冗余字段,配合 site_id 使用。 【示例】朗朗桌球(用于门店名称快照,冗余字段,配合 site_id 使用)。 【JSON字段】siteName。';
|
||
COMMENT ON COLUMN billiards_ods.site_tables_master.areaName IS '【说明】区域名称,用于前台展示和区域维度管理。 【示例】A区(区域名称,用于前台展示和区域维度管理)。 【JSON字段】areaName。';
|
||
COMMENT ON COLUMN billiards_ods.site_tables_master.audit_status IS '【说明】当前值:全部为 2。 【示例】2(用于当前值:全部为 2)。 【JSON字段】audit_status。';
|
||
COMMENT ON COLUMN billiards_ods.site_tables_master.charge_free IS '【说明】当前值:全部为 0。 【示例】0(用于当前值:全部为 0)。 【JSON字段】charge_free。';
|
||
COMMENT ON COLUMN billiards_ods.site_tables_master.create_time IS '【说明】台桌配置的创建时间或最近一次创建/复制时间。 【示例】2025-07-15 17:52:54(用于台桌配置的创建时间或最近一次创建/复制时间)。 【JSON字段】create_time。';
|
||
COMMENT ON COLUMN billiards_ods.site_tables_master.delay_lights_time IS '【说明】台灯熄灭延迟时间(单位多半是秒或分钟),用于结账后延时关灯。 【示例】0(台灯熄灭延迟时间(单位多半是秒或分钟),用于结账后延时关灯)。 【JSON字段】delay_lights_time。';
|
||
COMMENT ON COLUMN billiards_ods.site_tables_master.is_online_reservation IS '【说明】布尔/开关字段,用于表示权限、可用性或状态开关。。 【示例】2(布尔/开关字段,用于表示权限、可用性或状态开关。)。 【JSON字段】is_online_reservation。';
|
||
COMMENT ON COLUMN billiards_ods.site_tables_master.is_rest_area IS '【说明】当前值:全部为 0。 【示例】0(用于当前值:全部为 0)。 【JSON字段】is_rest_area。';
|
||
COMMENT ON COLUMN billiards_ods.site_tables_master.light_status IS '【说明】来自 JSON 导出的原始字段,用于保留业务取值。。 【示例】2(来自 JSON 导出的原始字段,用于保留业务取值。)。 【JSON字段】light_status。';
|
||
COMMENT ON COLUMN billiards_ods.site_tables_master.only_allow_groupon IS '【说明】小程序二维码 URL。 【示例】2(用于小程序二维码 URL)。 【JSON字段】only_allow_groupon。';
|
||
COMMENT ON COLUMN billiards_ods.site_tables_master.order_delay_time IS '【说明】订单层面允许的“自动延时时长”(例如到点后自动延长多少时间继续计费)。 【示例】0(用于订单层面允许的“自动延时时长”(例如到点后自动延长多少时间继续计费))。 【JSON字段】order_delay_time。';
|
||
COMMENT ON COLUMN billiards_ods.site_tables_master.self_table IS '【说明】当前值:全部为 1。 【示例】1(用于当前值:全部为 1)。 【JSON字段】self_table。';
|
||
COMMENT ON COLUMN billiards_ods.site_tables_master.show_status IS '【说明】来自 JSON 导出的原始字段,用于保留业务取值。。 【示例】1(来自 JSON 导出的原始字段,用于保留业务取值。)。 【JSON字段】show_status。';
|
||
COMMENT ON COLUMN billiards_ods.site_tables_master.site_table_area_id IS '【说明】门店维度的“台桌区域 ID”。 【示例】2791963794329671(用于门店维度的“台桌区域 ID”)。 【JSON字段】site_table_area_id。';
|
||
COMMENT ON COLUMN billiards_ods.site_tables_master.tableStatusName IS '【说明】table_status 的中文名称,仅为展示用途。 【示例】空闲中(用于table_status 的中文名称,仅为展示用途)。 【JSON字段】tableStatusName。';
|
||
COMMENT ON COLUMN billiards_ods.site_tables_master.table_cloth_use_Cycle IS '【说明】台呢使用周期阈值,例如达到某个秒数后提醒更换。 【示例】0(用于台呢使用周期阈值,例如达到某个秒数后提醒更换)。 【JSON字段】table_cloth_use_Cycle。';
|
||
COMMENT ON COLUMN billiards_ods.site_tables_master.table_cloth_use_time IS '【说明】时间字段,用于记录业务时间点/发生时间。。 【示例】1863727(时间字段,用于记录业务时间点/发生时间。)。 【JSON字段】table_cloth_use_time。';
|
||
COMMENT ON COLUMN billiards_ods.site_tables_master.table_name IS '【说明】台号/台名称,用于前台操作界面展示,也出现在小票和各种流水中的 ledger_name 或 tableName 字段。 【示例】A1(台号/台名称,用于前台操作界面展示,也出现在小票和各种流水中的 ledger_name 或 tableName 字段)。 【JSON字段】table_name。';
|
||
COMMENT ON COLUMN billiards_ods.site_tables_master.table_price IS '【说明】设计上应为“台的基础单价”字段(例如按小时或按局单价)。 【示例】0.0(用于设计上应为“台的基础单价”字段(例如按小时或按局单价))。 【JSON字段】table_price。';
|
||
COMMENT ON COLUMN billiards_ods.site_tables_master.table_status IS '【说明】台当前运行状态,真实反映某一时刻台的占用/暂停情况。 【示例】1(用于台当前运行状态,真实反映某一时刻台的占用/暂停情况)。 【JSON字段】table_status。';
|
||
COMMENT ON COLUMN billiards_ods.site_tables_master.temporary_light_second IS '【说明】临时点灯时长(秒),例如手动临时开灯一段时间。 【示例】0(用于临时点灯时长(秒),例如手动临时开灯一段时间)。 【JSON字段】temporary_light_second。';
|
||
COMMENT ON COLUMN billiards_ods.site_tables_master.virtual_table IS '【说明】当前值:全部为 0。 【示例】0(用于当前值:全部为 0)。 【JSON字段】virtual_table。';
|
||
COMMENT ON COLUMN billiards_ods.site_tables_master.source_file IS '【说明】ETL 元数据:原始导出文件名,用于数据追溯。 【示例】site_tables_master.json(ETL 元数据:原始导出文件名,用于数据追溯)。 【JSON字段】无(ETL元数据)。';
|
||
COMMENT ON COLUMN billiards_ods.site_tables_master.source_endpoint IS '【说明】ETL 元数据:采集来源(接口/文件路径),用于数据追溯。 【示例】C:/dev/LLTQ/export/test-json-doc/site_tables_master.json(ETL 元数据:采集来源(接口/文件路径),用于数据追溯)。 【JSON字段】无(ETL元数据)。';
|
||
COMMENT ON COLUMN billiards_ods.site_tables_master.fetched_at IS '【说明】ETL 元数据:采集/入库时间戳,用于口径对齐与增量处理。 【示例】2025-11-10T00:00:00+08:00(ETL 元数据:采集/入库时间戳,用于口径对齐与增量处理)。 【JSON字段】无(ETL元数据)。';
|
||
COMMENT ON COLUMN billiards_ods.site_tables_master.payload IS '【说明】完整原始 JSON 记录快照,用于回溯与二次解析。 【示例】{...}(完整原始 JSON 记录快照,用于回溯与二次解析)。 【JSON字段】$(整条记录)。';
|
||
|
||
|
||
CREATE TABLE IF NOT EXISTS billiards_ods.table_fee_discount_records (
|
||
id BIGINT PRIMARY KEY,
|
||
tenant_id BIGINT,
|
||
site_id BIGINT,
|
||
siteProfile JSONB,
|
||
site_table_id BIGINT,
|
||
tableProfile JSONB,
|
||
tenant_table_area_id BIGINT,
|
||
adjust_type INT,
|
||
ledger_amount NUMERIC(18,2),
|
||
ledger_count NUMERIC(18,4),
|
||
ledger_name TEXT,
|
||
ledger_status INT,
|
||
applicant_id BIGINT,
|
||
applicant_name TEXT,
|
||
operator_id BIGINT,
|
||
operator_name TEXT,
|
||
order_settle_id BIGINT,
|
||
order_trade_no TEXT,
|
||
is_delete INT,
|
||
create_time TIMESTAMP,
|
||
source_file TEXT,
|
||
source_endpoint TEXT,
|
||
fetched_at TIMESTAMPTZ DEFAULT now(),
|
||
payload JSONB NOT NULL
|
||
);
|
||
|
||
COMMENT ON TABLE billiards_ods.table_fee_discount_records IS 'ODS 原始明细表:台费折扣记录。来源:C:/dev/LLTQ/export/test-json-doc/table_fee_discount_records.json;分析:table_fee_discount_records-Analysis.md。字段以导出原样为主;ETL 补充 source_file/source_endpoint/fetched_at,并保留 payload 为原始记录快照。';
|
||
COMMENT ON COLUMN billiards_ods.table_fee_discount_records.id IS '【说明】台费打折 / 调整流水主键 ID。 【示例】2957913441881989(用于台费打折 / 调整流水主键 ID)。 【JSON字段】id。';
|
||
COMMENT ON COLUMN billiards_ods.table_fee_discount_records.tenant_id IS '【说明】租户/品牌 ID。 【示例】2790683160709957(用于租户/品牌 ID)。 【JSON字段】tenant_id。';
|
||
COMMENT ON COLUMN billiards_ods.table_fee_discount_records.site_id IS '【说明】门店 ID,本批数据全部为同一家门店(朗朗桌球)。 【示例】2790685415443269(用于门店 ID,本批数据全部为同一家门店(朗朗桌球))。 【JSON字段】site_id。';
|
||
COMMENT ON COLUMN billiards_ods.table_fee_discount_records.siteProfile IS '【说明】门店信息快照,用于报表时直接读取,无需再联门店档案。 【示例】{"id": 2790685415443269, "org_id": 2790684179467077, "shop_name": "朗朗桌球", "avatar": "https://oss.ficoo.vip/admin/hXcE4E…(门店信息快照,用于报表时直接读取,无需再联门店档案)。 【JSON字段】siteProfile。';
|
||
COMMENT ON COLUMN billiards_ods.table_fee_discount_records.site_table_id IS '【说明】台桌 ID。 【示例】2793020259897413(用于台桌 ID)。 【JSON字段】site_table_id。';
|
||
COMMENT ON COLUMN billiards_ods.table_fee_discount_records.tableProfile IS '【说明】折扣发生时,对应台桌的配置信息快照。 【示例】{"id": 2793020259897413, "tenant_id": 2790683160709957, "tenant_name": "", "siteName": "", "table_name": "S1", "site_ta…(用于折扣发生时,对应台桌的配置信息快照)。 【JSON字段】tableProfile。';
|
||
COMMENT ON COLUMN billiards_ods.table_fee_discount_records.tenant_table_area_id IS '【说明】租户维度的“台桌区域 ID”。 【示例】2791961347968901(用于租户维度的“台桌区域 ID”)。 【JSON字段】tenant_table_area_id。';
|
||
COMMENT ON COLUMN billiards_ods.table_fee_discount_records.adjust_type IS '【说明】文件名是“台费打折”,字段名为“调整类型”,当前所有记录都是 1,即“台费打折/台费减免”这一种调整类型。 【示例】1(用于文件名是“台费打折”,字段名为“调整类型”,当前所有记录都是 1,即“台费打折/台费减免”这一种调整类型)。 【JSON字段】adjust_type。';
|
||
COMMENT ON COLUMN billiards_ods.table_fee_discount_records.ledger_amount IS '【说明】金额字段,用于计费/结算/分摊等金额计算。。 【示例】148.15(金额字段,用于计费/结算/分摊等金额计算。)。 【JSON字段】ledger_amount。';
|
||
COMMENT ON COLUMN billiards_ods.table_fee_discount_records.ledger_count IS '【说明】这里不是“秒数”,而是“调整次数/条数”的量化,目前固定为 1,表示“一次调账事件”。 【示例】1(用于这里不是“秒数”,而是“调整次数/条数”的量化,目前固定为 1,表示“一次调账事件”)。 【JSON字段】ledger_count。';
|
||
COMMENT ON COLUMN billiards_ods.table_fee_discount_records.ledger_name IS '【说明】设计上应该用于记录“调账项目名称”或“打折原因描述”(例如某种优惠规则名称),但当前门店并未使用该字段。 【示例】NULL(设计上应该用于记录“调账项目名称”或“打折原因描述”(例如某种优惠规则名称),但当前门店并未使用该字段)。 【JSON字段】ledger_name。';
|
||
COMMENT ON COLUMN billiards_ods.table_fee_discount_records.ledger_status IS '【说明】来自 JSON 导出的原始字段,用于保留业务取值。。 【示例】1(来自 JSON 导出的原始字段,用于保留业务取值。)。 【JSON字段】ledger_status。';
|
||
COMMENT ON COLUMN billiards_ods.table_fee_discount_records.applicant_id IS '【说明】打折/调账申请人 ID。 【示例】2790687322443013(用于打折/调账申请人 ID)。 【JSON字段】applicant_id。';
|
||
COMMENT ON COLUMN billiards_ods.table_fee_discount_records.applicant_name IS '【说明】申请人姓名(带角色描述),为 applicant_id 的冗余显示字段。 【示例】收银员:郑丽珊(用于申请人姓名(带角色描述),为 applicant_id 的冗余显示字段)。 【JSON字段】applicant_name。';
|
||
COMMENT ON COLUMN billiards_ods.table_fee_discount_records.operator_id IS '【说明】实际执行调账操作的操作员 ID。 【示例】2790687322443013(用于实际执行调账操作的操作员 ID)。 【JSON字段】operator_id。';
|
||
COMMENT ON COLUMN billiards_ods.table_fee_discount_records.operator_name IS '【说明】操作员姓名。 【示例】收银员:郑丽珊(用于操作员姓名)。 【JSON字段】operator_name。';
|
||
COMMENT ON COLUMN billiards_ods.table_fee_discount_records.order_settle_id IS '【说明】结算单/小票 ID。 【示例】2957913171693253(用于结算单/小票 ID)。 【JSON字段】order_settle_id。';
|
||
COMMENT ON COLUMN billiards_ods.table_fee_discount_records.order_trade_no IS '【说明】订单交易号。 【示例】2957784612605829(用于订单交易号)。 【JSON字段】order_trade_no。';
|
||
COMMENT ON COLUMN billiards_ods.table_fee_discount_records.is_delete IS '【说明】逻辑删除标记(0=否,1=是)。。 【示例】0(用于逻辑删除标记(0=否,1=是))。 【JSON字段】is_delete。';
|
||
COMMENT ON COLUMN billiards_ods.table_fee_discount_records.create_time IS '【说明】台费调整记录的创建时间,即打折操作被执行的时间戳。 【示例】2025-11-09 23:25:11(用于台费调整记录的创建时间,即打折操作被执行的时间戳)。 【JSON字段】create_time。';
|
||
COMMENT ON COLUMN billiards_ods.table_fee_discount_records.source_file IS '【说明】ETL 元数据:原始导出文件名,用于数据追溯。 【示例】table_fee_discount_records.json(ETL 元数据:原始导出文件名,用于数据追溯)。 【JSON字段】无(ETL元数据)。';
|
||
COMMENT ON COLUMN billiards_ods.table_fee_discount_records.source_endpoint IS '【说明】ETL 元数据:采集来源(接口/文件路径),用于数据追溯。 【示例】C:/dev/LLTQ/export/test-json-doc/table_fee_discount_records.json(ETL 元数据:采集来源(接口/文件路径),用于数据追溯)。 【JSON字段】无(ETL元数据)。';
|
||
COMMENT ON COLUMN billiards_ods.table_fee_discount_records.fetched_at IS '【说明】ETL 元数据:采集/入库时间戳,用于口径对齐与增量处理。 【示例】2025-11-10T00:00:00+08:00(ETL 元数据:采集/入库时间戳,用于口径对齐与增量处理)。 【JSON字段】无(ETL元数据)。';
|
||
COMMENT ON COLUMN billiards_ods.table_fee_discount_records.payload IS '【说明】完整原始 JSON 记录快照,用于回溯与二次解析。 【示例】{...}(完整原始 JSON 记录快照,用于回溯与二次解析)。 【JSON字段】$(整条记录)。';
|
||
|
||
|
||
CREATE TABLE IF NOT EXISTS billiards_ods.table_fee_transactions (
|
||
id BIGINT PRIMARY KEY,
|
||
tenant_id BIGINT,
|
||
site_id BIGINT,
|
||
siteProfile JSONB,
|
||
site_table_id BIGINT,
|
||
site_table_area_id BIGINT,
|
||
site_table_area_name TEXT,
|
||
tenant_table_area_id BIGINT,
|
||
order_trade_no TEXT,
|
||
order_pay_id BIGINT,
|
||
order_settle_id BIGINT,
|
||
ledger_name TEXT,
|
||
ledger_amount NUMERIC(18,2),
|
||
ledger_count NUMERIC(18,4),
|
||
ledger_unit_price NUMERIC(18,4),
|
||
ledger_status INT,
|
||
ledger_start_time TIMESTAMP,
|
||
ledger_end_time TIMESTAMP,
|
||
start_use_time TIMESTAMP,
|
||
last_use_time TIMESTAMP,
|
||
real_table_use_seconds INT,
|
||
real_table_charge_money NUMERIC(18,2),
|
||
add_clock_seconds INT,
|
||
adjust_amount NUMERIC(18,2),
|
||
coupon_promotion_amount NUMERIC(18,2),
|
||
member_discount_amount NUMERIC(18,2),
|
||
used_card_amount NUMERIC(18,2),
|
||
mgmt_fee NUMERIC(18,2),
|
||
service_money NUMERIC(18,2),
|
||
fee_total NUMERIC(18,2),
|
||
is_single_order INT,
|
||
is_delete INT,
|
||
member_id BIGINT,
|
||
operator_id BIGINT,
|
||
operator_name TEXT,
|
||
salesman_name TEXT,
|
||
salesman_org_id BIGINT,
|
||
salesman_user_id BIGINT,
|
||
create_time TIMESTAMP,
|
||
payload JSONB NOT NULL,
|
||
source_file TEXT,
|
||
source_endpoint TEXT,
|
||
fetched_at TIMESTAMPTZ DEFAULT now()
|
||
);
|
||
|
||
COMMENT ON TABLE billiards_ods.table_fee_transactions IS 'ODS 原始明细表:台费流水。来源:C:/dev/LLTQ/export/test-json-doc/table_fee_transactions.json;分析:table_fee_transactions-Analysis.md。字段以导出原样为主;ETL 补充 source_file/source_endpoint/fetched_at,并保留 payload 为原始记录快照。';
|
||
COMMENT ON COLUMN billiards_ods.table_fee_transactions.id IS '【说明】台费流水记录主键(事实表主键)。 【示例】2957924029058885(用于台费流水记录主键(事实表主键))。 【JSON字段】id。';
|
||
COMMENT ON COLUMN billiards_ods.table_fee_transactions.tenant_id IS '【说明】租户/品牌 ID。 【示例】2790683160709957(用于租户/品牌 ID)。 【JSON字段】tenant_id。';
|
||
COMMENT ON COLUMN billiards_ods.table_fee_transactions.site_id IS '【说明】门店 ID,本次数据全部来自同一门店(朗朗桌球)。 【示例】2790685415443269(用于门店 ID,本次数据全部来自同一门店(朗朗桌球))。 【JSON字段】site_id。';
|
||
COMMENT ON COLUMN billiards_ods.table_fee_transactions.siteProfile IS '【说明】来自 JSON 导出的原始字段,用于保留业务取值。。 【示例】{"id": 2790685415443269, "org_id": 2790684179467077, "shop_name": "朗朗桌球", "avatar": "https://oss.ficoo.vip/admin/hXcE4E…(来自 JSON 导出的原始字段,用于保留业务取值。)。 【JSON字段】siteProfile。';
|
||
COMMENT ON COLUMN billiards_ods.table_fee_transactions.site_table_id IS '【说明】球台 ID。 【示例】2793003705192517(用于球台 ID)。 【JSON字段】site_table_id。';
|
||
COMMENT ON COLUMN billiards_ods.table_fee_transactions.site_table_area_id IS '【说明】门店内“台桌区域” ID(站在门店物理布局的角度)。 【示例】2791963794329671(用于门店内“台桌区域” ID(站在门店物理布局的角度))。 【JSON字段】site_table_area_id。';
|
||
COMMENT ON COLUMN billiards_ods.table_fee_transactions.site_table_area_name IS '【说明】台桌区域的名称,用于门店表现和区域统计。 【示例】A区(台桌区域的名称,用于门店表现和区域统计)。 【JSON字段】site_table_area_name。';
|
||
COMMENT ON COLUMN billiards_ods.table_fee_transactions.tenant_table_area_id IS '【说明】租户维度的台桌区域 ID(品牌层面的同一类区域)。 【示例】2791960001957765(用于租户维度的台桌区域 ID(品牌层面的同一类区域))。 【JSON字段】tenant_table_area_id。';
|
||
COMMENT ON COLUMN billiards_ods.table_fee_transactions.order_trade_no IS '【说明】订单交易号,是整笔订单的主编号。 【示例】2957858167230149(用于订单交易号,是整笔订单的主编号)。 【JSON字段】order_trade_no。';
|
||
COMMENT ON COLUMN billiards_ods.table_fee_transactions.order_pay_id IS '【说明】订单支付记录 ID。 【示例】0(用于订单支付记录 ID)。 【JSON字段】order_pay_id。';
|
||
COMMENT ON COLUMN billiards_ods.table_fee_transactions.order_settle_id IS '【说明】结算单号/结账 ID,对应一次结账操作。 【示例】2957922914357125(用于结算单号/结账 ID,对应一次结账操作)。 【JSON字段】order_settle_id。';
|
||
COMMENT ON COLUMN billiards_ods.table_fee_transactions.ledger_name IS '【说明】台号名称,实际展示给员工/顾客看的桌台编号。 【示例】A17(用于台号名称,实际展示给员工/顾客看的桌台编号)。 【JSON字段】ledger_name。';
|
||
COMMENT ON COLUMN billiards_ods.table_fee_transactions.ledger_amount IS '【说明】按单价与计费时长计算出的原始应收台费金额。 【示例】48.0(用于按单价与计费时长计算出的原始应收台费金额)。 【JSON字段】ledger_amount。';
|
||
COMMENT ON COLUMN billiards_ods.table_fee_transactions.ledger_count IS '【说明】台账记录的计费秒数,计费用秒数(应收时长)。 【示例】3600(用于台账记录的计费秒数,计费用秒数(应收时长))。 【JSON字段】ledger_count。';
|
||
COMMENT ON COLUMN billiards_ods.table_fee_transactions.ledger_unit_price IS '【说明】台费结算时设置的 每小时单价/计费单价。 【示例】48.0(用于台费结算时设置的 每小时单价/计费单价)。 【JSON字段】ledger_unit_price。';
|
||
COMMENT ON COLUMN billiards_ods.table_fee_transactions.ledger_status IS '【说明】来自 JSON 导出的原始字段,用于保留业务取值。。 【示例】1(来自 JSON 导出的原始字段,用于保留业务取值。)。 【JSON字段】ledger_status。';
|
||
COMMENT ON COLUMN billiards_ods.table_fee_transactions.ledger_start_time IS '【说明】台账上的计费起始时间。 【示例】2025-11-09 22:28:57(用于台账上的计费起始时间)。 【JSON字段】ledger_start_time。';
|
||
COMMENT ON COLUMN billiards_ods.table_fee_transactions.ledger_end_time IS '【说明】台账上的计费结束时间。 【示例】2025-11-09 23:28:57(用于台账上的计费结束时间)。 【JSON字段】ledger_end_time。';
|
||
COMMENT ON COLUMN billiards_ods.table_fee_transactions.start_use_time IS '【说明】台开始使用的时间(实际开台时间)。 【示例】2025-11-09 22:28:57(用于台开始使用的时间(实际开台时间))。 【JSON字段】start_use_time。';
|
||
COMMENT ON COLUMN billiards_ods.table_fee_transactions.last_use_time IS '【说明】最后使用/操作时间。 【示例】2025-11-09 23:28:57(用于最后使用/操作时间)。 【JSON字段】last_use_time。';
|
||
COMMENT ON COLUMN billiards_ods.table_fee_transactions.real_table_use_seconds IS '【说明】实际使用的总秒数(系统真实统计的使用时长)。 【示例】3600(用于实际使用的总秒数(系统真实统计的使用时长))。 【JSON字段】real_table_use_seconds。';
|
||
COMMENT ON COLUMN billiards_ods.table_fee_transactions.real_table_charge_money IS '【说明】台费中实际向顾客收取的金额(现金/实付维度,未含券方承担或内部调账的那一部分)。 【示例】0.0(用于台费中实际向顾客收取的金额(现金/实付维度,未含券方承担或内部调账的那一部分))。 【JSON字段】real_table_charge_money。';
|
||
COMMENT ON COLUMN billiards_ods.table_fee_transactions.add_clock_seconds IS '【说明】加钟秒数,在原有使用基础上追加的时长。 【示例】0(用于加钟秒数,在原有使用基础上追加的时长)。 【JSON字段】add_clock_seconds。';
|
||
COMMENT ON COLUMN billiards_ods.table_fee_transactions.adjust_amount IS '【说明】调整金额/调账金额,用于将台费金额转移或冲减到其它项目,或手工调整。 【示例】0.0(调整金额/调账金额,用于将台费金额转移或冲减到其它项目,或手工调整)。 【JSON字段】adjust_amount。';
|
||
COMMENT ON COLUMN billiards_ods.table_fee_transactions.coupon_promotion_amount IS '【说明】由优惠券/活动/团购(平台/门店促销)承担的优惠金额,直接抵扣在台费上。 【示例】48.0(用于由优惠券/活动/团购(平台/门店促销)承担的优惠金额,直接抵扣在台费上)。 【JSON字段】coupon_promotion_amount。';
|
||
COMMENT ON COLUMN billiards_ods.table_fee_transactions.member_discount_amount IS '【说明】由会员权益产生的优惠金额,例如会员折扣、会员价等。 【示例】0.0(用于由会员权益产生的优惠金额,例如会员折扣、会员价等)。 【JSON字段】member_discount_amount。';
|
||
COMMENT ON COLUMN billiards_ods.table_fee_transactions.used_card_amount IS '【说明】由储值卡、次卡等“卡内余额”抵扣的金额。 【示例】0.0(用于由储值卡、次卡等“卡内余额”抵扣的金额)。 【JSON字段】used_card_amount。';
|
||
COMMENT ON COLUMN billiards_ods.table_fee_transactions.mgmt_fee IS '【说明】管理费字段,用于未来支持“台费附加管理费/服务费”的功能。 【示例】0.0(管理费字段,用于未来支持“台费附加管理费/服务费”的功能)。 【JSON字段】mgmt_fee。';
|
||
COMMENT ON COLUMN billiards_ods.table_fee_transactions.service_money IS '【说明】门店用于记录“服务费/成本/分成金额”的字段,类似助教流水里的 service_money。 【示例】0.0(门店用于记录“服务费/成本/分成金额”的字段,类似助教流水里的 service_money)。 【JSON字段】service_money。';
|
||
COMMENT ON COLUMN billiards_ods.table_fee_transactions.fee_total IS '【说明】各种附加费用(如管理费、服务费)合计值。 【示例】0.0(用于各种附加费用(如管理费、服务费)合计值)。 【JSON字段】fee_total。';
|
||
COMMENT ON COLUMN billiards_ods.table_fee_transactions.is_single_order IS '【说明】布尔/开关字段,用于表示权限、可用性或状态开关。。 【示例】1(布尔/开关字段,用于表示权限、可用性或状态开关。)。 【JSON字段】is_single_order。';
|
||
COMMENT ON COLUMN billiards_ods.table_fee_transactions.is_delete IS '【说明】逻辑删除标记(0=否,1=是)。。 【示例】0(用于逻辑删除标记(0=否,1=是))。 【JSON字段】is_delete。';
|
||
COMMENT ON COLUMN billiards_ods.table_fee_transactions.member_id IS '【说明】门店/租户内的会员 ID。 【示例】0(用于门店/租户内的会员 ID)。 【JSON字段】member_id。';
|
||
COMMENT ON COLUMN billiards_ods.table_fee_transactions.operator_id IS '【说明】操作员 ID,负责开台/结账的员工账号 ID。 【示例】2790687322443013(用于操作员 ID,负责开台/结账的员工账号 ID)。 【JSON字段】operator_id。';
|
||
COMMENT ON COLUMN billiards_ods.table_fee_transactions.operator_name IS '【说明】操作员姓名(冗余字段),便于直接阅读,不必再联表员工档案。 【示例】收银员:郑丽珊(用于操作员姓名(冗余字段),便于直接阅读,不必再联表员工档案)。 【JSON字段】operator_name。';
|
||
COMMENT ON COLUMN billiards_ods.table_fee_transactions.salesman_name IS '【说明】业务员/营业员姓名,如果台费有单独提成员工,这里记录归属人。 【示例】NULL(用于业务员/营业员姓名,如果台费有单独提成员工,这里记录归属人)。 【JSON字段】salesman_name。';
|
||
COMMENT ON COLUMN billiards_ods.table_fee_transactions.salesman_org_id IS '【说明】营业员所属机构/部门 ID。 【示例】0(用于营业员所属机构/部门 ID)。 【JSON字段】salesman_org_id。';
|
||
COMMENT ON COLUMN billiards_ods.table_fee_transactions.salesman_user_id IS '【说明】营业员的用户 ID(与 salesman_name 搭配)。 【示例】0(用于营业员的用户 ID(与 salesman_name 搭配))。 【JSON字段】salesman_user_id。';
|
||
COMMENT ON COLUMN billiards_ods.table_fee_transactions.create_time IS '【说明】这条台费流水记录的创建时间,通常接近结账时间。 【示例】2025-11-09 23:35:57(用于这条台费流水记录的创建时间,通常接近结账时间)。 【JSON字段】create_time。';
|
||
COMMENT ON COLUMN billiards_ods.table_fee_transactions.payload IS '【说明】完整原始 JSON 记录快照,用于回溯与二次解析。 【示例】{...}(完整原始 JSON 记录快照,用于回溯与二次解析)。 【JSON字段】$(整条记录)。';
|
||
COMMENT ON COLUMN billiards_ods.table_fee_transactions.source_file IS '【说明】ETL 元数据:原始导出文件名,用于数据追溯。 【示例】table_fee_transactions.json(ETL 元数据:原始导出文件名,用于数据追溯)。 【JSON字段】无(ETL元数据)。';
|
||
COMMENT ON COLUMN billiards_ods.table_fee_transactions.source_endpoint IS '【说明】ETL 元数据:采集来源(接口/文件路径),用于数据追溯。 【示例】C:/dev/LLTQ/export/test-json-doc/table_fee_transactions.json(ETL 元数据:采集来源(接口/文件路径),用于数据追溯)。 【JSON字段】无(ETL元数据)。';
|
||
COMMENT ON COLUMN billiards_ods.table_fee_transactions.fetched_at IS '【说明】ETL 元数据:采集/入库时间戳,用于口径对齐与增量处理。 【示例】2025-11-10T00:00:00+08:00(ETL 元数据:采集/入库时间戳,用于口径对齐与增量处理)。 【JSON字段】无(ETL元数据)。';
|
||
|
||
|
||
CREATE TABLE IF NOT EXISTS billiards_ods.goods_stock_movements (
|
||
siteGoodsStockId BIGINT PRIMARY KEY,
|
||
tenantId BIGINT,
|
||
siteId BIGINT,
|
||
siteGoodsId BIGINT,
|
||
goodsName TEXT,
|
||
goodsCategoryId BIGINT,
|
||
goodsSecondCategoryId BIGINT,
|
||
unit TEXT,
|
||
price NUMERIC(18,4),
|
||
stockType INT,
|
||
changeNum NUMERIC(18,4),
|
||
startNum NUMERIC(18,4),
|
||
endNum NUMERIC(18,4),
|
||
changeNumA NUMERIC(18,4),
|
||
startNumA NUMERIC(18,4),
|
||
endNumA NUMERIC(18,4),
|
||
remark TEXT,
|
||
operatorName TEXT,
|
||
createTime TIMESTAMP,
|
||
source_file TEXT,
|
||
source_endpoint TEXT,
|
||
fetched_at TIMESTAMPTZ DEFAULT now(),
|
||
payload JSONB NOT NULL
|
||
);
|
||
|
||
COMMENT ON TABLE billiards_ods.goods_stock_movements IS 'ODS 原始明细表:商品库存变动流水。来源:C:/dev/LLTQ/export/test-json-doc/goods_stock_movements.json;分析:goods_stock_movements-Analysis.md。字段以导出原样为主;ETL 补充 source_file/source_endpoint/fetched_at,并保留 payload 为原始记录快照。';
|
||
COMMENT ON COLUMN billiards_ods.goods_stock_movements.siteGoodsStockId IS '【说明】门店某个“商品库存记录”的主键 ID。 【示例】2957911857581957(用于门店某个“商品库存记录”的主键 ID)。 【JSON字段】siteGoodsStockId。';
|
||
COMMENT ON COLUMN billiards_ods.goods_stock_movements.tenantId IS '【说明】租户/品牌 ID。 【示例】2790683160709957(用于租户/品牌 ID)。 【JSON字段】tenantId。';
|
||
COMMENT ON COLUMN billiards_ods.goods_stock_movements.siteId IS '【说明】门店 ID。 【示例】2790685415443269(用于门店 ID)。 【JSON字段】siteId。';
|
||
COMMENT ON COLUMN billiards_ods.goods_stock_movements.siteGoodsId IS '【说明】门店维度的商品 ID。 【示例】2793026183532613(用于门店维度的商品 ID)。 【JSON字段】siteGoodsId。';
|
||
COMMENT ON COLUMN billiards_ods.goods_stock_movements.goodsName IS '【说明】商品名称。 【示例】阿萨姆(用于商品名称)。 【JSON字段】goodsName。';
|
||
COMMENT ON COLUMN billiards_ods.goods_stock_movements.goodsCategoryId IS '【说明】商品一级分类 ID。 【示例】2790683528350539(用于商品一级分类 ID)。 【JSON字段】goodsCategoryId。';
|
||
COMMENT ON COLUMN billiards_ods.goods_stock_movements.goodsSecondCategoryId IS '【说明】商品二级分类 ID。 【示例】2790683528350540(用于商品二级分类 ID)。 【JSON字段】goodsSecondCategoryId。';
|
||
COMMENT ON COLUMN billiards_ods.goods_stock_movements.unit IS '【说明】库存计量单位。 【示例】瓶(用于库存计量单位)。 【JSON字段】unit。';
|
||
COMMENT ON COLUMN billiards_ods.goods_stock_movements.price IS '【说明】商品单价(单位金额)。 【示例】8.0(用于商品单价(单位金额))。 【JSON字段】price。';
|
||
COMMENT ON COLUMN billiards_ods.goods_stock_movements.stockType IS '【说明】1:89 条。 【示例】1(用于1:89 条)。 【JSON字段】stockType。';
|
||
COMMENT ON COLUMN billiards_ods.goods_stock_movements.changeNum IS '【说明】本次库存数量变化值。 【示例】-1(用于本次库存数量变化值)。 【JSON字段】changeNum。';
|
||
COMMENT ON COLUMN billiards_ods.goods_stock_movements.startNum IS '【说明】变动前(这次出入库之前)的库存数量。 【示例】28(用于变动前(这次出入库之前)的库存数量)。 【JSON字段】startNum。';
|
||
COMMENT ON COLUMN billiards_ods.goods_stock_movements.endNum IS '【说明】变动后(出入库之后)的库存数量。 【示例】27(用于变动后(出入库之后)的库存数量)。 【JSON字段】endNum。';
|
||
COMMENT ON COLUMN billiards_ods.goods_stock_movements.changeNumA IS '【说明】辅助单位的变化量(与 changeNum 对应的第二计量单位变化),当前未使用。 【示例】0(用于辅助单位的变化量(与 changeNum 对应的第二计量单位变化),当前未使用)。 【JSON字段】changeNumA。';
|
||
COMMENT ON COLUMN billiards_ods.goods_stock_movements.startNumA IS '【说明】辅助计量单位的起始库存(例如件/箱等第二单位)。 【示例】0(用于辅助计量单位的起始库存(例如件/箱等第二单位))。 【JSON字段】startNumA。';
|
||
COMMENT ON COLUMN billiards_ods.goods_stock_movements.endNumA IS '【说明】辅助单位的变动后库存,同样未启用。 【示例】0(用于辅助单位的变动后库存,同样未启用)。 【JSON字段】endNumA。';
|
||
COMMENT ON COLUMN billiards_ods.goods_stock_movements.remark IS '【说明】备注信息,用于手工记录本次变更的特殊原因说明(例如“盘点差异调整”“报损”)。 【示例】NULL(备注信息,用于手工记录本次变更的特殊原因说明(例如“盘点差异调整”“报损”))。 【JSON字段】remark。';
|
||
COMMENT ON COLUMN billiards_ods.goods_stock_movements.operatorName IS '【说明】执行此次库存变动的操作人。 【示例】收银员:郑丽珊(用于执行此次库存变动的操作人)。 【JSON字段】operatorName。';
|
||
COMMENT ON COLUMN billiards_ods.goods_stock_movements.createTime IS '【说明】这条库存变动记录的创建时间,即发生库存变更的时间点。 【示例】2025-11-09 23:23:34(用于这条库存变动记录的创建时间,即发生库存变更的时间点)。 【JSON字段】createTime。';
|
||
COMMENT ON COLUMN billiards_ods.goods_stock_movements.source_file IS '【说明】ETL 元数据:原始导出文件名,用于数据追溯。 【示例】goods_stock_movements.json(ETL 元数据:原始导出文件名,用于数据追溯)。 【JSON字段】无(ETL元数据)。';
|
||
COMMENT ON COLUMN billiards_ods.goods_stock_movements.source_endpoint IS '【说明】ETL 元数据:采集来源(接口/文件路径),用于数据追溯。 【示例】C:/dev/LLTQ/export/test-json-doc/goods_stock_movements.json(ETL 元数据:采集来源(接口/文件路径),用于数据追溯)。 【JSON字段】无(ETL元数据)。';
|
||
COMMENT ON COLUMN billiards_ods.goods_stock_movements.fetched_at IS '【说明】ETL 元数据:采集/入库时间戳,用于口径对齐与增量处理。 【示例】2025-11-10T00:00:00+08:00(ETL 元数据:采集/入库时间戳,用于口径对齐与增量处理)。 【JSON字段】无(ETL元数据)。';
|
||
COMMENT ON COLUMN billiards_ods.goods_stock_movements.payload IS '【说明】完整原始 JSON 记录快照,用于回溯与二次解析。 【示例】{...}(完整原始 JSON 记录快照,用于回溯与二次解析)。 【JSON字段】$(整条记录)。';
|
||
|
||
|
||
CREATE TABLE IF NOT EXISTS billiards_ods.stock_goods_category_tree (
|
||
id BIGINT PRIMARY KEY,
|
||
tenant_id BIGINT,
|
||
category_name TEXT,
|
||
alias_name TEXT,
|
||
pid BIGINT,
|
||
business_name TEXT,
|
||
tenant_goods_business_id BIGINT,
|
||
open_salesman INT,
|
||
categoryBoxes JSONB,
|
||
sort INT,
|
||
is_warehousing INT,
|
||
source_file TEXT,
|
||
source_endpoint TEXT,
|
||
fetched_at TIMESTAMPTZ DEFAULT now(),
|
||
payload JSONB NOT NULL
|
||
);
|
||
|
||
COMMENT ON TABLE billiards_ods.stock_goods_category_tree IS 'ODS 原始明细表:商品分类树。来源:C:/dev/LLTQ/export/test-json-doc/stock_goods_category_tree.json;分析:stock_goods_category_tree-Analysis.md。字段以导出原样为主;ETL 补充 source_file/source_endpoint/fetched_at,并保留 payload 为原始记录快照。';
|
||
COMMENT ON COLUMN billiards_ods.stock_goods_category_tree.id IS '【说明】分类节点主键 ID(在商品分类维度中的唯一标识)。 【示例】2790683528350533(用于分类节点主键 ID(在商品分类维度中的唯一标识))。 【JSON字段】id。';
|
||
COMMENT ON COLUMN billiards_ods.stock_goods_category_tree.tenant_id IS '【说明】租户 ID(品牌/商户 ID)。 【示例】2790683160709957(用于租户 ID(品牌/商户 ID))。 【JSON字段】tenant_id。';
|
||
COMMENT ON COLUMN billiards_ods.stock_goods_category_tree.category_name IS '【说明】分类名称(实际业务分类名称)。 【示例】槟榔(用于分类名称(实际业务分类名称))。 【JSON字段】category_name。';
|
||
COMMENT ON COLUMN billiards_ods.stock_goods_category_tree.alias_name IS '【说明】名称字段,用于展示与辅助识别。。 【示例】NULL(名称字段,用于展示与辅助识别。)。 【JSON字段】alias_name。';
|
||
COMMENT ON COLUMN billiards_ods.stock_goods_category_tree.pid IS '【说明】父级分类 ID。 【示例】0(用于父级分类 ID)。 【JSON字段】pid。';
|
||
COMMENT ON COLUMN billiards_ods.stock_goods_category_tree.business_name IS '【说明】业务大类名称。 【示例】槟榔(用于业务大类名称)。 【JSON字段】business_name。';
|
||
COMMENT ON COLUMN billiards_ods.stock_goods_category_tree.tenant_goods_business_id IS '【说明】业务大类 ID。 【示例】2790683528317766(用于业务大类 ID)。 【JSON字段】tenant_goods_business_id。';
|
||
COMMENT ON COLUMN billiards_ods.stock_goods_category_tree.open_salesman IS '【说明】是否启用“营业员”或“导购提成”相关的功能开关。 【示例】2(用于是否启用“营业员”或“导购提成”相关的功能开关)。 【JSON字段】open_salesman。';
|
||
COMMENT ON COLUMN billiards_ods.stock_goods_category_tree.categoryBoxes IS '【说明】子分类数组。 【示例】[{"id": 2790683528350534, "tenant_id": 2790683160709957, "category_name": "槟榔", "alias_name": "", "pid": 27906835283505…(用于子分类数组)。 【JSON字段】categoryBoxes。';
|
||
COMMENT ON COLUMN billiards_ods.stock_goods_category_tree.sort IS '【说明】分类的排序序号,用于前端展示顺序的控制。 【示例】1(分类的排序序号,用于前端展示顺序的控制)。 【JSON字段】sort。';
|
||
COMMENT ON COLUMN billiards_ods.stock_goods_category_tree.is_warehousing IS '【说明】本文件可视为“所有参与库存管理的商品分类清单”,因此均为 1。 【示例】1(用于本文件可视为“所有参与库存管理的商品分类清单”,因此均为 1)。 【JSON字段】is_warehousing。';
|
||
COMMENT ON COLUMN billiards_ods.stock_goods_category_tree.source_file IS '【说明】ETL 元数据:原始导出文件名,用于数据追溯。 【示例】stock_goods_category_tree.json(ETL 元数据:原始导出文件名,用于数据追溯)。 【JSON字段】无(ETL元数据)。';
|
||
COMMENT ON COLUMN billiards_ods.stock_goods_category_tree.source_endpoint IS '【说明】ETL 元数据:采集来源(接口/文件路径),用于数据追溯。 【示例】C:/dev/LLTQ/export/test-json-doc/stock_goods_category_tree.json(ETL 元数据:采集来源(接口/文件路径),用于数据追溯)。 【JSON字段】无(ETL元数据)。';
|
||
COMMENT ON COLUMN billiards_ods.stock_goods_category_tree.fetched_at IS '【说明】ETL 元数据:采集/入库时间戳,用于口径对齐与增量处理。 【示例】2025-11-10T00:00:00+08:00(ETL 元数据:采集/入库时间戳,用于口径对齐与增量处理)。 【JSON字段】无(ETL元数据)。';
|
||
COMMENT ON COLUMN billiards_ods.stock_goods_category_tree.payload IS '【说明】完整原始 JSON 记录快照,用于回溯与二次解析。 【示例】{...}(完整原始 JSON 记录快照,用于回溯与二次解析)。 【JSON字段】$(整条记录)。';
|
||
|
||
|
||
CREATE TABLE IF NOT EXISTS billiards_ods.goods_stock_summary (
|
||
siteGoodsId BIGINT PRIMARY KEY,
|
||
goodsName TEXT,
|
||
goodsUnit TEXT,
|
||
goodsCategoryId BIGINT,
|
||
goodsCategorySecondId BIGINT,
|
||
categoryName TEXT,
|
||
rangeStartStock NUMERIC(18,4),
|
||
rangeEndStock NUMERIC(18,4),
|
||
rangeIn NUMERIC(18,4),
|
||
rangeOut NUMERIC(18,4),
|
||
rangeSale NUMERIC(18,4),
|
||
rangeSaleMoney NUMERIC(18,2),
|
||
rangeInventory NUMERIC(18,4),
|
||
currentStock NUMERIC(18,4),
|
||
source_file TEXT,
|
||
source_endpoint TEXT,
|
||
fetched_at TIMESTAMPTZ DEFAULT now(),
|
||
payload JSONB NOT NULL
|
||
);
|
||
|
||
COMMENT ON TABLE billiards_ods.goods_stock_summary IS 'ODS 原始明细表:商品库存汇总。来源:C:/dev/LLTQ/export/test-json-doc/goods_stock_summary.json;分析:goods_stock_summary-Analysis.md。字段以导出原样为主;ETL 补充 source_file/source_endpoint/fetched_at,并保留 payload 为原始记录快照。';
|
||
COMMENT ON COLUMN billiards_ods.goods_stock_summary.siteGoodsId IS '【说明】门店商品 ID,本库存汇总表的主键,对应某个具体商品在本店的唯一标识。 【示例】2791953867886725(用于门店商品 ID,本库存汇总表的主键,对应某个具体商品在本店的唯一标识)。 【JSON字段】siteGoodsId。';
|
||
COMMENT ON COLUMN billiards_ods.goods_stock_summary.goodsName IS '【说明】商品名称,冗余于门店商品档案的 goods_name。 【示例】东方树叶(用于商品名称,冗余于门店商品档案的 goods_name)。 【JSON字段】goodsName。';
|
||
COMMENT ON COLUMN billiards_ods.goods_stock_summary.goodsUnit IS '【说明】商品的计量单位(售卖单位)。 【示例】瓶(用于商品的计量单位(售卖单位))。 【JSON字段】goodsUnit。';
|
||
COMMENT ON COLUMN billiards_ods.goods_stock_summary.goodsCategoryId IS '【说明】一级商品分类 ID。 【示例】2790683528350539(用于一级商品分类 ID)。 【JSON字段】goodsCategoryId。';
|
||
COMMENT ON COLUMN billiards_ods.goods_stock_summary.goodsCategorySecondId IS '【说明】二级(次级)商品分类 ID,是 goodsCategoryId 的下级分类。 【示例】2790683528350540(用于二级(次级)商品分类 ID,是 goodsCategoryId 的下级分类)。 【JSON字段】goodsCategorySecondId。';
|
||
COMMENT ON COLUMN billiards_ods.goods_stock_summary.categoryName IS '【说明】一级分类名称,属于冗余字段,用于直接展示。 【示例】酒水(一级分类名称,属于冗余字段,用于直接展示)。 【JSON字段】categoryName。';
|
||
COMMENT ON COLUMN billiards_ods.goods_stock_summary.rangeStartStock IS '【说明】查询区间 起始时刻 的库存数量(期初库存)。 【示例】165(用于查询区间 起始时刻 的库存数量(期初库存))。 【JSON字段】rangeStartStock。';
|
||
COMMENT ON COLUMN billiards_ods.goods_stock_summary.rangeEndStock IS '【说明】查询区间 结束时刻 的库存数量(期末库存)。 【示例】118(用于查询区间 结束时刻 的库存数量(期末库存))。 【JSON字段】rangeEndStock。';
|
||
COMMENT ON COLUMN billiards_ods.goods_stock_summary.rangeIn IS '【说明】查询区间内的 入库数量汇总(正值),包括采购入库、调拨入库等。 【示例】450(用于查询区间内的 入库数量汇总(正值),包括采购入库、调拨入库等)。 【JSON字段】rangeIn。';
|
||
COMMENT ON COLUMN billiards_ods.goods_stock_summary.rangeOut IS '【说明】查询区间内的 出库数量汇总,以 负数 表示从库存扣减(出库/销售)。 【示例】-497(用于查询区间内的 出库数量汇总,以 负数 表示从库存扣减(出库/销售))。 【JSON字段】rangeOut。';
|
||
COMMENT ON COLUMN billiards_ods.goods_stock_summary.rangeSale IS '【说明】查询区间内,该商品的 销售数量汇总(售出多少“包/瓶/份”等)。 【示例】488(用于查询区间内,该商品的 销售数量汇总(售出多少“包/瓶/份”等))。 【JSON字段】rangeSale。';
|
||
COMMENT ON COLUMN billiards_ods.goods_stock_summary.rangeSaleMoney IS '【说明】查询区间内,该商品销售的 金额小计(按商品维度汇总)。 【示例】3904.0(用于查询区间内,该商品销售的 金额小计(按商品维度汇总))。 【JSON字段】rangeSaleMoney。';
|
||
COMMENT ON COLUMN billiards_ods.goods_stock_summary.rangeInventory IS '【说明】查询区间内的 盘点调整净变动量(盘盈–盘亏)。 【示例】0(用于查询区间内的 盘点调整净变动量(盘盈–盘亏))。 【JSON字段】rangeInventory。';
|
||
COMMENT ON COLUMN billiards_ods.goods_stock_summary.currentStock IS '【说明】导出时刻的实时库存数量。 【示例】118(用于导出时刻的实时库存数量)。 【JSON字段】currentStock。';
|
||
COMMENT ON COLUMN billiards_ods.goods_stock_summary.source_file IS '【说明】ETL 元数据:原始导出文件名,用于数据追溯。 【示例】goods_stock_summary.json(ETL 元数据:原始导出文件名,用于数据追溯)。 【JSON字段】无(ETL元数据)。';
|
||
COMMENT ON COLUMN billiards_ods.goods_stock_summary.source_endpoint IS '【说明】ETL 元数据:采集来源(接口/文件路径),用于数据追溯。 【示例】C:/dev/LLTQ/export/test-json-doc/goods_stock_summary.json(ETL 元数据:采集来源(接口/文件路径),用于数据追溯)。 【JSON字段】无(ETL元数据)。';
|
||
COMMENT ON COLUMN billiards_ods.goods_stock_summary.fetched_at IS '【说明】ETL 元数据:采集/入库时间戳,用于口径对齐与增量处理。 【示例】2025-11-10T00:00:00+08:00(ETL 元数据:采集/入库时间戳,用于口径对齐与增量处理)。 【JSON字段】无(ETL元数据)。';
|
||
COMMENT ON COLUMN billiards_ods.goods_stock_summary.payload IS '【说明】完整原始 JSON 记录快照,用于回溯与二次解析。 【示例】{...}(完整原始 JSON 记录快照,用于回溯与二次解析)。 【JSON字段】$(整条记录)。';
|
||
|
||
|
||
CREATE TABLE IF NOT EXISTS billiards_ods.payment_transactions (
|
||
id BIGINT PRIMARY KEY,
|
||
site_id BIGINT,
|
||
siteProfile JSONB,
|
||
relate_type INT,
|
||
relate_id BIGINT,
|
||
pay_amount NUMERIC(18,2),
|
||
pay_status INT,
|
||
pay_time TIMESTAMP,
|
||
create_time TIMESTAMP,
|
||
payment_method INT,
|
||
online_pay_channel INT,
|
||
source_file TEXT,
|
||
source_endpoint TEXT,
|
||
fetched_at TIMESTAMPTZ DEFAULT now(),
|
||
payload JSONB NOT NULL
|
||
);
|
||
|
||
COMMENT ON TABLE billiards_ods.payment_transactions IS 'ODS 原始明细表:支付流水。来源:C:/dev/LLTQ/export/test-json-doc/payment_transactions.json;分析:payment_transactions-Analysis.md。字段以导出原样为主;ETL 补充 source_file/source_endpoint/fetched_at,并保留 payload 为原始记录快照。';
|
||
COMMENT ON COLUMN billiards_ods.payment_transactions.id IS '【说明】支付流水记录的主键 ID。 【示例】2957924026486597(用于支付流水记录的主键 ID)。 【JSON字段】id。';
|
||
COMMENT ON COLUMN billiards_ods.payment_transactions.site_id IS '【说明】支付记录所属的门店 ID。 【示例】2790685415443269(用于支付记录所属的门店 ID)。 【JSON字段】site_id。';
|
||
COMMENT ON COLUMN billiards_ods.payment_transactions.siteProfile IS '【说明】门店信息快照,与其他 JSON 中的 siteProfile 结构一致。 【示例】{"id": 2790685415443269, "org_id": 2790684179467077, "shop_name": "朗朗桌球", "avatar": "https://oss.ficoo.vip/admin/hXcE4E…(用于门店信息快照,与其他 JSON 中的 siteProfile 结构一致)。 【JSON字段】siteProfile。';
|
||
COMMENT ON COLUMN billiards_ods.payment_transactions.relate_type IS '【说明】表示“这条支付记录关联的业务类型”。 【示例】2(用于表示“这条支付记录关联的业务类型”)。 【JSON字段】relate_type。';
|
||
COMMENT ON COLUMN billiards_ods.payment_transactions.relate_id IS '【说明】关联业务记录的主键 ID(按 relate_type 不同指向不同表)。 【示例】2957922914357125(用于关联业务记录的主键 ID(按 relate_type 不同指向不同表))。 【JSON字段】relate_id。';
|
||
COMMENT ON COLUMN billiards_ods.payment_transactions.pay_amount IS '【说明】本条支付流水的“支付金额”,单位为元。 【示例】10.0(用于本条支付流水的“支付金额”,单位为元)。 【JSON字段】pay_amount。';
|
||
COMMENT ON COLUMN billiards_ods.payment_transactions.pay_status IS '【说明】支付状态枚举字段。 【示例】2(用于支付状态枚举字段)。 【JSON字段】pay_status。';
|
||
COMMENT ON COLUMN billiards_ods.payment_transactions.pay_time IS '【说明】实际支付完成时间(支付状态变为成功的时间戳)。 【示例】2025-11-09 23:35:57(用于实际支付完成时间(支付状态变为成功的时间戳))。 【JSON字段】pay_time。';
|
||
COMMENT ON COLUMN billiards_ods.payment_transactions.create_time IS '【说明】支付记录创建时间,通常与发起支付请求的时间一致(创建支付流水的时间戳)。 【示例】2025-11-09 23:35:57(用于支付记录创建时间,通常与发起支付请求的时间一致(创建支付流水的时间戳))。 【JSON字段】create_time。';
|
||
COMMENT ON COLUMN billiards_ods.payment_transactions.payment_method IS '【说明】支付方式枚举,例如微信、支付宝、现金、银行卡、储值卡等某一种。 【示例】4(用于支付方式枚举,例如微信、支付宝、现金、银行卡、储值卡等某一种)。 【JSON字段】payment_method。';
|
||
COMMENT ON COLUMN billiards_ods.payment_transactions.online_pay_channel IS '【说明】每一笔结账单(settleList.id)对应一条支付记录(当前样本中是一条记录,relate_id 唯一)。 【示例】0(用于每一笔结账单(settleList.id)对应一条支付记录(当前样本中是一条记录,relate_id 唯一))。 【JSON字段】online_pay_channel。';
|
||
COMMENT ON COLUMN billiards_ods.payment_transactions.source_file IS '【说明】ETL 元数据:原始导出文件名,用于数据追溯。 【示例】payment_transactions.json(ETL 元数据:原始导出文件名,用于数据追溯)。 【JSON字段】无(ETL元数据)。';
|
||
COMMENT ON COLUMN billiards_ods.payment_transactions.source_endpoint IS '【说明】ETL 元数据:采集来源(接口/文件路径),用于数据追溯。 【示例】C:/dev/LLTQ/export/test-json-doc/payment_transactions.json(ETL 元数据:采集来源(接口/文件路径),用于数据追溯)。 【JSON字段】无(ETL元数据)。';
|
||
COMMENT ON COLUMN billiards_ods.payment_transactions.fetched_at IS '【说明】ETL 元数据:采集/入库时间戳,用于口径对齐与增量处理。 【示例】2025-11-10T00:00:00+08:00(ETL 元数据:采集/入库时间戳,用于口径对齐与增量处理)。 【JSON字段】无(ETL元数据)。';
|
||
COMMENT ON COLUMN billiards_ods.payment_transactions.payload IS '【说明】完整原始 JSON 记录快照,用于回溯与二次解析。 【示例】{...}(完整原始 JSON 记录快照,用于回溯与二次解析)。 【JSON字段】$(整条记录)。';
|
||
|
||
|
||
CREATE TABLE IF NOT EXISTS billiards_ods.refund_transactions (
|
||
id BIGINT PRIMARY KEY,
|
||
tenant_id BIGINT,
|
||
tenantName TEXT,
|
||
site_id BIGINT,
|
||
siteProfile JSONB,
|
||
relate_type INT,
|
||
relate_id BIGINT,
|
||
pay_sn TEXT,
|
||
pay_amount NUMERIC(18,2),
|
||
refund_amount NUMERIC(18,2),
|
||
round_amount NUMERIC(18,2),
|
||
pay_status INT,
|
||
pay_time TIMESTAMP,
|
||
create_time TIMESTAMP,
|
||
payment_method INT,
|
||
pay_terminal INT,
|
||
pay_config_id BIGINT,
|
||
online_pay_channel INT,
|
||
online_pay_type INT,
|
||
channel_fee NUMERIC(18,2),
|
||
channel_payer_id TEXT,
|
||
channel_pay_no TEXT,
|
||
member_id BIGINT,
|
||
member_card_id BIGINT,
|
||
cashier_point_id BIGINT,
|
||
operator_id BIGINT,
|
||
action_type INT,
|
||
check_status INT,
|
||
is_revoke INT,
|
||
is_delete INT,
|
||
balance_frozen_amount NUMERIC(18,2),
|
||
card_frozen_amount NUMERIC(18,2),
|
||
source_file TEXT,
|
||
source_endpoint TEXT,
|
||
fetched_at TIMESTAMPTZ DEFAULT now(),
|
||
payload JSONB NOT NULL
|
||
);
|
||
|
||
COMMENT ON TABLE billiards_ods.refund_transactions IS 'ODS 原始明细表:退款流水。来源:C:/dev/LLTQ/export/test-json-doc/refund_transactions.json;分析:refund_transactions-Analysis.md。字段以导出原样为主;ETL 补充 source_file/source_endpoint/fetched_at,并保留 payload 为原始记录快照。';
|
||
COMMENT ON COLUMN billiards_ods.refund_transactions.id IS '【说明】本条 退款流水 的唯一 ID。 【示例】2955202296416389(用于本条 退款流水 的唯一 ID)。 【JSON字段】id。';
|
||
COMMENT ON COLUMN billiards_ods.refund_transactions.tenant_id IS '【说明】租户/品牌 ID,全系统维度标识该商户。 【示例】2790683160709957(用于租户/品牌 ID,全系统维度标识该商户)。 【JSON字段】tenant_id。';
|
||
COMMENT ON COLUMN billiards_ods.refund_transactions.tenantName IS '【说明】租户(商户)名称。 【示例】朗朗桌球(用于租户(商户)名称)。 【JSON字段】tenantName。';
|
||
COMMENT ON COLUMN billiards_ods.refund_transactions.site_id IS '【说明】门店 ID。 【示例】2790685415443269(用于门店 ID)。 【JSON字段】site_id。';
|
||
COMMENT ON COLUMN billiards_ods.refund_transactions.siteProfile IS '【说明】门店信息快照,结构与其他 JSON 中的 siteProfile 完全一致。 【示例】{"id": 2790685415443269, "org_id": 2790684179467077, "shop_name": "朗朗桌球", "avatar": "https://oss.ficoo.vip/admin/hXcE4E…(用于门店信息快照,结构与其他 JSON 中的 siteProfile 完全一致)。 【JSON字段】siteProfile。';
|
||
COMMENT ON COLUMN billiards_ods.refund_transactions.relate_type IS '【说明】本退款对应的“业务类型”。 【示例】5(用于本退款对应的“业务类型”)。 【JSON字段】relate_type。';
|
||
COMMENT ON COLUMN billiards_ods.refund_transactions.relate_id IS '【说明】本次退款关联的业务 ID。 【示例】2955078219057349(用于本次退款关联的业务 ID)。 【JSON字段】relate_id。';
|
||
COMMENT ON COLUMN billiards_ods.refund_transactions.pay_sn IS '【说明】来自 JSON 导出的原始字段,用于保留业务取值。 【示例】0(来自 JSON 导出的原始字段,用于保留业务取值)。 【JSON字段】pay_sn。';
|
||
COMMENT ON COLUMN billiards_ods.refund_transactions.pay_amount IS '【说明】本次退款的 资金变动金额。 【示例】-5000.0(用于本次退款的 资金变动金额)。 【JSON字段】pay_amount。';
|
||
COMMENT ON COLUMN billiards_ods.refund_transactions.refund_amount IS '【说明】设计上本应显示“实际退款金额”(正数),与 pay_amount 配合使用。 【示例】0.0(用于设计上本应显示“实际退款金额”(正数),与 pay_amount 配合使用)。 【JSON字段】refund_amount。';
|
||
COMMENT ON COLUMN billiards_ods.refund_transactions.round_amount IS '【说明】舍入金额/抹零金额。 【示例】0.0(用于舍入金额/抹零金额)。 【JSON字段】round_amount。';
|
||
COMMENT ON COLUMN billiards_ods.refund_transactions.pay_status IS '【说明】来自 JSON 导出的原始字段,用于保留业务取值。。 【示例】2(来自 JSON 导出的原始字段,用于保留业务取值。)。 【JSON字段】pay_status。';
|
||
COMMENT ON COLUMN billiards_ods.refund_transactions.pay_time IS '【说明】退款在支付渠道层面实际发生的时间。 【示例】2025-11-08 01:27:16(用于退款在支付渠道层面实际发生的时间)。 【JSON字段】pay_time。';
|
||
COMMENT ON COLUMN billiards_ods.refund_transactions.create_time IS '【说明】本条退款流水在系统内创建时间。 【示例】2025-11-08 01:27:16(用于本条退款流水在系统内创建时间)。 【JSON字段】create_time。';
|
||
COMMENT ON COLUMN billiards_ods.refund_transactions.payment_method IS '【说明】来自 JSON 导出的原始字段,用于保留业务取值。。 【示例】4(来自 JSON 导出的原始字段,用于保留业务取值。)。 【JSON字段】payment_method。';
|
||
COMMENT ON COLUMN billiards_ods.refund_transactions.pay_terminal IS '【说明】来自 JSON 导出的原始字段,用于保留业务取值。。 【示例】1(来自 JSON 导出的原始字段,用于保留业务取值。)。 【JSON字段】pay_terminal。';
|
||
COMMENT ON COLUMN billiards_ods.refund_transactions.pay_config_id IS '【说明】支付配置 ID,例如商户在“非球科技”内配置的某一条支付通道(某个微信商户号、银联通道)的主键。 【示例】0(用于支付配置 ID,例如商户在“非球科技”内配置的某一条支付通道(某个微信商户号、银联通道)的主键)。 【JSON字段】pay_config_id。';
|
||
COMMENT ON COLUMN billiards_ods.refund_transactions.online_pay_channel IS '【说明】来自 JSON 导出的原始字段,用于保留业务取值。。 【示例】0(来自 JSON 导出的原始字段,用于保留业务取值。)。 【JSON字段】online_pay_channel。';
|
||
COMMENT ON COLUMN billiards_ods.refund_transactions.online_pay_type IS '【说明】当前:全部 0。 【示例】0(用于当前:全部 0)。 【JSON字段】online_pay_type。';
|
||
COMMENT ON COLUMN billiards_ods.refund_transactions.channel_fee IS '【说明】第三方支付渠道对本次退款收取的手续费。 【示例】0.0(用于第三方支付渠道对本次退款收取的手续费)。 【JSON字段】channel_fee。';
|
||
COMMENT ON COLUMN billiards_ods.refund_transactions.channel_payer_id IS '【说明】支付渠道侧的 payer ID,例如微信 openid、银行卡号掩码等。 【示例】NULL(用于支付渠道侧的 payer ID,例如微信 openid、银行卡号掩码等)。 【JSON字段】channel_payer_id。';
|
||
COMMENT ON COLUMN billiards_ods.refund_transactions.channel_pay_no IS '【说明】第三方支付平台的交易号(如微信支付单号、支付宝交易号等)。 【示例】NULL(用于第三方支付平台的交易号(如微信支付单号、支付宝交易号等))。 【JSON字段】channel_pay_no。';
|
||
COMMENT ON COLUMN billiards_ods.refund_transactions.member_id IS '【说明】租户内部的会员 ID(对应会员档案中的某个主键)。 【示例】0(用于租户内部的会员 ID(对应会员档案中的某个主键))。 【JSON字段】member_id。';
|
||
COMMENT ON COLUMN billiards_ods.refund_transactions.member_card_id IS '【说明】关联的会员卡账户 ID(对应“储值卡列表”或“会员档案”中的某一张卡)。 【示例】0(用于关联的会员卡账户 ID(对应“储值卡列表”或“会员档案”中的某一张卡))。 【JSON字段】member_card_id。';
|
||
COMMENT ON COLUMN billiards_ods.refund_transactions.cashier_point_id IS '【说明】收银点 ID,例如前台 1、前台 2、自助机等。 【示例】0(用于收银点 ID,例如前台 1、前台 2、自助机等)。 【JSON字段】cashier_point_id。';
|
||
COMMENT ON COLUMN billiards_ods.refund_transactions.operator_id IS '【说明】执行该退款操作的操作员 ID。 【示例】0(用于执行该退款操作的操作员 ID)。 【JSON字段】operator_id。';
|
||
COMMENT ON COLUMN billiards_ods.refund_transactions.action_type IS '【说明】当前:全部 2。 【示例】2(用于当前:全部 2)。 【JSON字段】action_type。';
|
||
COMMENT ON COLUMN billiards_ods.refund_transactions.check_status IS '【说明】当前:全部 1。 【示例】1(用于当前:全部 1)。 【JSON字段】check_status。';
|
||
COMMENT ON COLUMN billiards_ods.refund_transactions.is_revoke IS '【说明】布尔/开关字段,用于表示权限、可用性或状态开关。。 【示例】0(布尔/开关字段,用于表示权限、可用性或状态开关。)。 【JSON字段】is_revoke。';
|
||
COMMENT ON COLUMN billiards_ods.refund_transactions.is_delete IS '【说明】逻辑删除标志。 【示例】0(用于逻辑删除标志)。 【JSON字段】is_delete。';
|
||
COMMENT ON COLUMN billiards_ods.refund_transactions.balance_frozen_amount IS '【说明】涉及会员储值卡退款时,暂时冻结的余额金额。 【示例】0.0(用于涉及会员储值卡退款时,暂时冻结的余额金额)。 【JSON字段】balance_frozen_amount。';
|
||
COMMENT ON COLUMN billiards_ods.refund_transactions.card_frozen_amount IS '【说明】与上一个类似,偏向“某张卡的被冻结金额”,也与会员卡/储值账户相关。 【示例】0.0(用于与上一个类似,偏向“某张卡的被冻结金额”,也与会员卡/储值账户相关)。 【JSON字段】card_frozen_amount。';
|
||
COMMENT ON COLUMN billiards_ods.refund_transactions.source_file IS '【说明】ETL 元数据:原始导出文件名,用于数据追溯。 【示例】refund_transactions.json(ETL 元数据:原始导出文件名,用于数据追溯)。 【JSON字段】无(ETL元数据)。';
|
||
COMMENT ON COLUMN billiards_ods.refund_transactions.source_endpoint IS '【说明】ETL 元数据:采集来源(接口/文件路径),用于数据追溯。 【示例】C:/dev/LLTQ/export/test-json-doc/refund_transactions.json(ETL 元数据:采集来源(接口/文件路径),用于数据追溯)。 【JSON字段】无(ETL元数据)。';
|
||
COMMENT ON COLUMN billiards_ods.refund_transactions.fetched_at IS '【说明】ETL 元数据:采集/入库时间戳,用于口径对齐与增量处理。 【示例】2025-11-10T00:00:00+08:00(ETL 元数据:采集/入库时间戳,用于口径对齐与增量处理)。 【JSON字段】无(ETL元数据)。';
|
||
COMMENT ON COLUMN billiards_ods.refund_transactions.payload IS '【说明】完整原始 JSON 记录快照,用于回溯与二次解析。 【示例】{...}(完整原始 JSON 记录快照,用于回溯与二次解析)。 【JSON字段】$(整条记录)。';
|
||
|
||
|
||
CREATE TABLE IF NOT EXISTS billiards_ods.platform_coupon_redemption_records (
|
||
id BIGINT PRIMARY KEY,
|
||
verify_id BIGINT,
|
||
certificate_id TEXT,
|
||
coupon_code TEXT,
|
||
coupon_name TEXT,
|
||
coupon_channel INT,
|
||
groupon_type INT,
|
||
group_package_id BIGINT,
|
||
sale_price NUMERIC(18,2),
|
||
coupon_money NUMERIC(18,2),
|
||
coupon_free_time NUMERIC(18,2),
|
||
coupon_cover TEXT,
|
||
coupon_remark TEXT,
|
||
use_status INT,
|
||
consume_time TIMESTAMP,
|
||
create_time TIMESTAMP,
|
||
deal_id TEXT,
|
||
channel_deal_id TEXT,
|
||
site_id BIGINT,
|
||
site_order_id BIGINT,
|
||
table_id BIGINT,
|
||
tenant_id BIGINT,
|
||
operator_id BIGINT,
|
||
operator_name TEXT,
|
||
is_delete INT,
|
||
siteProfile JSONB,
|
||
source_file TEXT,
|
||
source_endpoint TEXT,
|
||
fetched_at TIMESTAMPTZ DEFAULT now(),
|
||
payload JSONB NOT NULL
|
||
);
|
||
|
||
COMMENT ON TABLE billiards_ods.platform_coupon_redemption_records IS 'ODS 原始明细表:平台券核销/使用记录。来源:C:/dev/LLTQ/export/test-json-doc/platform_coupon_redemption_records.json;分析:platform_coupon_redemption_records-Analysis.md。字段以导出原样为主;ETL 补充 source_file/source_endpoint/fetched_at,并保留 payload 为原始记录快照。';
|
||
COMMENT ON COLUMN billiards_ods.platform_coupon_redemption_records.id IS '【说明】本条平台验券记录在本系统内的主键 ID。 【示例】2957929042218501(用于本条平台验券记录在本系统内的主键 ID)。 【JSON字段】id。';
|
||
COMMENT ON COLUMN billiards_ods.platform_coupon_redemption_records.verify_id IS '【说明】平台核销记录 ID(某些平台会为每一次核销生成一个唯一 ID)。 【示例】7570689090418149418(用于平台核销记录 ID(某些平台会为每一次核销生成一个唯一 ID))。 【JSON字段】verify_id。';
|
||
COMMENT ON COLUMN billiards_ods.platform_coupon_redemption_records.certificate_id IS '【说明】平台侧的凭证 ID(通常由第三方团购平台生成的券实例 ID)。 【示例】5008024789379597447(用于平台侧的凭证 ID(通常由第三方团购平台生成的券实例 ID))。 【JSON字段】certificate_id。';
|
||
COMMENT ON COLUMN billiards_ods.platform_coupon_redemption_records.coupon_code IS '【说明】券码,顾客出示的团购券密码/编号。 【示例】0102701209726(用于券码,顾客出示的团购券密码/编号)。 【JSON字段】coupon_code。';
|
||
COMMENT ON COLUMN billiards_ods.platform_coupon_redemption_records.coupon_name IS '【说明】团购券产品名称(即第三方平台上向顾客展示的名称)。 【示例】【全天可用】中八桌球一小时(A区)(用于团购券产品名称(即第三方平台上向顾客展示的名称))。 【JSON字段】coupon_name。';
|
||
COMMENT ON COLUMN billiards_ods.platform_coupon_redemption_records.coupon_channel IS '【说明】券来源渠道(第三方平台渠道编号)。 【示例】1(用于券来源渠道(第三方平台渠道编号))。 【JSON字段】coupon_channel。';
|
||
COMMENT ON COLUMN billiards_ods.platform_coupon_redemption_records.groupon_type IS '【说明】团购券类型。 【示例】1(用于团购券类型)。 【JSON字段】groupon_type。';
|
||
COMMENT ON COLUMN billiards_ods.platform_coupon_redemption_records.group_package_id IS '【说明】标识类 ID 字段,用于关联/定位相关实体。。 【示例】0(标识类 ID 字段,用于关联/定位相关实体。)。 【JSON字段】group_package_id。';
|
||
COMMENT ON COLUMN billiards_ods.platform_coupon_redemption_records.sale_price IS '【说明】顾客在第三方平台上实际支付的价格(团购售价)。 【示例】29.9(用于顾客在第三方平台上实际支付的价格(团购售价))。 【JSON字段】sale_price。';
|
||
COMMENT ON COLUMN billiards_ods.platform_coupon_redemption_records.coupon_money IS '【说明】券面值 / 套餐价值(系统层面的“可抵扣金额或对应套餐价值”)。 【示例】48.0(用于券面值 / 套餐价值(系统层面的“可抵扣金额或对应套餐价值”))。 【JSON字段】coupon_money。';
|
||
COMMENT ON COLUMN billiards_ods.platform_coupon_redemption_records.coupon_free_time IS '【说明】券附带的“免费时长”字段(例如送多少分钟台费)。 【示例】0(用于券附带的“免费时长”字段(例如送多少分钟台费))。 【JSON字段】coupon_free_time。';
|
||
COMMENT ON COLUMN billiards_ods.platform_coupon_redemption_records.coupon_cover IS '【说明】来自 JSON 导出的原始字段,用于保留业务取值。 【示例】NULL(来自 JSON 导出的原始字段,用于保留业务取值)。 【JSON字段】coupon_cover。';
|
||
COMMENT ON COLUMN billiards_ods.platform_coupon_redemption_records.coupon_remark IS '【说明】来自 JSON 导出的原始字段,用于保留业务取值。 【示例】617547ec-9697-4f58-a700-b30a49e88904||CgYIASAHKAESLgos9ZhHDryhHb0z3RpdBZ0dVoaQbkldBcx/XTXPV8Te+9SEqYOa7aDp8nbKOpsaAA==(来自 JSON 导出的原始字段,用于保留业务取值)。 【JSON字段】coupon_remark。';
|
||
COMMENT ON COLUMN billiards_ods.platform_coupon_redemption_records.use_status IS '【说明】值 1:198 条。 【示例】1(用于值 1:198 条)。 【JSON字段】use_status。';
|
||
COMMENT ON COLUMN billiards_ods.platform_coupon_redemption_records.consume_time IS '【说明】券被核销/使用的业务时间。 【示例】2025-11-09 23:41:04(用于券被核销/使用的业务时间)。 【JSON字段】consume_time。';
|
||
COMMENT ON COLUMN billiards_ods.platform_coupon_redemption_records.create_time IS '【说明】验券记录在本系统中创建的时间(记录入库时间)。 【示例】2025-11-09 23:41:03(用于验券记录在本系统中创建的时间(记录入库时间))。 【JSON字段】create_time。';
|
||
COMMENT ON COLUMN billiards_ods.platform_coupon_redemption_records.deal_id IS '【说明】另一个层次的团购产品 ID。 【示例】1345108507(用于另一个层次的团购产品 ID)。 【JSON字段】deal_id。';
|
||
COMMENT ON COLUMN billiards_ods.platform_coupon_redemption_records.channel_deal_id IS '【说明】渠道侧 dealId / 产品 ID,一般是第三方平台给该团购商品定义的主键。 【示例】1128411555(用于渠道侧 dealId / 产品 ID,一般是第三方平台给该团购商品定义的主键)。 【JSON字段】channel_deal_id。';
|
||
COMMENT ON COLUMN billiards_ods.platform_coupon_redemption_records.site_id IS '【说明】门店 ID。 【示例】2790685415443269(用于门店 ID)。 【JSON字段】site_id。';
|
||
COMMENT ON COLUMN billiards_ods.platform_coupon_redemption_records.site_order_id IS '【说明】门店内部的订单 ID(平台券核销时对应的店内订单)。 【示例】2957929043037702(用于门店内部的订单 ID(平台券核销时对应的店内订单))。 【JSON字段】site_order_id。';
|
||
COMMENT ON COLUMN billiards_ods.platform_coupon_redemption_records.table_id IS '【说明】使用券的球台 ID。 【示例】2793001904918661(用于使用券的球台 ID)。 【JSON字段】table_id。';
|
||
COMMENT ON COLUMN billiards_ods.platform_coupon_redemption_records.tenant_id IS '【说明】商户/租户 ID(品牌级别)。 【示例】2790683160709957(用于商户/租户 ID(品牌级别))。 【JSON字段】tenant_id。';
|
||
COMMENT ON COLUMN billiards_ods.platform_coupon_redemption_records.operator_id IS '【说明】操作员 ID(执行验券操作的收银员/员工)。 【示例】2790687322443013(用于操作员 ID(执行验券操作的收银员/员工))。 【JSON字段】operator_id。';
|
||
COMMENT ON COLUMN billiards_ods.platform_coupon_redemption_records.operator_name IS '【说明】操作员姓名,例如 "收银员:郑丽珊"。 【示例】收银员:郑丽珊(用于操作员姓名,例如 "收银员:郑丽珊")。 【JSON字段】operator_name。';
|
||
COMMENT ON COLUMN billiards_ods.platform_coupon_redemption_records.is_delete IS '【说明】把平台验券记录挂到本门店的一条订单上。 【示例】0(用于把平台验券记录挂到本门店的一条订单上)。 【JSON字段】is_delete。';
|
||
COMMENT ON COLUMN billiards_ods.platform_coupon_redemption_records.siteProfile IS '【说明】门店信息快照。 【示例】{"id": 2790685415443269, "org_id": 2790684179467077, "shop_name": "朗朗桌球", "avatar": "https://oss.ficoo.vip/admin/hXcE4E…(用于门店信息快照)。 【JSON字段】siteProfile。';
|
||
COMMENT ON COLUMN billiards_ods.platform_coupon_redemption_records.source_file IS '【说明】ETL 元数据:原始导出文件名,用于数据追溯。 【示例】platform_coupon_redemption_records.json(ETL 元数据:原始导出文件名,用于数据追溯)。 【JSON字段】无(ETL元数据)。';
|
||
COMMENT ON COLUMN billiards_ods.platform_coupon_redemption_records.source_endpoint IS '【说明】ETL 元数据:采集来源(接口/文件路径),用于数据追溯。 【示例】C:/dev/LLTQ/export/test-json-doc/platform_coupon_redemption_records.json(ETL 元数据:采集来源(接口/文件路径),用于数据追溯)。 【JSON字段】无(ETL元数据)。';
|
||
COMMENT ON COLUMN billiards_ods.platform_coupon_redemption_records.fetched_at IS '【说明】ETL 元数据:采集/入库时间戳,用于口径对齐与增量处理。 【示例】2025-11-10T00:00:00+08:00(ETL 元数据:采集/入库时间戳,用于口径对齐与增量处理)。 【JSON字段】无(ETL元数据)。';
|
||
COMMENT ON COLUMN billiards_ods.platform_coupon_redemption_records.payload IS '【说明】完整原始 JSON 记录快照,用于回溯与二次解析。 【示例】{...}(完整原始 JSON 记录快照,用于回溯与二次解析)。 【JSON字段】$(整条记录)。';
|
||
|
||
|
||
CREATE TABLE IF NOT EXISTS billiards_ods.tenant_goods_master (
|
||
id BIGINT PRIMARY KEY,
|
||
tenant_id BIGINT,
|
||
goods_name TEXT,
|
||
goods_bar_code TEXT,
|
||
goods_category_id BIGINT,
|
||
goods_second_category_id BIGINT,
|
||
categoryName TEXT,
|
||
unit TEXT,
|
||
goods_number TEXT,
|
||
out_goods_id TEXT,
|
||
goods_state INT,
|
||
sale_channel INT,
|
||
able_discount INT,
|
||
able_site_transfer INT,
|
||
is_delete INT,
|
||
is_warehousing INT,
|
||
isInSite INT,
|
||
cost_price NUMERIC(18,4),
|
||
cost_price_type INT,
|
||
market_price NUMERIC(18,4),
|
||
min_discount_price NUMERIC(18,4),
|
||
common_sale_royalty NUMERIC(18,4),
|
||
point_sale_royalty NUMERIC(18,4),
|
||
pinyin_initial TEXT,
|
||
commodityCode TEXT,
|
||
commodity_code TEXT,
|
||
goods_cover TEXT,
|
||
supplier_id BIGINT,
|
||
remark_name TEXT,
|
||
create_time TIMESTAMP,
|
||
update_time TIMESTAMP,
|
||
payload JSONB NOT NULL,
|
||
source_file TEXT,
|
||
source_endpoint TEXT,
|
||
fetched_at TIMESTAMPTZ DEFAULT now()
|
||
);
|
||
|
||
COMMENT ON TABLE billiards_ods.tenant_goods_master IS 'ODS 原始明细表:租户商品主数据。来源:C:/dev/LLTQ/export/test-json-doc/tenant_goods_master.json;分析:tenant_goods_master-Analysis.md。字段以导出原样为主;ETL 补充 source_file/source_endpoint/fetched_at,并保留 payload 为原始记录快照。';
|
||
COMMENT ON COLUMN billiards_ods.tenant_goods_master.id IS '【说明】商品档案主键 ID,唯一标识一条商品。 【示例】2791925230096261(用于商品档案主键 ID,唯一标识一条商品)。 【JSON字段】id。';
|
||
COMMENT ON COLUMN billiards_ods.tenant_goods_master.tenant_id IS '【说明】租户/品牌 ID。 【示例】2790683160709957(用于租户/品牌 ID)。 【JSON字段】tenant_id。';
|
||
COMMENT ON COLUMN billiards_ods.tenant_goods_master.goods_name IS '【说明】商品名称(前台展示名称)。 【示例】东方树叶(用于商品名称(前台展示名称))。 【JSON字段】goods_name。';
|
||
COMMENT ON COLUMN billiards_ods.tenant_goods_master.goods_bar_code IS '【说明】商品条码(EAN 等),目前未维护。 【示例】NULL(用于商品条码(EAN 等),目前未维护)。 【JSON字段】goods_bar_code。';
|
||
COMMENT ON COLUMN billiards_ods.tenant_goods_master.goods_category_id IS '【说明】商品一级分类 ID。 【示例】2790683528350539(用于商品一级分类 ID)。 【JSON字段】goods_category_id。';
|
||
COMMENT ON COLUMN billiards_ods.tenant_goods_master.goods_second_category_id IS '【说明】商品二级分类 ID。 【示例】2790683528350540(用于商品二级分类 ID)。 【JSON字段】goods_second_category_id。';
|
||
COMMENT ON COLUMN billiards_ods.tenant_goods_master.categoryName IS '【说明】商品一级分类名称(业务可读)。 【示例】饮料(用于商品一级分类名称(业务可读))。 【JSON字段】categoryName。';
|
||
COMMENT ON COLUMN billiards_ods.tenant_goods_master.unit IS '【说明】计量单位。 【示例】瓶(用于计量单位)。 【JSON字段】unit。';
|
||
COMMENT ON COLUMN billiards_ods.tenant_goods_master.goods_number IS '【说明】商品内部编码(自定义货号/系统货号)。 【示例】1(用于商品内部编码(自定义货号/系统货号))。 【JSON字段】goods_number。';
|
||
COMMENT ON COLUMN billiards_ods.tenant_goods_master.out_goods_id IS '【说明】外部系统商品 ID(对接第三方平台使用,如外卖、线上商城等)。 【示例】0(用于外部系统商品 ID(对接第三方平台使用,如外卖、线上商城等))。 【JSON字段】out_goods_id。';
|
||
COMMENT ON COLUMN billiards_ods.tenant_goods_master.goods_state IS '【说明】商品状态(上架/下架等)。 【示例】1(用于商品状态(上架/下架等))。 【JSON字段】goods_state。';
|
||
COMMENT ON COLUMN billiards_ods.tenant_goods_master.sale_channel IS '【说明】销售渠道类型,如“门店堂食/线下零售/线上小程序”等的一种编码。 【示例】1(用于销售渠道类型,如“门店堂食/线下零售/线上小程序”等的一种编码)。 【JSON字段】sale_channel。';
|
||
COMMENT ON COLUMN billiards_ods.tenant_goods_master.able_discount IS '【说明】是否允许参与折扣/打折。 【示例】1(用于是否允许参与折扣/打折)。 【JSON字段】able_discount。';
|
||
COMMENT ON COLUMN billiards_ods.tenant_goods_master.able_site_transfer IS '【说明】布尔/开关字段,用于表示权限、可用性或状态开关。。 【示例】2(布尔/开关字段,用于表示权限、可用性或状态开关。)。 【JSON字段】able_site_transfer。';
|
||
COMMENT ON COLUMN billiards_ods.tenant_goods_master.is_delete IS '【说明】逻辑删除标志。 【示例】0(用于逻辑删除标志)。 【JSON字段】is_delete。';
|
||
COMMENT ON COLUMN billiards_ods.tenant_goods_master.is_warehousing IS '【说明】是否启用库存管理。 【示例】1(用于是否启用库存管理)。 【JSON字段】is_warehousing。';
|
||
COMMENT ON COLUMN billiards_ods.tenant_goods_master.isInSite IS '【说明】是否在当前门店启用/上架。 【示例】false(用于是否在当前门店启用/上架)。 【JSON字段】isInSite。';
|
||
COMMENT ON COLUMN billiards_ods.tenant_goods_master.cost_price IS '【说明】成本价格。 【示例】0.0(用于成本价格)。 【JSON字段】cost_price。';
|
||
COMMENT ON COLUMN billiards_ods.tenant_goods_master.cost_price_type IS '【说明】金额字段,用于计费/结算/分摊等金额计算。。 【示例】1(金额字段,用于计费/结算/分摊等金额计算。)。 【JSON字段】cost_price_type。';
|
||
COMMENT ON COLUMN billiards_ods.tenant_goods_master.market_price IS '【说明】商品标价 / 售价(标准销售单价)。 【示例】8.0(用于商品标价 / 售价(标准销售单价))。 【JSON字段】market_price。';
|
||
COMMENT ON COLUMN billiards_ods.tenant_goods_master.min_discount_price IS '【说明】该商品允许售卖的最低价格(底价)。 【示例】0.0(用于该商品允许售卖的最低价格(底价))。 【JSON字段】min_discount_price。';
|
||
COMMENT ON COLUMN billiards_ods.tenant_goods_master.common_sale_royalty IS '【说明】普通销售提成比例或提成金额的配置字段。 【示例】0(用于普通销售提成比例或提成金额的配置字段)。 【JSON字段】common_sale_royalty。';
|
||
COMMENT ON COLUMN billiards_ods.tenant_goods_master.point_sale_royalty IS '【说明】积分销售提成/积分赠送规则相关配置。 【示例】0(用于积分销售提成/积分赠送规则相关配置)。 【JSON字段】point_sale_royalty。';
|
||
COMMENT ON COLUMN billiards_ods.tenant_goods_master.pinyin_initial IS '【说明】拼音首字母/助记码。 【示例】DFSY,DFSX(用于拼音首字母/助记码)。 【JSON字段】pinyin_initial。';
|
||
COMMENT ON COLUMN billiards_ods.tenant_goods_master.commodityCode IS '【说明】与 commodity_code 是同一信息的数组形式(冗余存储),便于支持一个商品对应多个编码的场景。 【示例】["10000028"](用于与 commodity_code 是同一信息的数组形式(冗余存储),便于支持一个商品对应多个编码的场景)。 【JSON字段】commodityCode。';
|
||
COMMENT ON COLUMN billiards_ods.tenant_goods_master.commodity_code IS '【说明】商品编码(通常为对外商品编码或条码)。 【示例】10000028(用于商品编码(通常为对外商品编码或条码))。 【JSON字段】commodity_code。';
|
||
COMMENT ON COLUMN billiards_ods.tenant_goods_master.goods_cover IS '【说明】商品封面图片 URL 地址。 【示例】https://oss.ficoo.vip/admin/ZwS8fj_1753175129443.jpg(用于商品封面图片 URL 地址)。 【JSON字段】goods_cover。';
|
||
COMMENT ON COLUMN billiards_ods.tenant_goods_master.supplier_id IS '【说明】供应商 ID,用于关联到供应商档案。 【示例】0(供应商 ID,用于关联到供应商档案)。 【JSON字段】supplier_id。';
|
||
COMMENT ON COLUMN billiards_ods.tenant_goods_master.remark_name IS '【说明】商品备注名/别名,通常用来配置简写或特殊显示名称。 【示例】NULL(用于商品备注名/别名,通常用来配置简写或特殊显示名称)。 【JSON字段】remark_name。';
|
||
COMMENT ON COLUMN billiards_ods.tenant_goods_master.create_time IS '【说明】商品档案创建时间。 【示例】2025-07-15 17:13:15(用于商品档案创建时间)。 【JSON字段】create_time。';
|
||
COMMENT ON COLUMN billiards_ods.tenant_goods_master.update_time IS '【说明】商品档案最近一次修改时间。 【示例】2025-10-29 23:51:38(用于商品档案最近一次修改时间)。 【JSON字段】update_time。';
|
||
COMMENT ON COLUMN billiards_ods.tenant_goods_master.payload IS '【说明】完整原始 JSON 记录快照,用于回溯与二次解析。 【示例】{...}(完整原始 JSON 记录快照,用于回溯与二次解析)。 【JSON字段】$(整条记录)。';
|
||
COMMENT ON COLUMN billiards_ods.tenant_goods_master.source_file IS '【说明】ETL 元数据:原始导出文件名,用于数据追溯。 【示例】tenant_goods_master.json(ETL 元数据:原始导出文件名,用于数据追溯)。 【JSON字段】无(ETL元数据)。';
|
||
COMMENT ON COLUMN billiards_ods.tenant_goods_master.source_endpoint IS '【说明】ETL 元数据:采集来源(接口/文件路径),用于数据追溯。 【示例】C:/dev/LLTQ/export/test-json-doc/tenant_goods_master.json(ETL 元数据:采集来源(接口/文件路径),用于数据追溯)。 【JSON字段】无(ETL元数据)。';
|
||
COMMENT ON COLUMN billiards_ods.tenant_goods_master.fetched_at IS '【说明】ETL 元数据:采集/入库时间戳,用于口径对齐与增量处理。 【示例】2025-11-10T00:00:00+08:00(ETL 元数据:采集/入库时间戳,用于口径对齐与增量处理)。 【JSON字段】无(ETL元数据)。';
|
||
|
||
|
||
CREATE TABLE IF NOT EXISTS billiards_ods.group_buy_packages (
|
||
id BIGINT PRIMARY KEY,
|
||
package_id BIGINT,
|
||
package_name TEXT,
|
||
selling_price NUMERIC(18,2),
|
||
coupon_money NUMERIC(18,2),
|
||
date_type INT,
|
||
date_info TEXT,
|
||
start_time TIMESTAMP,
|
||
end_time TIMESTAMP,
|
||
start_clock TEXT,
|
||
end_clock TEXT,
|
||
add_start_clock TEXT,
|
||
add_end_clock TEXT,
|
||
duration INT,
|
||
usable_count INT,
|
||
usable_range INT,
|
||
table_area_id BIGINT,
|
||
table_area_name TEXT,
|
||
table_area_id_list JSONB,
|
||
tenant_table_area_id BIGINT,
|
||
tenant_table_area_id_list JSONB,
|
||
site_id BIGINT,
|
||
site_name TEXT,
|
||
tenant_id BIGINT,
|
||
card_type_ids JSONB,
|
||
group_type INT,
|
||
system_group_type INT,
|
||
type INT,
|
||
effective_status INT,
|
||
is_enabled INT,
|
||
is_delete INT,
|
||
max_selectable_categories INT,
|
||
area_tag_type INT,
|
||
creator_name TEXT,
|
||
create_time TIMESTAMP,
|
||
source_file TEXT,
|
||
source_endpoint TEXT,
|
||
fetched_at TIMESTAMPTZ DEFAULT now(),
|
||
payload JSONB NOT NULL
|
||
);
|
||
|
||
COMMENT ON TABLE billiards_ods.group_buy_packages IS 'ODS 原始明细表:团购套餐主数据。来源:C:/dev/LLTQ/export/test-json-doc/group_buy_packages.json;分析:group_buy_packages-Analysis.md。字段以导出原样为主;ETL 补充 source_file/source_endpoint/fetched_at,并保留 payload 为原始记录快照。';
|
||
COMMENT ON COLUMN billiards_ods.group_buy_packages.id IS '【说明】门店侧套餐 ID,本文件内部的主键。 【示例】2939215004469573(用于门店侧套餐 ID,本文件内部的主键)。 【JSON字段】id。';
|
||
COMMENT ON COLUMN billiards_ods.group_buy_packages.package_id IS '【说明】“上层套餐 ID” 或“总部/系统级套餐 ID”。 【示例】1814707240811572(用于“上层套餐 ID” 或“总部/系统级套餐 ID”)。 【JSON字段】package_id。';
|
||
COMMENT ON COLUMN billiards_ods.group_buy_packages.package_name IS '【说明】团购套餐名称,用于前台展示和核销界面。 【示例】早场特惠一小时(团购套餐名称,用于前台展示和核销界面)。 【JSON字段】package_name。';
|
||
COMMENT ON COLUMN billiards_ods.group_buy_packages.selling_price IS '【说明】语义上应该是“团购售卖价”(顾客在平台购买券时的成交价格)。 【示例】0.0(用于语义上应该是“团购售卖价”(顾客在平台购买券时的成交价格))。 【JSON字段】selling_price。';
|
||
COMMENT ON COLUMN billiards_ods.group_buy_packages.coupon_money IS '【说明】券面值或内部结算面值,表示该套餐在门店侧对应的金额额度。 【示例】0.0(用于券面值或内部结算面值,表示该套餐在门店侧对应的金额额度)。 【JSON字段】coupon_money。';
|
||
COMMENT ON COLUMN billiards_ods.group_buy_packages.date_type IS '【说明】来自 JSON 导出的原始字段,用于保留业务取值。。 【示例】1(来自 JSON 导出的原始字段,用于保留业务取值。)。 【JSON字段】date_type。';
|
||
COMMENT ON COLUMN billiards_ods.group_buy_packages.date_info IS '【说明】预留字段,通常用来存储更细粒度的日期信息,如具体日期列表、节假日特殊规则(可能是 JSON 字符串或编码)。 【示例】0(用于预留字段,通常用来存储更细粒度的日期信息,如具体日期列表、节假日特殊规则(可能是 JSON 字符串或编码))。 【JSON字段】date_info。';
|
||
COMMENT ON COLUMN billiards_ods.group_buy_packages.start_time IS '【说明】套餐开始生效的日期时间。 【示例】2025-10-27 00:00:00(用于套餐开始生效的日期时间)。 【JSON字段】start_time。';
|
||
COMMENT ON COLUMN billiards_ods.group_buy_packages.end_time IS '【说明】套餐失效的日期时间(到这个时间点后不可使用)。 【示例】2026-10-28 00:00:00(用于套餐失效的日期时间(到这个时间点后不可使用))。 【JSON字段】end_time。';
|
||
COMMENT ON COLUMN billiards_ods.group_buy_packages.start_clock IS '【说明】每日可用起始时间点(第一段)。 【示例】00:00:00(用于每日可用起始时间点(第一段))。 【JSON字段】start_clock。';
|
||
COMMENT ON COLUMN billiards_ods.group_buy_packages.end_clock IS '【说明】每日可用的结束时间点(第一段)。 【示例】1.00:00:00(用于每日可用的结束时间点(第一段))。 【JSON字段】end_clock。';
|
||
COMMENT ON COLUMN billiards_ods.group_buy_packages.add_start_clock IS '【说明】附加可用时间段的起始时间(第二段)。 【示例】00:00:00(用于附加可用时间段的起始时间(第二段))。 【JSON字段】add_start_clock。';
|
||
COMMENT ON COLUMN billiards_ods.group_buy_packages.add_end_clock IS '【说明】附加时段结束时间,多数情况配合 "00:00:00" 或 "10:00:00" 使用。 【示例】1.00:00:00(用于附加时段结束时间,多数情况配合 "00:00:00" 或 "10:00:00" 使用)。 【JSON字段】add_end_clock。';
|
||
COMMENT ON COLUMN billiards_ods.group_buy_packages.duration IS '【说明】套餐内包含的时长(秒)。 【示例】3600(用于套餐内包含的时长(秒))。 【JSON字段】duration。';
|
||
COMMENT ON COLUMN billiards_ods.group_buy_packages.usable_count IS '【说明】可使用次数上限。 【示例】9999999(用于可使用次数上限)。 【JSON字段】usable_count。';
|
||
COMMENT ON COLUMN billiards_ods.group_buy_packages.usable_range IS '【说明】一般用于文字描述可用日期范围(例如“周一至周五”)。 【示例】NULL(一般用于文字描述可用日期范围(例如“周一至周五”))。 【JSON字段】usable_range。';
|
||
COMMENT ON COLUMN billiards_ods.group_buy_packages.table_area_id IS '【说明】原始设计应为“单一台区 ID”,当套餐只限一个区域可以用这个字段存储。 【示例】0(用于原始设计应为“单一台区 ID”,当套餐只限一个区域可以用这个字段存储)。 【JSON字段】table_area_id。';
|
||
COMMENT ON COLUMN billiards_ods.group_buy_packages.table_area_name IS '【说明】套餐适用的“门店台区名称”,用于显示和筛选。 【示例】A区(套餐适用的“门店台区名称”,用于显示和筛选)。 【JSON字段】table_area_name。';
|
||
COMMENT ON COLUMN billiards_ods.group_buy_packages.table_area_id_list IS '【说明】用来存放具体台区 ID 列表(例如 "1,2,3"),实现更细粒度的台桌限制。 【示例】NULL(用于用来存放具体台区 ID 列表(例如 "1,2,3"),实现更细粒度的台桌限制)。 【JSON字段】table_area_id_list。';
|
||
COMMENT ON COLUMN billiards_ods.group_buy_packages.tenant_table_area_id IS '【说明】与 table_area_id 类似,是租户层级的台区 ID,原本用于单区选择。 【示例】0(与 table_area_id 类似,是租户层级的台区 ID,原本用于单区选择)。 【JSON字段】tenant_table_area_id。';
|
||
COMMENT ON COLUMN billiards_ods.group_buy_packages.tenant_table_area_id_list IS '【说明】实际代表“台区集合 ID”或“租户台区配置 ID”,用来限制套餐可用的台区范围。 【示例】2791960001957765(用于实际代表“台区集合 ID”或“租户台区配置 ID”,用来限制套餐可用的台区范围)。 【JSON字段】tenant_table_area_id_list。';
|
||
COMMENT ON COLUMN billiards_ods.group_buy_packages.site_id IS '【说明】门店 ID。 【示例】2790685415443269(用于门店 ID)。 【JSON字段】site_id。';
|
||
COMMENT ON COLUMN billiards_ods.group_buy_packages.site_name IS '【说明】门店名称。 【示例】朗朗桌球(用于门店名称)。 【JSON字段】site_name。';
|
||
COMMENT ON COLUMN billiards_ods.group_buy_packages.tenant_id IS '【说明】租户 ID(品牌/商户 ID)。 【示例】2790683160709957(用于租户 ID(品牌/商户 ID))。 【JSON字段】tenant_id。';
|
||
COMMENT ON COLUMN billiards_ods.group_buy_packages.card_type_ids IS '【说明】原意是“适用会员卡类型 ID 列表”,例如某套餐只允许某几种会员卡使用,可以在此配置。 【示例】0(用于原意是“适用会员卡类型 ID 列表”,例如某套餐只允许某几种会员卡使用,可以在此配置)。 【JSON字段】card_type_ids。';
|
||
COMMENT ON COLUMN billiards_ods.group_buy_packages.group_type IS '【说明】来自 JSON 导出的原始字段,用于保留业务取值。。 【示例】1(来自 JSON 导出的原始字段,用于保留业务取值。)。 【JSON字段】group_type。';
|
||
COMMENT ON COLUMN billiards_ods.group_buy_packages.system_group_type IS '【说明】来自 JSON 导出的原始字段,用于保留业务取值。。 【示例】1(来自 JSON 导出的原始字段,用于保留业务取值。)。 【JSON字段】system_group_type。';
|
||
COMMENT ON COLUMN billiards_ods.group_buy_packages.type IS '【说明】内部业务子类型,具体含义需要结合系统文档。 【示例】2(用于内部业务子类型,具体含义需要结合系统文档)。 【JSON字段】type。';
|
||
COMMENT ON COLUMN billiards_ods.group_buy_packages.effective_status IS '【说明】1:13 条。 【示例】1(用于1:13 条)。 【JSON字段】effective_status。';
|
||
COMMENT ON COLUMN billiards_ods.group_buy_packages.is_enabled IS '【说明】启用状态。 【示例】1(用于启用状态)。 【JSON字段】is_enabled。';
|
||
COMMENT ON COLUMN billiards_ods.group_buy_packages.is_delete IS '【说明】逻辑删除标志。 【示例】0(用于逻辑删除标志)。 【JSON字段】is_delete。';
|
||
COMMENT ON COLUMN billiards_ods.group_buy_packages.max_selectable_categories IS '【说明】来自 JSON 导出的原始字段,用于保留业务取值。 【示例】0(来自 JSON 导出的原始字段,用于保留业务取值)。 【JSON字段】max_selectable_categories。';
|
||
COMMENT ON COLUMN billiards_ods.group_buy_packages.area_tag_type IS '【说明】1 很可能代表“按台区标签限制”,例如 A区、中八区、包厢、KTV 等。 【示例】1(用于1 很可能代表“按台区标签限制”,例如 A区、中八区、包厢、KTV 等)。 【JSON字段】area_tag_type。';
|
||
COMMENT ON COLUMN billiards_ods.group_buy_packages.creator_name IS '【说明】创建人信息,一般包含“角色:姓名”。 【示例】店长:郑丽珊(用于创建人信息,一般包含“角色:姓名”)。 【JSON字段】creator_name。';
|
||
COMMENT ON COLUMN billiards_ods.group_buy_packages.create_time IS '【说明】该套餐在系统中创建的时间。 【示例】2025-10-27 18:24:09(用于该套餐在系统中创建的时间)。 【JSON字段】create_time。';
|
||
COMMENT ON COLUMN billiards_ods.group_buy_packages.source_file IS '【说明】ETL 元数据:原始导出文件名,用于数据追溯。 【示例】group_buy_packages.json(ETL 元数据:原始导出文件名,用于数据追溯)。 【JSON字段】无(ETL元数据)。';
|
||
COMMENT ON COLUMN billiards_ods.group_buy_packages.source_endpoint IS '【说明】ETL 元数据:采集来源(接口/文件路径),用于数据追溯。 【示例】C:/dev/LLTQ/export/test-json-doc/group_buy_packages.json(ETL 元数据:采集来源(接口/文件路径),用于数据追溯)。 【JSON字段】无(ETL元数据)。';
|
||
COMMENT ON COLUMN billiards_ods.group_buy_packages.fetched_at IS '【说明】ETL 元数据:采集/入库时间戳,用于口径对齐与增量处理。 【示例】2025-11-10T00:00:00+08:00(ETL 元数据:采集/入库时间戳,用于口径对齐与增量处理)。 【JSON字段】无(ETL元数据)。';
|
||
COMMENT ON COLUMN billiards_ods.group_buy_packages.payload IS '【说明】完整原始 JSON 记录快照,用于回溯与二次解析。 【示例】{...}(完整原始 JSON 记录快照,用于回溯与二次解析)。 【JSON字段】$(整条记录)。';
|
||
|
||
|
||
CREATE TABLE IF NOT EXISTS billiards_ods.group_buy_redemption_records (
|
||
id BIGINT PRIMARY KEY,
|
||
tenant_id BIGINT,
|
||
site_id BIGINT,
|
||
siteName TEXT,
|
||
table_id BIGINT,
|
||
tableName TEXT,
|
||
tableAreaName TEXT,
|
||
tenant_table_area_id BIGINT,
|
||
order_trade_no TEXT,
|
||
order_settle_id BIGINT,
|
||
order_pay_id BIGINT,
|
||
order_coupon_id BIGINT,
|
||
order_coupon_channel INT,
|
||
coupon_code TEXT,
|
||
coupon_money NUMERIC(18,2),
|
||
coupon_origin_id BIGINT,
|
||
ledger_name TEXT,
|
||
ledger_group_name TEXT,
|
||
ledger_amount NUMERIC(18,2),
|
||
ledger_count NUMERIC(18,4),
|
||
ledger_unit_price NUMERIC(18,4),
|
||
ledger_status INT,
|
||
table_charge_seconds INT,
|
||
promotion_activity_id BIGINT,
|
||
promotion_coupon_id BIGINT,
|
||
promotion_seconds INT,
|
||
offer_type INT,
|
||
assistant_promotion_money NUMERIC(18,2),
|
||
assistant_service_promotion_money NUMERIC(18,2),
|
||
table_service_promotion_money NUMERIC(18,2),
|
||
goods_promotion_money NUMERIC(18,2),
|
||
recharge_promotion_money NUMERIC(18,2),
|
||
reward_promotion_money NUMERIC(18,2),
|
||
goodsOptionPrice NUMERIC(18,2),
|
||
salesman_name TEXT,
|
||
sales_man_org_id BIGINT,
|
||
salesman_role_id BIGINT,
|
||
salesman_user_id BIGINT,
|
||
operator_id BIGINT,
|
||
operator_name TEXT,
|
||
is_single_order INT,
|
||
is_delete INT,
|
||
create_time TIMESTAMP,
|
||
payload JSONB NOT NULL,
|
||
source_file TEXT,
|
||
source_endpoint TEXT,
|
||
fetched_at TIMESTAMPTZ DEFAULT now()
|
||
);
|
||
|
||
COMMENT ON TABLE billiards_ods.group_buy_redemption_records IS 'ODS 原始明细表:团购核销记录。来源:C:/dev/LLTQ/export/test-json-doc/group_buy_redemption_records.json;分析:group_buy_redemption_records-Analysis.md。字段以导出原样为主;ETL 补充 source_file/source_endpoint/fetched_at,并保留 payload 为原始记录快照。';
|
||
COMMENT ON COLUMN billiards_ods.group_buy_redemption_records.id IS '【说明】本条“团购套餐流水”记录的 主键 ID。 【示例】2957924029615941(用于本条“团购套餐流水”记录的 主键 ID)。 【JSON字段】id。';
|
||
COMMENT ON COLUMN billiards_ods.group_buy_redemption_records.tenant_id IS '【说明】租户/品牌 ID。 【示例】2790683160709957(用于租户/品牌 ID)。 【JSON字段】tenant_id。';
|
||
COMMENT ON COLUMN billiards_ods.group_buy_redemption_records.site_id IS '【说明】门店 ID,与其它 JSON 中一致。 【示例】2790685415443269(用于门店 ID,与其它 JSON 中一致)。 【JSON字段】site_id。';
|
||
COMMENT ON COLUMN billiards_ods.group_buy_redemption_records.siteName IS '【说明】门店名称,冗余展示用。 【示例】朗朗桌球(用于门店名称,冗余展示用)。 【JSON字段】siteName。';
|
||
COMMENT ON COLUMN billiards_ods.group_buy_redemption_records.table_id IS '【说明】球台 ID。 【示例】2793003705192517(用于球台 ID)。 【JSON字段】table_id。';
|
||
COMMENT ON COLUMN billiards_ods.group_buy_redemption_records.tableName IS '【说明】本次使用券所关联的 球台名称/台号。 【示例】A17(用于本次使用券所关联的 球台名称/台号)。 【JSON字段】tableName。';
|
||
COMMENT ON COLUMN billiards_ods.group_buy_redemption_records.tableAreaName IS '【说明】该球台所属的 台区名称。 【示例】A区(用于该球台所属的 台区名称)。 【JSON字段】tableAreaName。';
|
||
COMMENT ON COLUMN billiards_ods.group_buy_redemption_records.tenant_table_area_id IS '【说明】租户级台区分组 ID,表示当前使用券的台桌所属的区域组合。 【示例】2791960001957765(用于租户级台区分组 ID,表示当前使用券的台桌所属的区域组合)。 【JSON字段】tenant_table_area_id。';
|
||
COMMENT ON COLUMN billiards_ods.group_buy_redemption_records.order_trade_no IS '【说明】订单交易号,和其它消费明细(台费、商品、助教、团购)共用的订单主键。 【示例】2957858167230149(用于订单交易号,和其它消费明细(台费、商品、助教、团购)共用的订单主键)。 【JSON字段】order_trade_no。';
|
||
COMMENT ON COLUMN billiards_ods.group_buy_redemption_records.order_settle_id IS '【说明】结算单 ID(小票结账主键)。 【示例】2957922914357125(用于结算单 ID(小票结账主键))。 【JSON字段】order_settle_id。';
|
||
COMMENT ON COLUMN billiards_ods.group_buy_redemption_records.order_pay_id IS '【说明】指向支付记录表中的支付流水 ID。 【示例】0(用于指向支付记录表中的支付流水 ID)。 【JSON字段】order_pay_id。';
|
||
COMMENT ON COLUMN billiards_ods.group_buy_redemption_records.order_coupon_id IS '【说明】订单中“券使用记录”的 ID。 【示例】2957858168229573(用于订单中“券使用记录”的 ID)。 【JSON字段】order_coupon_id。';
|
||
COMMENT ON COLUMN billiards_ods.group_buy_redemption_records.order_coupon_channel IS '【说明】来自 JSON 导出的原始字段,用于保留业务取值。。 【示例】1(来自 JSON 导出的原始字段,用于保留业务取值。)。 【JSON字段】order_coupon_channel。';
|
||
COMMENT ON COLUMN billiards_ods.group_buy_redemption_records.coupon_code IS '【说明】团购券券码,核销时扫描/录入的字符串。 【示例】0107892475999(用于团购券券码,核销时扫描/录入的字符串)。 【JSON字段】coupon_code。';
|
||
COMMENT ON COLUMN billiards_ods.group_buy_redemption_records.coupon_money IS '【说明】本次核销时,这张券在门店侧对应的金额额度(“可抵扣金额”)。 【示例】48.0(用于本次核销时,这张券在门店侧对应的金额额度(“可抵扣金额”))。 【JSON字段】coupon_money。';
|
||
COMMENT ON COLUMN billiards_ods.group_buy_redemption_records.coupon_origin_id IS '【说明】平台/上游系统中的券记录主键 ID,“券来源 ID”。 【示例】2957858168229573(用于平台/上游系统中的券记录主键 ID,“券来源 ID”)。 【JSON字段】coupon_origin_id。';
|
||
COMMENT ON COLUMN billiards_ods.group_buy_redemption_records.ledger_name IS '【说明】台费侧关联的“团购项目名称”(记账名)。 【示例】全天A区中八一小时(用于台费侧关联的“团购项目名称”(记账名))。 【JSON字段】ledger_name。';
|
||
COMMENT ON COLUMN billiards_ods.group_buy_redemption_records.ledger_group_name IS '【说明】团购项目所属的“记账分组名称”(例如“团购台费”“团购包厢”等)。 【示例】NULL(用于团购项目所属的“记账分组名称”(例如“团购台费”“团购包厢”等))。 【JSON字段】ledger_group_name。';
|
||
COMMENT ON COLUMN billiards_ods.group_buy_redemption_records.ledger_amount IS '【说明】本次券实际冲抵台费的金额。 【示例】48.0(用于本次券实际冲抵台费的金额)。 【JSON字段】ledger_amount。';
|
||
COMMENT ON COLUMN billiards_ods.group_buy_redemption_records.ledger_count IS '【说明】按此次优惠实际计算的“核销秒数”。 【示例】3600(用于按此次优惠实际计算的“核销秒数”)。 【JSON字段】ledger_count。';
|
||
COMMENT ON COLUMN billiards_ods.group_buy_redemption_records.ledger_unit_price IS '【说明】对应台费的标准单价,单位元/小时(从数值来看是类似29.9/小时这种定价)。 【示例】29.9(用于对应台费的标准单价,单位元/小时(从数值来看是类似29.9/小时这种定价))。 【JSON字段】ledger_unit_price。';
|
||
COMMENT ON COLUMN billiards_ods.group_buy_redemption_records.ledger_status IS '【说明】流水状态。 【示例】1(用于流水状态)。 【JSON字段】ledger_status。';
|
||
COMMENT ON COLUMN billiards_ods.group_buy_redemption_records.table_charge_seconds IS '【说明】本次结算中该球台总计计费的秒数(整台的台费计费时间)。 【示例】3600(用于本次结算中该球台总计计费的秒数(整台的台费计费时间))。 【JSON字段】table_charge_seconds。';
|
||
COMMENT ON COLUMN billiards_ods.group_buy_redemption_records.promotion_activity_id IS '【说明】团购/促销活动 ID。 【示例】2957858166460101(用于团购/促销活动 ID)。 【JSON字段】promotion_activity_id。';
|
||
COMMENT ON COLUMN billiards_ods.group_buy_redemption_records.promotion_coupon_id IS '【说明】团购套餐定义 ID。 【示例】2798727423528005(用于团购套餐定义 ID)。 【JSON字段】promotion_coupon_id。';
|
||
COMMENT ON COLUMN billiards_ods.group_buy_redemption_records.promotion_seconds IS '【说明】团购套餐定义的“标准时长”(券本身标称的可用时长)。 【示例】3600(用于团购套餐定义的“标准时长”(券本身标称的可用时长))。 【JSON字段】promotion_seconds。';
|
||
COMMENT ON COLUMN billiards_ods.group_buy_redemption_records.offer_type IS '【说明】优惠类型。 【示例】1(用于优惠类型)。 【JSON字段】offer_type。';
|
||
COMMENT ON COLUMN billiards_ods.group_buy_redemption_records.assistant_promotion_money IS '【说明】分摊到“助教服务”的促销金额。 【示例】0.0(用于分摊到“助教服务”的促销金额)。 【JSON字段】assistant_promotion_money。';
|
||
COMMENT ON COLUMN billiards_ods.group_buy_redemption_records.assistant_service_promotion_money IS '【说明】进一步细分助教服务的促销金额。 【示例】0.0(用于进一步细分助教服务的促销金额)。 【JSON字段】assistant_service_promotion_money。';
|
||
COMMENT ON COLUMN billiards_ods.group_buy_redemption_records.table_service_promotion_money IS '【说明】本次券使用中,分摊到“台费服务费”部分的促销金额。 【示例】0.0(用于本次券使用中,分摊到“台费服务费”部分的促销金额)。 【JSON字段】table_service_promotion_money。';
|
||
COMMENT ON COLUMN billiards_ods.group_buy_redemption_records.goods_promotion_money IS '【说明】本次券使用中,分摊到“商品”部分的促销金额。 【示例】0.0(用于本次券使用中,分摊到“商品”部分的促销金额)。 【JSON字段】goods_promotion_money。';
|
||
COMMENT ON COLUMN billiards_ods.group_buy_redemption_records.recharge_promotion_money IS '【说明】来自“充值类优惠”的分摊金额(例如储值赠送部分)。 【示例】0.0(用于来自“充值类优惠”的分摊金额(例如储值赠送部分))。 【JSON字段】recharge_promotion_money。';
|
||
COMMENT ON COLUMN billiards_ods.group_buy_redemption_records.reward_promotion_money IS '【说明】本次促销中,属于“奖励金/积分抵扣”的金额。 【示例】0.0(用于本次促销中,属于“奖励金/积分抵扣”的金额)。 【JSON字段】reward_promotion_money。';
|
||
COMMENT ON COLUMN billiards_ods.group_buy_redemption_records.goodsOptionPrice IS '【说明】商品规格价格,用于商品类促销分摊时使用。 【示例】0.0(商品规格价格,用于商品类促销分摊时使用)。 【JSON字段】goodsOptionPrice。';
|
||
COMMENT ON COLUMN billiards_ods.group_buy_redemption_records.salesman_name IS '【说明】营业员姓名。 【示例】NULL(用于营业员姓名)。 【JSON字段】salesman_name。';
|
||
COMMENT ON COLUMN billiards_ods.group_buy_redemption_records.sales_man_org_id IS '【说明】营业员所属组织 ID。 【示例】0(用于营业员所属组织 ID)。 【JSON字段】sales_man_org_id。';
|
||
COMMENT ON COLUMN billiards_ods.group_buy_redemption_records.salesman_role_id IS '【说明】营业员角色 ID。 【示例】0(用于营业员角色 ID)。 【JSON字段】salesman_role_id。';
|
||
COMMENT ON COLUMN billiards_ods.group_buy_redemption_records.salesman_user_id IS '【说明】营业员/业务员用户 ID。 【示例】0(用于营业员/业务员用户 ID)。 【JSON字段】salesman_user_id。';
|
||
COMMENT ON COLUMN billiards_ods.group_buy_redemption_records.operator_id IS '【说明】执行本次核销/结算操作的 操作员 ID。 【示例】2790687322443013(用于执行本次核销/结算操作的 操作员 ID)。 【JSON字段】operator_id。';
|
||
COMMENT ON COLUMN billiards_ods.group_buy_redemption_records.operator_name IS '【说明】操作员名称(包含角色说明),与 operator_id 对应的冗余展示字段。 【示例】收银员:郑丽珊(用于操作员名称(包含角色说明),与 operator_id 对应的冗余展示字段)。 【JSON字段】operator_name。';
|
||
COMMENT ON COLUMN billiards_ods.group_buy_redemption_records.is_single_order IS '【说明】是否单独作为一条订单行。 【示例】1(用于是否单独作为一条订单行)。 【JSON字段】is_single_order。';
|
||
COMMENT ON COLUMN billiards_ods.group_buy_redemption_records.is_delete IS '【说明】逻辑删除标记(0=否,1=是)。。 【示例】0(用于逻辑删除标记(0=否,1=是))。 【JSON字段】is_delete。';
|
||
COMMENT ON COLUMN billiards_ods.group_buy_redemption_records.create_time IS '【说明】本条团购套餐使用流水创建时间(即券核销时间,或与结账时间接近)。 【示例】2025-11-09 23:35:57(用于本条团购套餐使用流水创建时间(即券核销时间,或与结账时间接近))。 【JSON字段】create_time。';
|
||
COMMENT ON COLUMN billiards_ods.group_buy_redemption_records.payload IS '【说明】完整原始 JSON 记录快照,用于回溯与二次解析。 【示例】{...}(完整原始 JSON 记录快照,用于回溯与二次解析)。 【JSON字段】$(整条记录)。';
|
||
COMMENT ON COLUMN billiards_ods.group_buy_redemption_records.source_file IS '【说明】ETL 元数据:原始导出文件名,用于数据追溯。 【示例】group_buy_redemption_records.json(ETL 元数据:原始导出文件名,用于数据追溯)。 【JSON字段】无(ETL元数据)。';
|
||
COMMENT ON COLUMN billiards_ods.group_buy_redemption_records.source_endpoint IS '【说明】ETL 元数据:采集来源(接口/文件路径),用于数据追溯。 【示例】C:/dev/LLTQ/export/test-json-doc/group_buy_redemption_records.json(ETL 元数据:采集来源(接口/文件路径),用于数据追溯)。 【JSON字段】无(ETL元数据)。';
|
||
COMMENT ON COLUMN billiards_ods.group_buy_redemption_records.fetched_at IS '【说明】ETL 元数据:采集/入库时间戳,用于口径对齐与增量处理。 【示例】2025-11-10T00:00:00+08:00(ETL 元数据:采集/入库时间戳,用于口径对齐与增量处理)。 【JSON字段】无(ETL元数据)。';
|
||
|
||
|
||
CREATE TABLE IF NOT EXISTS billiards_ods.settlement_ticket_details (
|
||
orderSettleId BIGINT PRIMARY KEY,
|
||
actualPayment NUMERIC(18,2),
|
||
adjustAmount NUMERIC(18,2),
|
||
assistantManualDiscount NUMERIC(18,2),
|
||
balanceAmount NUMERIC(18,2),
|
||
cashierName TEXT,
|
||
consumeMoney NUMERIC(18,2),
|
||
couponAmount NUMERIC(18,2),
|
||
deliveryAddress TEXT,
|
||
deliveryFee NUMERIC(18,2),
|
||
ledgerAmount NUMERIC(18,2),
|
||
memberDeductAmount NUMERIC(18,2),
|
||
memberOfferAmount NUMERIC(18,2),
|
||
onlineReturnAmount NUMERIC(18,2),
|
||
orderRemark TEXT,
|
||
orderSettleNumber BIGINT,
|
||
payMemberBalance NUMERIC(18,2),
|
||
payTime TIMESTAMP,
|
||
paymentMethod INT,
|
||
pointDiscountCost NUMERIC(18,2),
|
||
pointDiscountPrice NUMERIC(18,2),
|
||
prepayMoney NUMERIC(18,2),
|
||
refundAmount NUMERIC(18,2),
|
||
returnGoodsAmount NUMERIC(18,2),
|
||
rewardName TEXT,
|
||
settleType TEXT,
|
||
siteAddress TEXT,
|
||
siteBusinessTel TEXT,
|
||
siteId BIGINT,
|
||
siteName TEXT,
|
||
tenantId BIGINT,
|
||
tenantName TEXT,
|
||
ticketCustomContent TEXT,
|
||
ticketRemark TEXT,
|
||
voucherMoney NUMERIC(18,2),
|
||
memberProfile JSONB,
|
||
orderItem JSONB,
|
||
tenantMemberCardLogs JSONB,
|
||
payload JSONB NOT NULL,
|
||
source_file TEXT,
|
||
source_endpoint TEXT,
|
||
fetched_at TIMESTAMPTZ DEFAULT now()
|
||
);
|
||
|
||
COMMENT ON TABLE billiards_ods.settlement_ticket_details IS 'ODS 原始明细表:结算小票明细。来源:C:/dev/LLTQ/export/test-json-doc/settlement_ticket_details.json;分析:settlement_ticket_details-Analysis.md。字段以导出原样为主;ETL 补充 source_file/source_endpoint/fetched_at,并保留 payload 为原始记录快照。';
|
||
COMMENT ON COLUMN billiards_ods.settlement_ticket_details.orderSettleId IS '【说明】结算单 ID(和顶层字段相同,再次冗余)。 【示例】2957922914357125(用于结算单 ID(和顶层字段相同,再次冗余))。 【JSON字段】orderSettleId。';
|
||
COMMENT ON COLUMN billiards_ods.settlement_ticket_details.actualPayment IS '【说明】本单实际支付金额总和(顾客本次实际付出:现金 + 线上 + 会员余额等)。 【示例】NULL(用于本单实际支付金额总和(顾客本次实际付出:现金 + 线上 + 会员余额等))。 【JSON字段】actualPayment。';
|
||
COMMENT ON COLUMN billiards_ods.settlement_ticket_details.adjustAmount IS '【说明】人工调价/整单调整金额(例如手工改价、折扣调整),是所有类型的手工调整合计。 【示例】NULL(用于人工调价/整单调整金额(例如手工改价、折扣调整),是所有类型的手工调整合计)。 【JSON字段】adjustAmount。';
|
||
COMMENT ON COLUMN billiards_ods.settlement_ticket_details.assistantManualDiscount IS '【说明】针对“助教项目”的人工减免金额汇总(整单维度)。 【示例】NULL(用于针对“助教项目”的人工减免金额汇总(整单维度))。 【JSON字段】assistantManualDiscount。';
|
||
COMMENT ON COLUMN billiards_ods.settlement_ticket_details.balanceAmount IS '【说明】本单通过“会员余额/储值卡”支付的金额(从余额中扣除的总额)。 【示例】NULL(用于本单通过“会员余额/储值卡”支付的金额(从余额中扣除的总额))。 【JSON字段】balanceAmount。';
|
||
COMMENT ON COLUMN billiards_ods.settlement_ticket_details.cashierName IS '【说明】本单结算操作员名称(带角色前缀文字)。 【示例】NULL(用于本单结算操作员名称(带角色前缀文字))。 【JSON字段】cashierName。';
|
||
COMMENT ON COLUMN billiards_ods.settlement_ticket_details.consumeMoney IS '【说明】本单“消费金额总计”(原价层面),即台费 + 商品 + 助教 + 服务等消费项目的金额总和(未扣除各类优惠)。 【示例】NULL(用于本单“消费金额总计”(原价层面),即台费 + 商品 + 助教 + 服务等消费项目的金额总和(未扣除各类优惠))。 【JSON字段】consumeMoney。';
|
||
COMMENT ON COLUMN billiards_ods.settlement_ticket_details.couponAmount IS '【说明】本单由优惠券抵扣的金额汇总。 【示例】NULL(用于本单由优惠券抵扣的金额汇总)。 【JSON字段】couponAmount。';
|
||
COMMENT ON COLUMN billiards_ods.settlement_ticket_details.deliveryAddress IS '【说明】配送地址(若存在外送业务时使用)。 【示例】NULL(用于配送地址(若存在外送业务时使用))。 【JSON字段】deliveryAddress。';
|
||
COMMENT ON COLUMN billiards_ods.settlement_ticket_details.deliveryFee IS '【说明】配送费金额(如果支持外送业务)。 【示例】NULL(用于配送费金额(如果支持外送业务))。 【JSON字段】deliveryFee。';
|
||
COMMENT ON COLUMN billiards_ods.settlement_ticket_details.ledgerAmount IS '【说明】商品小计金额(通常 = 单价 × 数量,未考虑其他折扣)。 【示例】NULL(用于商品小计金额(通常 = 单价 × 数量,未考虑其他折扣))。 【JSON字段】ledgerAmount。';
|
||
COMMENT ON COLUMN billiards_ods.settlement_ticket_details.memberDeductAmount IS '【说明】会员抵扣的某种数量或金额(例如积分抵现金额、次卡次数抵扣等),当前数据未启用。 【示例】NULL(用于会员抵扣的某种数量或金额(例如积分抵现金额、次卡次数抵扣等),当前数据未启用)。 【JSON字段】memberDeductAmount。';
|
||
COMMENT ON COLUMN billiards_ods.settlement_ticket_details.memberOfferAmount IS '【说明】由“会员权益/折扣”产生的优惠金额总计(整单维度)。 【示例】NULL(用于由“会员权益/折扣”产生的优惠金额总计(整单维度))。 【JSON字段】memberOfferAmount。';
|
||
COMMENT ON COLUMN billiards_ods.settlement_ticket_details.onlineReturnAmount IS '【说明】本单通过线上支付渠道退回的金额(如微信/支付宝退款)。 【示例】NULL(用于本单通过线上支付渠道退回的金额(如微信/支付宝退款))。 【JSON字段】onlineReturnAmount。';
|
||
COMMENT ON COLUMN billiards_ods.settlement_ticket_details.orderRemark IS '【说明】订单备注,由收银员录入,用于记录与本单相关的特殊说明。 【示例】NULL(订单备注,由收银员录入,用于记录与本单相关的特殊说明)。 【JSON字段】orderRemark。';
|
||
COMMENT ON COLUMN billiards_ods.settlement_ticket_details.orderSettleNumber IS '【说明】结算单编号(与 ID 独立的一套编号体系,如流水号)。 【示例】NULL(用于结算单编号(与 ID 独立的一套编号体系,如流水号))。 【JSON字段】orderSettleNumber。';
|
||
COMMENT ON COLUMN billiards_ods.settlement_ticket_details.payMemberBalance IS '【说明】使用会员余额支付的金额,用于区分与 balanceAmount 的不同维度(如“本次支付使用余额部分”与“余额本身变化”等),当前未实际使用。 【示例】NULL(使用会员余额支付的金额,用于区分与 balanceAmount 的不同维度(如“本次支付使用余额部分”与“余额本身变化”等),当前未实际使用)。 【JSON字段】payMemberBalance。';
|
||
COMMENT ON COLUMN billiards_ods.settlement_ticket_details.payTime IS '【说明】本单最终支付成功时间。 【示例】NULL(用于本单最终支付成功时间)。 【JSON字段】payTime。';
|
||
COMMENT ON COLUMN billiards_ods.settlement_ticket_details.paymentMethod IS '【说明】结算主支付方式编码(汇总视角)。 【示例】NULL(用于结算主支付方式编码(汇总视角))。 【JSON字段】paymentMethod。';
|
||
COMMENT ON COLUMN billiards_ods.settlement_ticket_details.pointDiscountCost IS '【说明】积分抵扣对应的成本金额(成本侧)。 【示例】NULL(用于积分抵扣对应的成本金额(成本侧))。 【JSON字段】pointDiscountCost。';
|
||
COMMENT ON COLUMN billiards_ods.settlement_ticket_details.pointDiscountPrice IS '【说明】积分抵扣对应的金额(售价侧)。 【示例】NULL(用于积分抵扣对应的金额(售价侧))。 【JSON字段】pointDiscountPrice。';
|
||
COMMENT ON COLUMN billiards_ods.settlement_ticket_details.prepayMoney IS '【说明】预付金/定金在本单中使用的金额。 【示例】NULL(用于预付金/定金在本单中使用的金额)。 【JSON字段】prepayMoney。';
|
||
COMMENT ON COLUMN billiards_ods.settlement_ticket_details.refundAmount IS '【说明】本单涉及的退款金额(汇总)。 【示例】NULL(用于本单涉及的退款金额(汇总))。 【JSON字段】refundAmount。';
|
||
COMMENT ON COLUMN billiards_ods.settlement_ticket_details.returnGoodsAmount IS '【说明】本单涉及的退货金额汇总。 【示例】NULL(用于本单涉及的退货金额汇总)。 【JSON字段】returnGoodsAmount。';
|
||
COMMENT ON COLUMN billiards_ods.settlement_ticket_details.rewardName IS '【说明】用于标识本单适用的激励方案名称,可能用于内部绩效或活动名称展示。 【示例】NULL(用于标识本单适用的激励方案名称,可能用于内部绩效或活动名称展示)。 【JSON字段】rewardName。';
|
||
COMMENT ON COLUMN billiards_ods.settlement_ticket_details.settleType IS '【说明】结算类型字符串标识。 【示例】NULL(用于结算类型字符串标识)。 【JSON字段】settleType。';
|
||
COMMENT ON COLUMN billiards_ods.settlement_ticket_details.siteAddress IS '【说明】门店地址(详细地址)。 【示例】NULL(用于门店地址(详细地址))。 【JSON字段】siteAddress。';
|
||
COMMENT ON COLUMN billiards_ods.settlement_ticket_details.siteBusinessTel IS '【说明】门店电话。 【示例】NULL(用于门店电话)。 【JSON字段】siteBusinessTel。';
|
||
COMMENT ON COLUMN billiards_ods.settlement_ticket_details.siteId IS '【说明】门店 ID。 【示例】NULL(用于门店 ID)。 【JSON字段】siteId。';
|
||
COMMENT ON COLUMN billiards_ods.settlement_ticket_details.siteName IS '【说明】门店名称,如“朗朗桌球”。 【示例】NULL(用于门店名称,如“朗朗桌球”)。 【JSON字段】siteName。';
|
||
COMMENT ON COLUMN billiards_ods.settlement_ticket_details.tenantId IS '【说明】租户 / 商户 ID(品牌维度)。 【示例】NULL(用于租户 / 商户 ID(品牌维度))。 【JSON字段】tenantId。';
|
||
COMMENT ON COLUMN billiards_ods.settlement_ticket_details.tenantName IS '【说明】租户名称,如“朗朗桌球”。 【示例】NULL(用于租户名称,如“朗朗桌球”)。 【JSON字段】tenantName。';
|
||
COMMENT ON COLUMN billiards_ods.settlement_ticket_details.ticketCustomContent IS '【说明】自定义小票内容,如商家自定义宣传语、条款等。 【示例】NULL(用于自定义小票内容,如商家自定义宣传语、条款等)。 【JSON字段】ticketCustomContent。';
|
||
COMMENT ON COLUMN billiards_ods.settlement_ticket_details.ticketRemark IS '【说明】小票备注内容,可用于打印在小票底部或顶部(例如活动说明、特别提示)。 【示例】NULL(小票备注内容,可用于打印在小票底部或顶部(例如活动说明、特别提示))。 【JSON字段】ticketRemark。';
|
||
COMMENT ON COLUMN billiards_ods.settlement_ticket_details.voucherMoney IS '【说明】代金券类金额字段(可能用于某类“代金券余额”或“券面值”记录)。 【示例】NULL(代金券类金额字段(可能用于某类“代金券余额”或“券面值”记录))。 【JSON字段】voucherMoney。';
|
||
COMMENT ON COLUMN billiards_ods.settlement_ticket_details.memberProfile IS '【说明】不是会员卡主键,而是本次结账时的会员信息快照。 【示例】NULL(用于不是会员卡主键,而是本次结账时的会员信息快照)。 【JSON字段】memberProfile。';
|
||
COMMENT ON COLUMN billiards_ods.settlement_ticket_details.orderItem IS '【说明】本次结算对应的“订单明细列表”,这部分是连接“台费流水 / 商品出库 / 券使用”等多个子领域的关键结构。 【示例】NULL(用于本次结算对应的“订单明细列表”,这部分是连接“台费流水 / 商品出库 / 券使用”等多个子领域的关键结构)。 【JSON字段】orderItem。';
|
||
COMMENT ON COLUMN billiards_ods.settlement_ticket_details.tenantMemberCardLogs IS '【说明】来自 JSON 导出的原始字段,用于保留业务取值。 【示例】NULL(来自 JSON 导出的原始字段,用于保留业务取值)。 【JSON字段】tenantMemberCardLogs。';
|
||
COMMENT ON COLUMN billiards_ods.settlement_ticket_details.payload IS '【说明】完整原始 JSON 记录快照,用于回溯与二次解析。 【示例】{...}(完整原始 JSON 记录快照,用于回溯与二次解析)。 【JSON字段】$(整条记录)。';
|
||
COMMENT ON COLUMN billiards_ods.settlement_ticket_details.source_file IS '【说明】ETL 元数据:原始导出文件名,用于数据追溯。 【示例】settlement_ticket_details.json(ETL 元数据:原始导出文件名,用于数据追溯)。 【JSON字段】无(ETL元数据)。';
|
||
COMMENT ON COLUMN billiards_ods.settlement_ticket_details.source_endpoint IS '【说明】ETL 元数据:采集来源(接口/文件路径),用于数据追溯。 【示例】C:/dev/LLTQ/export/test-json-doc/settlement_ticket_details.json(ETL 元数据:采集来源(接口/文件路径),用于数据追溯)。 【JSON字段】无(ETL元数据)。';
|
||
COMMENT ON COLUMN billiards_ods.settlement_ticket_details.fetched_at IS '【说明】ETL 元数据:采集/入库时间戳,用于口径对齐与增量处理。 【示例】2025-11-10T00:00:00+08:00(ETL 元数据:采集/入库时间戳,用于口径对齐与增量处理)。 【JSON字段】无(ETL元数据)。';
|
||
|
||
|
||
CREATE TABLE IF NOT EXISTS billiards_ods.store_goods_master (
|
||
id BIGINT PRIMARY KEY,
|
||
tenant_id BIGINT,
|
||
site_id BIGINT,
|
||
siteName TEXT,
|
||
tenant_goods_id BIGINT,
|
||
goods_name TEXT,
|
||
goods_bar_code TEXT,
|
||
goods_category_id BIGINT,
|
||
goods_second_category_id BIGINT,
|
||
oneCategoryName TEXT,
|
||
twoCategoryName TEXT,
|
||
unit TEXT,
|
||
sale_price NUMERIC(18,4),
|
||
cost_price NUMERIC(18,4),
|
||
cost_price_type INT,
|
||
min_discount_price NUMERIC(18,4),
|
||
safe_stock NUMERIC(18,4),
|
||
stock NUMERIC(18,4),
|
||
stock_A NUMERIC(18,4),
|
||
sale_num NUMERIC(18,4),
|
||
total_purchase_cost NUMERIC(18,4),
|
||
total_sales NUMERIC(18,4),
|
||
average_monthly_sales NUMERIC(18,4),
|
||
batch_stock_quantity NUMERIC(18,2),
|
||
days_available INT,
|
||
provisional_total_cost NUMERIC(18,2),
|
||
enable_status INT,
|
||
audit_status INT,
|
||
goods_state INT,
|
||
is_delete INT,
|
||
is_warehousing INT,
|
||
able_discount INT,
|
||
able_site_transfer INT,
|
||
forbid_sell_status INT,
|
||
"freeze" INT,
|
||
send_state INT,
|
||
custom_label_type INT,
|
||
option_required INT,
|
||
sale_channel INT,
|
||
sort INT,
|
||
remark TEXT,
|
||
pinyin_initial TEXT,
|
||
goods_cover TEXT,
|
||
create_time TIMESTAMP,
|
||
update_time TIMESTAMP,
|
||
payload JSONB NOT NULL,
|
||
source_file TEXT,
|
||
source_endpoint TEXT,
|
||
fetched_at TIMESTAMPTZ DEFAULT now()
|
||
);
|
||
|
||
COMMENT ON TABLE billiards_ods.store_goods_master IS 'ODS 原始明细表:门店商品主数据。来源:C:/dev/LLTQ/export/test-json-doc/store_goods_master.json;分析:store_goods_master-Analysis.md。字段以导出原样为主;ETL 补充 source_file/source_endpoint/fetched_at,并保留 payload 为原始记录快照。';
|
||
COMMENT ON COLUMN billiards_ods.store_goods_master.id IS '【说明】门店商品 ID,门店维度的商品主键。 【示例】2793025851560005(用于门店商品 ID,门店维度的商品主键)。 【JSON字段】id。';
|
||
COMMENT ON COLUMN billiards_ods.store_goods_master.tenant_id IS '【说明】租户/品牌 ID。 【示例】2790683160709957(用于租户/品牌 ID)。 【JSON字段】tenant_id。';
|
||
COMMENT ON COLUMN billiards_ods.store_goods_master.site_id IS '【说明】门店 ID。 【示例】2790685415443269(用于门店 ID)。 【JSON字段】site_id。';
|
||
COMMENT ON COLUMN billiards_ods.store_goods_master.siteName IS '【说明】门店名称,是对 site_id 的冗余展示,方便直接阅读,无需再去关联门店档案。 【示例】朗朗桌球(用于门店名称,是对 site_id 的冗余展示,方便直接阅读,无需再去关联门店档案)。 【JSON字段】siteName。';
|
||
COMMENT ON COLUMN billiards_ods.store_goods_master.tenant_goods_id IS '【说明】租户/品牌维度的商品 ID,相当于“全局商品 ID”。 【示例】2792178593255301(用于租户/品牌维度的商品 ID,相当于“全局商品 ID”)。 【JSON字段】tenant_goods_id。';
|
||
COMMENT ON COLUMN billiards_ods.store_goods_master.goods_name IS '【说明】商品名称,例如“合味道泡面”“地道肠”“麻将房茶位费”等。 【示例】合味道泡面(用于商品名称,例如“合味道泡面”“地道肠”“麻将房茶位费”等)。 【JSON字段】goods_name。';
|
||
COMMENT ON COLUMN billiards_ods.store_goods_master.goods_bar_code IS '【说明】商品条形码(如 EAN-13 编码),用于扫码销售。 【示例】NULL(商品条形码(如 EAN-13 编码),用于扫码销售)。 【JSON字段】goods_bar_code。';
|
||
COMMENT ON COLUMN billiards_ods.store_goods_master.goods_category_id IS '【说明】商品一级分类 ID。 【示例】2791941988405125(用于商品一级分类 ID)。 【JSON字段】goods_category_id。';
|
||
COMMENT ON COLUMN billiards_ods.store_goods_master.goods_second_category_id IS '【说明】商品二级分类 ID。 【示例】2793236829620037(用于商品二级分类 ID)。 【JSON字段】goods_second_category_id。';
|
||
COMMENT ON COLUMN billiards_ods.store_goods_master.oneCategoryName IS '【说明】一级分类名称,如“零食”“酒水”“服务费”等。 【示例】零食(用于一级分类名称,如“零食”“酒水”“服务费”等)。 【JSON字段】oneCategoryName。';
|
||
COMMENT ON COLUMN billiards_ods.store_goods_master.twoCategoryName IS '【说明】二级分类名称,如“面”“洋酒”“纸巾”等。 【示例】面(用于二级分类名称,如“面”“洋酒”“纸巾”等)。 【JSON字段】twoCategoryName。';
|
||
COMMENT ON COLUMN billiards_ods.store_goods_master.unit IS '【说明】商品计量单位(销售单位)。 【示例】桶(用于商品计量单位(销售单位))。 【JSON字段】unit。';
|
||
COMMENT ON COLUMN billiards_ods.store_goods_master.sale_price IS '【说明】商品标准销售价(挂牌价),单位为元。 【示例】12.0(用于商品标准销售价(挂牌价),单位为元)。 【JSON字段】sale_price。';
|
||
COMMENT ON COLUMN billiards_ods.store_goods_master.cost_price IS '【说明】商品成本价(单件成本)。 【示例】0.0(用于商品成本价(单件成本))。 【JSON字段】cost_price。';
|
||
COMMENT ON COLUMN billiards_ods.store_goods_master.cost_price_type IS '【说明】1 代表使用“固定成本价”(手工维护的 cost_price),provisional_total_cost 按“数量 × cost_price”算。 【示例】1(用于1 代表使用“固定成本价”(手工维护的 cost_price),provisional_total_cost 按“数量 × cost_price”算)。 【JSON字段】cost_price_type。';
|
||
COMMENT ON COLUMN billiards_ods.store_goods_master.min_discount_price IS '【说明】最低允许成交价(限价)。 【示例】7.0(用于最低允许成交价(限价))。 【JSON字段】min_discount_price。';
|
||
COMMENT ON COLUMN billiards_ods.store_goods_master.safe_stock IS '【说明】安全库存量(阈值),低于该值时系统可以提示补货。 【示例】0(用于安全库存量(阈值),低于该值时系统可以提示补货)。 【JSON字段】safe_stock。';
|
||
COMMENT ON COLUMN billiards_ods.store_goods_master.stock IS '【说明】当前可用库存数量(以 unit 为单位)。 【示例】18(用于当前可用库存数量(以 unit 为单位))。 【JSON字段】stock。';
|
||
COMMENT ON COLUMN billiards_ods.store_goods_master.stock_A IS '【说明】副单位库存数量。 【示例】0(用于副单位库存数量)。 【JSON字段】stock_A。';
|
||
COMMENT ON COLUMN billiards_ods.store_goods_master.sale_num IS '【说明】在当前统计口径下的销售数量(总销量,单位同 unit)。 【示例】104(用于在当前统计口径下的销售数量(总销量,单位同 unit))。 【JSON字段】sale_num。';
|
||
COMMENT ON COLUMN billiards_ods.store_goods_master.total_purchase_cost IS '【说明】总采购成本,单位为元。 【示例】0.0(用于总采购成本,单位为元)。 【JSON字段】total_purchase_cost。';
|
||
COMMENT ON COLUMN billiards_ods.store_goods_master.total_sales IS '【说明】累计销售数量。 【示例】104(用于累计销售数量)。 【JSON字段】total_sales。';
|
||
COMMENT ON COLUMN billiards_ods.store_goods_master.average_monthly_sales IS '【说明】平均月销量(件/月),根据某个统计周期内的销售数据折算而来。 【示例】1.32(用于平均月销量(件/月),根据某个统计周期内的销售数据折算而来)。 【JSON字段】average_monthly_sales。';
|
||
COMMENT ON COLUMN billiards_ods.store_goods_master.batch_stock_quantity IS '【说明】当前“批次”的库存数量(主单位)。 【示例】43(用于当前“批次”的库存数量(主单位))。 【JSON字段】batch_stock_quantity。';
|
||
COMMENT ON COLUMN billiards_ods.store_goods_master.days_available IS '【说明】商品“在架天数”或“可售天数”,大致等于当前时间减去首次上架时间。 【示例】13(用于商品“在架天数”或“可售天数”,大致等于当前时间减去首次上架时间)。 【JSON字段】days_available。';
|
||
COMMENT ON COLUMN billiards_ods.store_goods_master.provisional_total_cost IS '【说明】暂估总成本,单位为元。 【示例】0.0(用于暂估总成本,单位为元)。 【JSON字段】provisional_total_cost。';
|
||
COMMENT ON COLUMN billiards_ods.store_goods_master.enable_status IS '【说明】控制商品档案是否参与任何业务(库存、销售等)。 【示例】1(用于控制商品档案是否参与任何业务(库存、销售等))。 【JSON字段】enable_status。';
|
||
COMMENT ON COLUMN billiards_ods.store_goods_master.audit_status IS '【说明】观察值:全部为 2。 【示例】2(用于观察值:全部为 2)。 【JSON字段】audit_status。';
|
||
COMMENT ON COLUMN billiards_ods.store_goods_master.goods_state IS '【说明】来自 JSON 导出的原始字段,用于保留业务取值。。 【示例】1(来自 JSON 导出的原始字段,用于保留业务取值。)。 【JSON字段】goods_state。';
|
||
COMMENT ON COLUMN billiards_ods.store_goods_master.is_delete IS '【说明】逻辑删除标志。 【示例】0(用于逻辑删除标志)。 【JSON字段】is_delete。';
|
||
COMMENT ON COLUMN billiards_ods.store_goods_master.is_warehousing IS '【说明】是否纳入库存管理。 【示例】1(用于是否纳入库存管理)。 【JSON字段】is_warehousing。';
|
||
COMMENT ON COLUMN billiards_ods.store_goods_master.able_discount IS '【说明】是否允许参与折扣。 【示例】1(用于是否允许参与折扣)。 【JSON字段】able_discount。';
|
||
COMMENT ON COLUMN billiards_ods.store_goods_master.able_site_transfer IS '【说明】表示是否允许跨门店调拨或跨站点共享库存。 【示例】2(用于表示是否允许跨门店调拨或跨站点共享库存)。 【JSON字段】able_site_transfer。';
|
||
COMMENT ON COLUMN billiards_ods.store_goods_master.forbid_sell_status IS '【说明】观察值:全部为 1。 【示例】1(用于观察值:全部为 1)。 【JSON字段】forbid_sell_status。';
|
||
COMMENT ON COLUMN billiards_ods.store_goods_master.send_state IS '【说明】观察值:全部为 1。 【示例】1(用于观察值:全部为 1)。 【JSON字段】send_state。';
|
||
COMMENT ON COLUMN billiards_ods.store_goods_master.custom_label_type IS '【说明】自定义标签类型。 【示例】2(用于自定义标签类型)。 【JSON字段】custom_label_type。';
|
||
COMMENT ON COLUMN billiards_ods.store_goods_master.option_required IS '【说明】是否需要在销售时选择规格/选项。 【示例】1(用于是否需要在销售时选择规格/选项)。 【JSON字段】option_required。';
|
||
COMMENT ON COLUMN billiards_ods.store_goods_master.sale_channel IS '【说明】销售渠道类型。 【示例】1(用于销售渠道类型)。 【JSON字段】sale_channel。';
|
||
COMMENT ON COLUMN billiards_ods.store_goods_master.sort IS '【说明】排序权重,用于前端商品列表展示时的排版顺序,数值越小/越大哪个优先,具体规则看系统设定(一般是数值越小排序越靠前)。 【示例】100(排序权重,用于前端商品列表展示时的排版顺序,数值越小/越大哪个优先,具体规则看系统设定(一般是数值越小排序越靠前))。 【JSON字段】sort。';
|
||
COMMENT ON COLUMN billiards_ods.store_goods_master.remark IS '【说明】商品备注(可以写口味说明、供应商、注意事项等)。 【示例】NULL(用于商品备注(可以写口味说明、供应商、注意事项等))。 【JSON字段】remark。';
|
||
COMMENT ON COLUMN billiards_ods.store_goods_master.pinyin_initial IS '【说明】商品名称的拼音首字母缩写,有时多个别名用逗号分隔。 【示例】HWDPM,GWDPM(用于商品名称的拼音首字母缩写,有时多个别名用逗号分隔)。 【JSON字段】pinyin_initial。';
|
||
COMMENT ON COLUMN billiards_ods.store_goods_master.goods_cover IS '【说明】商品图片 URL(如 OSS 对象存储地址),用于前端展示商品图片。 【示例】https://oss.ficoo.vip/admin/8M1WM7_1753204221337.jpg(商品图片 URL(如 OSS 对象存储地址),用于前端展示商品图片)。 【JSON字段】goods_cover。';
|
||
COMMENT ON COLUMN billiards_ods.store_goods_master.create_time IS '【说明】门店商品档案创建时间(商品在门店建立档案的时间点)。 【示例】2025-07-16 11:52:51(用于门店商品档案创建时间(商品在门店建立档案的时间点))。 【JSON字段】create_time。';
|
||
COMMENT ON COLUMN billiards_ods.store_goods_master.update_time IS '【说明】最后一次修改该商品档案的时间(包括价格调整、状态变更等)。 【示例】2025-11-09 07:23:47(用于最后一次修改该商品档案的时间(包括价格调整、状态变更等))。 【JSON字段】update_time。';
|
||
COMMENT ON COLUMN billiards_ods.store_goods_master.payload IS '【说明】完整原始 JSON 记录快照,用于回溯与二次解析。 【示例】{...}(完整原始 JSON 记录快照,用于回溯与二次解析)。 【JSON字段】$(整条记录)。';
|
||
COMMENT ON COLUMN billiards_ods.store_goods_master.source_file IS '【说明】ETL 元数据:原始导出文件名,用于数据追溯。 【示例】store_goods_master.json(ETL 元数据:原始导出文件名,用于数据追溯)。 【JSON字段】无(ETL元数据)。';
|
||
COMMENT ON COLUMN billiards_ods.store_goods_master.source_endpoint IS '【说明】ETL 元数据:采集来源(接口/文件路径),用于数据追溯。 【示例】C:/dev/LLTQ/export/test-json-doc/store_goods_master.json(ETL 元数据:采集来源(接口/文件路径),用于数据追溯)。 【JSON字段】无(ETL元数据)。';
|
||
COMMENT ON COLUMN billiards_ods.store_goods_master.fetched_at IS '【说明】ETL 元数据:采集/入库时间戳,用于口径对齐与增量处理。 【示例】2025-11-10T00:00:00+08:00(ETL 元数据:采集/入库时间戳,用于口径对齐与增量处理)。 【JSON字段】无(ETL元数据)。';
|
||
|
||
|
||
CREATE TABLE IF NOT EXISTS billiards_ods.store_goods_sales_records (
|
||
id BIGINT PRIMARY KEY,
|
||
tenant_id BIGINT,
|
||
site_id BIGINT,
|
||
siteid BIGINT,
|
||
sitename TEXT,
|
||
site_goods_id BIGINT,
|
||
tenant_goods_id BIGINT,
|
||
order_settle_id BIGINT,
|
||
order_trade_no TEXT,
|
||
order_goods_id BIGINT,
|
||
ordergoodsid BIGINT,
|
||
order_pay_id BIGINT,
|
||
order_coupon_id BIGINT,
|
||
ledger_name TEXT,
|
||
ledger_group_name TEXT,
|
||
ledger_amount NUMERIC(18,2),
|
||
ledger_count NUMERIC(18,4),
|
||
ledger_unit_price NUMERIC(18,4),
|
||
ledger_status INT,
|
||
discount_money NUMERIC(18,2),
|
||
discount_price NUMERIC(18,2),
|
||
coupon_deduct_money NUMERIC(18,2),
|
||
member_discount_amount NUMERIC(18,2),
|
||
option_coupon_deduct_money NUMERIC(18,2),
|
||
option_member_discount_money NUMERIC(18,2),
|
||
point_discount_money NUMERIC(18,2),
|
||
point_discount_money_cost NUMERIC(18,2),
|
||
real_goods_money NUMERIC(18,2),
|
||
cost_money NUMERIC(18,2),
|
||
push_money NUMERIC(18,2),
|
||
sales_type INT,
|
||
is_single_order INT,
|
||
is_delete INT,
|
||
goods_remark TEXT,
|
||
option_price NUMERIC(18,2),
|
||
option_value_name TEXT,
|
||
option_name TEXT,
|
||
member_coupon_id BIGINT,
|
||
package_coupon_id BIGINT,
|
||
sales_man_org_id BIGINT,
|
||
salesman_name TEXT,
|
||
salesman_role_id BIGINT,
|
||
salesman_user_id BIGINT,
|
||
operator_id BIGINT,
|
||
operator_name TEXT,
|
||
openSalesman TEXT,
|
||
returns_number INT,
|
||
site_table_id BIGINT,
|
||
tenant_goods_business_id BIGINT,
|
||
tenant_goods_category_id BIGINT,
|
||
create_time TIMESTAMP,
|
||
payload JSONB NOT NULL,
|
||
source_file TEXT,
|
||
source_endpoint TEXT,
|
||
fetched_at TIMESTAMPTZ DEFAULT now()
|
||
);
|
||
|
||
COMMENT ON TABLE billiards_ods.store_goods_sales_records IS 'ODS 原始明细表:门店商品销售流水。来源:C:/dev/LLTQ/export/test-json-doc/store_goods_sales_records.json;分析:store_goods_sales_records-Analysis.md。字段以导出原样为主;ETL 补充 source_file/source_endpoint/fetched_at,并保留 payload 为原始记录快照。';
|
||
COMMENT ON COLUMN billiards_ods.store_goods_sales_records.id IS '【说明】本条「门店销售流水」记录的主键 ID。 【示例】2957924029550406(用于本条「门店销售流水」记录的主键 ID)。 【JSON字段】id。';
|
||
COMMENT ON COLUMN billiards_ods.store_goods_sales_records.tenant_id IS '【说明】租户/品牌 ID。 【示例】2790683160709957(用于租户/品牌 ID)。 【JSON字段】tenant_id。';
|
||
COMMENT ON COLUMN billiards_ods.store_goods_sales_records.site_id IS '【说明】门店 ID(系统主键)。 【示例】2790685415443269(用于门店 ID(系统主键))。 【JSON字段】site_id。';
|
||
COMMENT ON COLUMN billiards_ods.store_goods_sales_records.siteid IS '【说明】来自 JSON 导出的原始字段,用于保留业务取值。 【示例】NULL(来自 JSON 导出的原始字段,用于保留业务取值)。 【JSON字段】siteid。';
|
||
COMMENT ON COLUMN billiards_ods.store_goods_sales_records.sitename IS '【说明】名称字段,用于展示与辅助识别。 【示例】NULL(名称字段,用于展示与辅助识别)。 【JSON字段】sitename。';
|
||
COMMENT ON COLUMN billiards_ods.store_goods_sales_records.site_goods_id IS '【说明】门店商品 ID。 【示例】2793026176012357(用于门店商品 ID)。 【JSON字段】site_goods_id。';
|
||
COMMENT ON COLUMN billiards_ods.store_goods_sales_records.tenant_goods_id IS '【说明】租户(品牌)级商品 ID(全局商品 ID)。 【示例】2792115932417925(用于租户(品牌)级商品 ID(全局商品 ID))。 【JSON字段】tenant_goods_id。';
|
||
COMMENT ON COLUMN billiards_ods.store_goods_sales_records.order_settle_id IS '【说明】订单结算 ID(结账单主键)。 【示例】2957922914357125(用于订单结算 ID(结账单主键))。 【JSON字段】order_settle_id。';
|
||
COMMENT ON COLUMN billiards_ods.store_goods_sales_records.order_trade_no IS '【说明】订单交易号(业务单号)。 【示例】2957858167230149(用于订单交易号(业务单号))。 【JSON字段】order_trade_no。';
|
||
COMMENT ON COLUMN billiards_ods.store_goods_sales_records.order_goods_id IS '【说明】订单商品明细 ID(订单内部的商品行主键)。 【示例】2957858456391557(用于订单商品明细 ID(订单内部的商品行主键))。 【JSON字段】order_goods_id。';
|
||
COMMENT ON COLUMN billiards_ods.store_goods_sales_records.ordergoodsid IS '【说明】来自 JSON 导出的原始字段,用于保留业务取值。 【示例】NULL(来自 JSON 导出的原始字段,用于保留业务取值)。 【JSON字段】ordergoodsid。';
|
||
COMMENT ON COLUMN billiards_ods.store_goods_sales_records.order_pay_id IS '【说明】关联支付记录的 ID。 【示例】0(用于关联支付记录的 ID)。 【JSON字段】order_pay_id。';
|
||
COMMENT ON COLUMN billiards_ods.store_goods_sales_records.order_coupon_id IS '【说明】订单级优惠券 ID。 【示例】0(用于订单级优惠券 ID)。 【JSON字段】order_coupon_id。';
|
||
COMMENT ON COLUMN billiards_ods.store_goods_sales_records.ledger_name IS '【说明】销售项目名称(商品名称),例如 “哇哈哈矿泉水”“地道肠”“东方树叶”等。 【示例】哇哈哈矿泉水(用于销售项目名称(商品名称),例如 “哇哈哈矿泉水”“地道肠”“东方树叶”等)。 【JSON字段】ledger_name。';
|
||
COMMENT ON COLUMN billiards_ods.store_goods_sales_records.ledger_group_name IS '【说明】销售项目所属的「门店内部分组名称」,类似前台菜单分组或大类标签。 【示例】酒水(用于销售项目所属的「门店内部分组名称」,类似前台菜单分组或大类标签)。 【JSON字段】ledger_group_name。';
|
||
COMMENT ON COLUMN billiards_ods.store_goods_sales_records.ledger_amount IS '【说明】原始应收金额,公式上接近 ledger_unit_price × ledger_count。 【示例】5.0(用于原始应收金额,公式上接近 ledger_unit_price × ledger_count)。 【JSON字段】ledger_amount。';
|
||
COMMENT ON COLUMN billiards_ods.store_goods_sales_records.ledger_count IS '【说明】销售数量(以 unit 为单位,unit 字段在门店商品档案中)。 【示例】1(用于销售数量(以 unit 为单位,unit 字段在门店商品档案中))。 【JSON字段】ledger_count。';
|
||
COMMENT ON COLUMN billiards_ods.store_goods_sales_records.ledger_unit_price IS '【说明】商品在该次销售中的「结算单价」(元/单位)。 【示例】5.0(用于商品在该次销售中的「结算单价」(元/单位))。 【JSON字段】ledger_unit_price。';
|
||
COMMENT ON COLUMN billiards_ods.store_goods_sales_records.ledger_status IS '【说明】销售流水状态。 【示例】1(用于销售流水状态)。 【JSON字段】ledger_status。';
|
||
COMMENT ON COLUMN billiards_ods.store_goods_sales_records.discount_money IS '【说明】本条销售明细的「价格优惠金额」,即原价部分被减免掉的金额。 【示例】0.0(用于本条销售明细的「价格优惠金额」,即原价部分被减免掉的金额)。 【JSON字段】discount_money。';
|
||
COMMENT ON COLUMN billiards_ods.store_goods_sales_records.discount_price IS '【说明】折后单价(元/单位)。 【示例】5.0(用于折后单价(元/单位))。 【JSON字段】discount_price。';
|
||
COMMENT ON COLUMN billiards_ods.store_goods_sales_records.coupon_deduct_money IS '【说明】被优惠券 / 团购券直接抵扣到这条商品明细上的金额。 【示例】0.0(用于被优惠券 / 团购券直接抵扣到这条商品明细上的金额)。 【JSON字段】coupon_deduct_money。';
|
||
COMMENT ON COLUMN billiards_ods.store_goods_sales_records.member_discount_amount IS '【说明】由会员身份(会员折扣)针对这一行商品产生的优惠金额。 【示例】0.0(用于由会员身份(会员折扣)针对这一行商品产生的优惠金额)。 【JSON字段】member_discount_amount。';
|
||
COMMENT ON COLUMN billiards_ods.store_goods_sales_records.option_coupon_deduct_money IS '【说明】由优惠券抵扣“选项价格”的金额。 【示例】0.0(用于由优惠券抵扣“选项价格”的金额)。 【JSON字段】option_coupon_deduct_money。';
|
||
COMMENT ON COLUMN billiards_ods.store_goods_sales_records.option_member_discount_money IS '【说明】由会员折扣作用在“选项价格”上的优惠金额。 【示例】0.0(用于由会员折扣作用在“选项价格”上的优惠金额)。 【JSON字段】option_member_discount_money。';
|
||
COMMENT ON COLUMN billiards_ods.store_goods_sales_records.point_discount_money IS '【说明】由积分抵扣的金额(顾客兑换积分抵现金额)。 【示例】0.0(用于由积分抵扣的金额(顾客兑换积分抵现金额))。 【JSON字段】point_discount_money。';
|
||
COMMENT ON COLUMN billiards_ods.store_goods_sales_records.point_discount_money_cost IS '【说明】积分抵扣对应的“成本金额”(后台核算用),例如按积分成本来计提费用。 【示例】0.0(用于积分抵扣对应的“成本金额”(后台核算用),例如按积分成本来计提费用)。 【JSON字段】point_discount_money_cost。';
|
||
COMMENT ON COLUMN billiards_ods.store_goods_sales_records.real_goods_money IS '【说明】商品实际入账金额(考虑折扣、可能还会考虑其它抵扣后的实际销售金额)。 【示例】5.0(用于商品实际入账金额(考虑折扣、可能还会考虑其它抵扣后的实际销售金额))。 【JSON字段】real_goods_money。';
|
||
COMMENT ON COLUMN billiards_ods.store_goods_sales_records.cost_money IS '【说明】本条销售对应的成本金额(以元计)。 【示例】0.01(用于本条销售对应的成本金额(以元计))。 【JSON字段】cost_money。';
|
||
COMMENT ON COLUMN billiards_ods.store_goods_sales_records.push_money IS '【说明】本条销售对应的提成金额(给营业员/促销员的提成)。 【示例】0.0(用于本条销售对应的提成金额(给营业员/促销员的提成))。 【JSON字段】push_money。';
|
||
COMMENT ON COLUMN billiards_ods.store_goods_sales_records.sales_type IS '【说明】销售类型。 【示例】1(用于销售类型)。 【JSON字段】sales_type。';
|
||
COMMENT ON COLUMN billiards_ods.store_goods_sales_records.is_single_order IS '【说明】是否单独订单标识。 【示例】1(用于是否单独订单标识)。 【JSON字段】is_single_order。';
|
||
COMMENT ON COLUMN billiards_ods.store_goods_sales_records.is_delete IS '【说明】逻辑删除标志。 【示例】0(用于逻辑删除标志)。 【JSON字段】is_delete。';
|
||
COMMENT ON COLUMN billiards_ods.store_goods_sales_records.goods_remark IS '【说明】商品备注/口味说明/特殊说明。 【示例】哇哈哈矿泉水(用于商品备注/口味说明/特殊说明)。 【JSON字段】goods_remark。';
|
||
COMMENT ON COLUMN billiards_ods.store_goods_sales_records.option_price IS '【说明】商品选项(规格/加料)的附加价格。 【示例】0.0(用于商品选项(规格/加料)的附加价格)。 【JSON字段】option_price。';
|
||
COMMENT ON COLUMN billiards_ods.store_goods_sales_records.option_value_name IS '【说明】商品选项名称(如规格、口味:大杯/小杯,不加冰等)。 【示例】NULL(用于商品选项名称(如规格、口味:大杯/小杯,不加冰等))。 【JSON字段】option_value_name。';
|
||
COMMENT ON COLUMN billiards_ods.store_goods_sales_records.option_name IS '【说明】名称字段,用于展示与辅助识别。 【示例】NULL(名称字段,用于展示与辅助识别)。 【JSON字段】option_name。';
|
||
COMMENT ON COLUMN billiards_ods.store_goods_sales_records.member_coupon_id IS '【说明】会员券 ID(比如会员专享优惠券)。 【示例】0(用于会员券 ID(比如会员专享优惠券))。 【JSON字段】member_coupon_id。';
|
||
COMMENT ON COLUMN billiards_ods.store_goods_sales_records.package_coupon_id IS '【说明】套餐券 ID。 【示例】0(用于套餐券 ID)。 【JSON字段】package_coupon_id。';
|
||
COMMENT ON COLUMN billiards_ods.store_goods_sales_records.sales_man_org_id IS '【说明】营业员所属组织/部门 ID。 【示例】0(用于营业员所属组织/部门 ID)。 【JSON字段】sales_man_org_id。';
|
||
COMMENT ON COLUMN billiards_ods.store_goods_sales_records.salesman_name IS '【说明】营业员姓名(如果有为具体销售员记业绩,则在此填姓名)。 【示例】NULL(用于营业员姓名(如果有为具体销售员记业绩,则在此填姓名))。 【JSON字段】salesman_name。';
|
||
COMMENT ON COLUMN billiards_ods.store_goods_sales_records.salesman_role_id IS '【说明】营业员的系统角色 ID(例如某个角色代码表示“销售员”)。 【示例】0(用于营业员的系统角色 ID(例如某个角色代码表示“销售员”))。 【JSON字段】salesman_role_id。';
|
||
COMMENT ON COLUMN billiards_ods.store_goods_sales_records.salesman_user_id IS '【说明】营业员用户 ID(系统账号 ID)。 【示例】0(用于营业员用户 ID(系统账号 ID))。 【JSON字段】salesman_user_id。';
|
||
COMMENT ON COLUMN billiards_ods.store_goods_sales_records.operator_id IS '【说明】操作员 ID(录入这笔销售的员工)。 【示例】2790687322443013(用于操作员 ID(录入这笔销售的员工))。 【JSON字段】operator_id。';
|
||
COMMENT ON COLUMN billiards_ods.store_goods_sales_records.operator_name IS '【说明】操作员姓名,文字冗余。 【示例】收银员:郑丽珊(用于操作员姓名,文字冗余)。 【JSON字段】operator_name。';
|
||
COMMENT ON COLUMN billiards_ods.store_goods_sales_records.openSalesman IS '【说明】来自 JSON 导出的原始字段,用于保留业务取值。。 【示例】2(来自 JSON 导出的原始字段,用于保留业务取值。)。 【JSON字段】openSalesman。';
|
||
COMMENT ON COLUMN billiards_ods.store_goods_sales_records.returns_number IS '【说明】退货数量(如果这条明细做了退货,会记录退货数量)。 【示例】0(用于退货数量(如果这条明细做了退货,会记录退货数量))。 【JSON字段】returns_number。';
|
||
COMMENT ON COLUMN billiards_ods.store_goods_sales_records.site_table_id IS '【说明】球台 ID。 【示例】2793003705192517(用于球台 ID)。 【JSON字段】site_table_id。';
|
||
COMMENT ON COLUMN billiards_ods.store_goods_sales_records.tenant_goods_business_id IS '【说明】租户级商品「业务大类」ID(例如“零食类”“酒水类”等更高维度)。 【示例】2790683528317768(用于租户级商品「业务大类」ID(例如“零食类”“酒水类”等更高维度))。 【JSON字段】tenant_goods_business_id。';
|
||
COMMENT ON COLUMN billiards_ods.store_goods_sales_records.tenant_goods_category_id IS '【说明】租户级商品一级分类 ID。 【示例】2790683528350540(用于租户级商品一级分类 ID)。 【JSON字段】tenant_goods_category_id。';
|
||
COMMENT ON COLUMN billiards_ods.store_goods_sales_records.create_time IS '【说明】销售记录创建时间,通常就是结账时间或录入时间。 【示例】2025-11-09 23:35:57(用于销售记录创建时间,通常就是结账时间或录入时间)。 【JSON字段】create_time。';
|
||
COMMENT ON COLUMN billiards_ods.store_goods_sales_records.payload IS '【说明】完整原始 JSON 记录快照,用于回溯与二次解析。 【示例】{...}(完整原始 JSON 记录快照,用于回溯与二次解析)。 【JSON字段】$(整条记录)。';
|
||
COMMENT ON COLUMN billiards_ods.store_goods_sales_records.source_file IS '【说明】ETL 元数据:原始导出文件名,用于数据追溯。 【示例】store_goods_sales_records.json(ETL 元数据:原始导出文件名,用于数据追溯)。 【JSON字段】无(ETL元数据)。';
|
||
COMMENT ON COLUMN billiards_ods.store_goods_sales_records.source_endpoint IS '【说明】ETL 元数据:采集来源(接口/文件路径),用于数据追溯。 【示例】C:/dev/LLTQ/export/test-json-doc/store_goods_sales_records.json(ETL 元数据:采集来源(接口/文件路径),用于数据追溯)。 【JSON字段】无(ETL元数据)。';
|
||
COMMENT ON COLUMN billiards_ods.store_goods_sales_records.fetched_at IS '【说明】ETL 元数据:采集/入库时间戳,用于口径对齐与增量处理。 【示例】2025-11-10T00:00:00+08:00(ETL 元数据:采集/入库时间戳,用于口径对齐与增量处理)。 【JSON字段】无(ETL元数据)。';
|
||
|
||
|