1727 lines
175 KiB
SQL
1727 lines
175 KiB
SQL
-- Generated from DWD?????.docx; includes column comments from??
|
||
CREATE SCHEMA IF NOT EXISTS billiards_dwd;
|
||
SET search_path TO billiards_dwd;
|
||
|
||
-- dim_site
|
||
CREATE TABLE IF NOT EXISTS dim_site (
|
||
site_id BIGINT,
|
||
org_id BIGINT,
|
||
shop_name TEXT,
|
||
business_tel TEXT,
|
||
full_address TEXT,
|
||
tenant_id BIGINT,
|
||
PRIMARY KEY (site_id)
|
||
);
|
||
COMMENT ON COLUMN dim_site.site_id IS '门店主键 ID,唯一标识一家门店。与所有事实表中的 site_id 对应。 | 来源: siteProfile.id | 角色: 主键';
|
||
COMMENT ON COLUMN dim_site.org_id IS '上级组织 ID,用于区域组织划分。 | 来源: siteProfile.org_id | 角色: 外键';
|
||
COMMENT ON COLUMN dim_site.shop_name IS '门店名称,展示用。 | 来源: siteProfile.shop_name';
|
||
COMMENT ON COLUMN dim_site.business_tel IS '门店电话。 | 来源: siteProfile.business_tel';
|
||
COMMENT ON COLUMN dim_site.full_address IS '门店完整地址。 | 来源: siteProfile.full_address';
|
||
COMMENT ON COLUMN dim_site.tenant_id IS '租户 ID。与其它表 tenant_id 对应。 | 来源: siteProfile.tenant_id | 角色: 外键';
|
||
|
||
-- dim_site_Ex
|
||
CREATE TABLE IF NOT EXISTS dim_site_Ex (
|
||
site_id BIGINT,
|
||
avatar TEXT,
|
||
address TEXT,
|
||
longitude NUMERIC(9,6),
|
||
latitude NUMERIC(9,6),
|
||
tenant_site_region_id BIGINT,
|
||
auto_light INTEGER,
|
||
light_status INTEGER,
|
||
light_type INTEGER,
|
||
light_token TEXT,
|
||
site_type INTEGER,
|
||
site_label TEXT,
|
||
attendance_enabled INTEGER,
|
||
attendance_distance INTEGER,
|
||
customer_service_qrcode TEXT,
|
||
customer_service_wechat TEXT,
|
||
fixed_pay_qrCode TEXT,
|
||
prod_env TEXT,
|
||
shop_status INTEGER,
|
||
create_time TIMESTAMPTZ,
|
||
update_time TIMESTAMPTZ,
|
||
PRIMARY KEY (site_id)
|
||
);
|
||
COMMENT ON COLUMN dim_site_Ex.site_id IS '门店主键 ID,唯一标识一家门店。与所有事实表中的 site_id 对应。 | 来源: siteProfile.id | 角色: 主键';
|
||
COMMENT ON COLUMN dim_site_Ex.avatar IS '门店头像 URL。 | 来源: siteProfile.avatar';
|
||
COMMENT ON COLUMN dim_site_Ex.address IS '地址简写。 | 来源: siteProfile.address';
|
||
COMMENT ON COLUMN dim_site_Ex.longitude IS '经度。 | 来源: siteProfile.longitude';
|
||
COMMENT ON COLUMN dim_site_Ex.latitude IS '纬度。 | 来源: siteProfile.latitude';
|
||
COMMENT ON COLUMN dim_site_Ex.tenant_site_region_id IS '地区编码。 | 来源: siteProfile.tenant_site_region_id';
|
||
COMMENT ON COLUMN dim_site_Ex.auto_light IS '是否自动控制灯光:1=是,2=否(根据系统约定)。 | 来源: siteProfile.auto_light';
|
||
COMMENT ON COLUMN dim_site_Ex.light_status IS '灯光状态,系统预留字段。 | 来源: siteProfile.light_status';
|
||
COMMENT ON COLUMN dim_site_Ex.light_type IS '灯光类型,预留字段。 | 来源: siteProfile.light_type';
|
||
COMMENT ON COLUMN dim_site_Ex.light_token IS '灯光控制令牌。 | 来源: siteProfile.light_token';
|
||
COMMENT ON COLUMN dim_site_Ex.site_type IS '门店类型枚举(未在导出中说明,视系统配置)。 | 来源: siteProfile.site_type';
|
||
COMMENT ON COLUMN dim_site_Ex.site_label IS '门店标签,展示用。 | 来源: siteProfile.site_label';
|
||
COMMENT ON COLUMN dim_site_Ex.attendance_enabled IS '门店是否启用考勤功能:1=启用,2=不启用。 | 来源: siteProfile.attendance_enabled';
|
||
COMMENT ON COLUMN dim_site_Ex.attendance_distance IS '考勤打卡距离限制(米)。 | 来源: siteProfile.attendance_distance';
|
||
COMMENT ON COLUMN dim_site_Ex.customer_service_qrcode IS '客服二维码 URL。 | 来源: siteProfile.customer_service_qrcode';
|
||
COMMENT ON COLUMN dim_site_Ex.customer_service_wechat IS '客服微信号。 | 来源: siteProfile.customer_service_wechat';
|
||
COMMENT ON COLUMN dim_site_Ex.fixed_pay_qrCode IS '固定收款二维码。 | 来源: siteProfile.fixed_pay_qrCode';
|
||
COMMENT ON COLUMN dim_site_Ex.prod_env IS '环境标记(生产/测试)。 | 来源: siteProfile.prod_env';
|
||
COMMENT ON COLUMN dim_site_Ex.shop_status IS '门店状态,未在文档解释。 | 来源: siteProfile.shop_status';
|
||
COMMENT ON COLUMN dim_site_Ex.create_time IS '门店创建时间。 | 来源: siteProfile.create_time';
|
||
COMMENT ON COLUMN dim_site_Ex.update_time IS '门店最近更新时间。 | 来源: siteProfile.update_time';
|
||
|
||
-- dim_table
|
||
CREATE TABLE IF NOT EXISTS dim_table (
|
||
table_id BIGINT,
|
||
tenant_id BIGINT,
|
||
site_id BIGINT,
|
||
table_name TEXT,
|
||
site_table_area_id BIGINT,
|
||
site_table_area_name TEXT,
|
||
tenant_table_area_id BIGINT,
|
||
table_price NUMERIC(18,2),
|
||
PRIMARY KEY (table_id)
|
||
);
|
||
COMMENT ON COLUMN dim_table.table_id IS '台桌主键,唯一标识一张台或包厢。 | 来源: id | 角色: 主键';
|
||
COMMENT ON COLUMN dim_table.tenant_id IS '租户 ID。 | 来源: tenantId | 角色: 外键';
|
||
COMMENT ON COLUMN dim_table.site_id IS '门店 ID。 | 来源: siteId | 角色: 外键';
|
||
COMMENT ON COLUMN dim_table.table_name IS '台桌名称/编号,如 A17、888。 | 来源: tableName';
|
||
COMMENT ON COLUMN dim_table.site_table_area_id IS '门店区 ID,用于区分 A区/B区/补时区等。 | 来源: siteTableAreaId | 角色: 外键';
|
||
COMMENT ON COLUMN dim_table.site_table_area_name IS '区域名称,如 “A区”“补时长”。 | 来源: siteTableAreaName';
|
||
COMMENT ON COLUMN dim_table.tenant_table_area_id IS '租户级区域 ID。 | 来源: tenantTableAreaId | 角色: 外键';
|
||
COMMENT ON COLUMN dim_table.table_price IS '台桌基础单价,从table_fee_transactions取值。方法:对应本表id,table_fee_transactions表的site_table_id。';
|
||
|
||
-- dim_table_Ex
|
||
CREATE TABLE IF NOT EXISTS dim_table_Ex (
|
||
table_id BIGINT,
|
||
show_status INTEGER,
|
||
is_online_reservation INTEGER,
|
||
table_cloth_use_time INTEGER,
|
||
table_cloth_use_cycle INTEGER,
|
||
table_status INTEGER,
|
||
last_maintenance_time TIMESTAMPTZ,
|
||
remark TEXT,
|
||
PRIMARY KEY (table_id)
|
||
);
|
||
COMMENT ON COLUMN dim_table_Ex.table_id IS '台桌主键,唯一标识一张台或包厢。 | 来源: id | 角色: 主键';
|
||
COMMENT ON COLUMN dim_table_Ex.show_status IS '显示状态:1=正常台;其他值=特殊用途(包厢、补时长等)。 | 来源: showStatus';
|
||
COMMENT ON COLUMN dim_table_Ex.is_online_reservation IS '是否可线上预约:1=是,2=否。 | 来源: isOnlineReservation';
|
||
COMMENT ON COLUMN dim_table_Ex.table_cloth_use_time IS '已使用台呢时长(秒)。 | 来源: tableClothUseTime';
|
||
COMMENT ON COLUMN dim_table_Ex.table_cloth_use_cycle IS '台呢更换周期阈值(秒)。 | 来源: tableClothUseCycle';
|
||
COMMENT ON COLUMN dim_table_Ex.table_status IS '当前台桌状态:1=空闲,2=使用中,3=暂停中,4=锁定。 | 来源: tableStatus';
|
||
COMMENT ON COLUMN dim_table_Ex.last_maintenance_time IS '最近保养时间(未在 JSON 中出现)。 | 来源: lastMaintenanceTime';
|
||
COMMENT ON COLUMN dim_table_Ex.remark IS '备注信息。 | 来源: remark';
|
||
|
||
-- dim_assistant
|
||
CREATE TABLE IF NOT EXISTS dim_assistant (
|
||
assistant_id BIGINT,
|
||
user_id BIGINT,
|
||
assistant_no TEXT,
|
||
real_name TEXT,
|
||
nickname TEXT,
|
||
mobile TEXT,
|
||
tenant_id BIGINT,
|
||
site_id BIGINT,
|
||
team_id BIGINT,
|
||
team_name TEXT,
|
||
level INTEGER,
|
||
entry_time TIMESTAMPTZ,
|
||
resign_time TIMESTAMPTZ,
|
||
leave_status INTEGER,
|
||
assistant_status INTEGER,
|
||
PRIMARY KEY (assistant_id)
|
||
);
|
||
COMMENT ON COLUMN dim_assistant.assistant_id IS '助教账号 ID,关联助教服务流水表。 | 来源: id | 角色: 主键';
|
||
COMMENT ON COLUMN dim_assistant.user_id IS '系统用户 ID,用于统一跨模块身份。 | 来源: user_id | 角色: 外键';
|
||
COMMENT ON COLUMN dim_assistant.assistant_no IS '助教工号/编号,业务识别用。 | 来源: assistant_no';
|
||
COMMENT ON COLUMN dim_assistant.real_name IS '助教真实姓名。 | 来源: real_name';
|
||
COMMENT ON COLUMN dim_assistant.nickname IS '前台展示昵称。 | 来源: nickname';
|
||
COMMENT ON COLUMN dim_assistant.mobile IS '手机号码。 | 来源: mobile';
|
||
COMMENT ON COLUMN dim_assistant.tenant_id IS '租户 ID。 | 来源: tenant_id | 角色: 外键';
|
||
COMMENT ON COLUMN dim_assistant.site_id IS '门店 ID。 | 来源: site_id | 角色: 外键';
|
||
COMMENT ON COLUMN dim_assistant.team_id IS '助教团队 ID。 | 来源: team_id | 角色: 外键';
|
||
COMMENT ON COLUMN dim_assistant.team_name IS '团队名称。 | 来源: team_name';
|
||
COMMENT ON COLUMN dim_assistant.level IS '助教等级:8=管理员、10=初级、20=中级、30=高级、40=专家。 | 来源: level';
|
||
COMMENT ON COLUMN dim_assistant.entry_time IS '入职时间。 | 来源: entry_time';
|
||
COMMENT ON COLUMN dim_assistant.resign_time IS '离职时间;远未来日期表示在职。 | 来源: resign_time';
|
||
COMMENT ON COLUMN dim_assistant.leave_status IS '在职状态:0=在职,1=已离职。 | 来源: leave_status';
|
||
COMMENT ON COLUMN dim_assistant.assistant_status IS '账号启用状态:1=启用,2=停用/冻结。 | 来源: assistant_status';
|
||
|
||
-- dim_assistant_Ex
|
||
CREATE TABLE IF NOT EXISTS dim_assistant_Ex (
|
||
assistant_id BIGINT,
|
||
gender INTEGER,
|
||
birth_date TIMESTAMPTZ,
|
||
avatar TEXT,
|
||
introduce TEXT,
|
||
video_introduction_url TEXT,
|
||
height NUMERIC(5,2),
|
||
weight NUMERIC(5,2),
|
||
shop_name TEXT,
|
||
group_id BIGINT,
|
||
group_name TEXT,
|
||
person_org_id BIGINT,
|
||
staff_id BIGINT,
|
||
staff_profile_id BIGINT,
|
||
assistant_grade DOUBLE PRECISION,
|
||
sum_grade DOUBLE PRECISION,
|
||
get_grade_times INTEGER,
|
||
charge_way INTEGER,
|
||
allow_cx INTEGER,
|
||
is_guaranteed INTEGER,
|
||
salary_grant_enabled INTEGER,
|
||
entry_type INTEGER,
|
||
entry_sign_status INTEGER,
|
||
resign_sign_status INTEGER,
|
||
work_status INTEGER,
|
||
show_status INTEGER,
|
||
show_sort INTEGER,
|
||
online_status INTEGER,
|
||
is_delete INTEGER,
|
||
criticism_status INTEGER,
|
||
create_time TIMESTAMPTZ,
|
||
update_time TIMESTAMPTZ,
|
||
start_time TIMESTAMPTZ,
|
||
end_time TIMESTAMPTZ,
|
||
last_table_id BIGINT,
|
||
last_table_name TEXT,
|
||
last_update_name TEXT,
|
||
order_trade_no BIGINT,
|
||
ding_talk_synced INTEGER,
|
||
site_light_cfg_id BIGINT,
|
||
light_equipment_id TEXT,
|
||
light_status INTEGER,
|
||
is_team_leader INTEGER,
|
||
serial_number BIGINT,
|
||
PRIMARY KEY (assistant_id)
|
||
);
|
||
COMMENT ON COLUMN dim_assistant_Ex.assistant_id IS '助教账号 ID,关联助教服务流水表。 | 来源: id | 角色: 主键';
|
||
COMMENT ON COLUMN dim_assistant_Ex.gender IS '性别枚举:0=未填/保密,1=男,2=女。 | 来源: gender';
|
||
COMMENT ON COLUMN dim_assistant_Ex.birth_date IS '出生日期,默认为 0001-01-01 表示未设置。 | 来源: birth_date';
|
||
COMMENT ON COLUMN dim_assistant_Ex.avatar IS '头像 URL。 | 来源: avatar';
|
||
COMMENT ON COLUMN dim_assistant_Ex.introduce IS '个人简介文案(目前为空)。 | 来源: introduce';
|
||
COMMENT ON COLUMN dim_assistant_Ex.video_introduction_url IS '视频介绍 URL。 | 来源: video_introduction_url';
|
||
COMMENT ON COLUMN dim_assistant_Ex.height IS '身高(厘米),0 表示未填。 | 来源: height';
|
||
COMMENT ON COLUMN dim_assistant_Ex.weight IS '体重(公斤),0 表示未填。 | 来源: weight';
|
||
COMMENT ON COLUMN dim_assistant_Ex.shop_name IS '门店名称。 | 来源: shop_name';
|
||
COMMENT ON COLUMN dim_assistant_Ex.group_id IS '上级分组 ID,未使用。 | 来源: group_id';
|
||
COMMENT ON COLUMN dim_assistant_Ex.group_name IS '上级分组名称,空。 | 来源: group_name';
|
||
COMMENT ON COLUMN dim_assistant_Ex.person_org_id IS '人事组织 ID,用于权限和报表分组。 | 来源: person_org_id';
|
||
COMMENT ON COLUMN dim_assistant_Ex.staff_id IS '预留员工 ID(全部为0)。 | 来源: staff_id';
|
||
COMMENT ON COLUMN dim_assistant_Ex.staff_profile_id IS '外部人事档案 ID(全部为0)。 | 来源: staff_profile_id';
|
||
COMMENT ON COLUMN dim_assistant_Ex.assistant_grade IS '平均评分(0 表示暂无)。 | 来源: assistant_grade';
|
||
COMMENT ON COLUMN dim_assistant_Ex.sum_grade IS '总评分累加值。 | 来源: sum_grade';
|
||
COMMENT ON COLUMN dim_assistant_Ex.get_grade_times IS '累计评分次数。 | 来源: get_grade_times';
|
||
COMMENT ON COLUMN dim_assistant_Ex.charge_way IS '计费方式:2=计时,其他未出现。 | 来源: charge_way';
|
||
COMMENT ON COLUMN dim_assistant_Ex.allow_cx IS '是否允许促销计费:1=允许。 | 来源: allow_cx';
|
||
COMMENT ON COLUMN dim_assistant_Ex.is_guaranteed IS '是否有保底:1=是。 | 来源: is_guaranteed';
|
||
COMMENT ON COLUMN dim_assistant_Ex.salary_grant_enabled IS '薪资发放开关(值2,具体含义未知)。 | 来源: salary_grant_enabled';
|
||
COMMENT ON COLUMN dim_assistant_Ex.entry_type IS '入职类型:1=正式;其他未出现。 | 来源: entry_type';
|
||
COMMENT ON COLUMN dim_assistant_Ex.entry_sign_status IS '入职签约状态:0=未签约,1=已签约(未出现)。 | 来源: entry_sign_status';
|
||
COMMENT ON COLUMN dim_assistant_Ex.resign_sign_status IS '离职签约状态,未出现非 0。 | 来源: resign_sign_status';
|
||
COMMENT ON COLUMN dim_assistant_Ex.work_status IS '工作状态:1=在岗,2=离岗。与 leave_status 呼应。 | 来源: work_status';
|
||
COMMENT ON COLUMN dim_assistant_Ex.show_status IS '前台展示状态:1=显示;其他值未出现。 | 来源: show_status';
|
||
COMMENT ON COLUMN dim_assistant_Ex.show_sort IS '前端排序序号。 | 来源: show_sort';
|
||
COMMENT ON COLUMN dim_assistant_Ex.online_status IS '在线状态:1=在线。 | 来源: online_status';
|
||
COMMENT ON COLUMN dim_assistant_Ex.is_delete IS '逻辑删除标记:0=未删除,1=已删除。 | 来源: is_delete';
|
||
COMMENT ON COLUMN dim_assistant_Ex.criticism_status IS '投诉状态:1=正常,2=有投诉。 | 来源: criticism_status';
|
||
COMMENT ON COLUMN dim_assistant_Ex.create_time IS '账号创建时间。 | 来源: create_time';
|
||
COMMENT ON COLUMN dim_assistant_Ex.update_time IS '账号最近修改时间。 | 来源: update_time';
|
||
COMMENT ON COLUMN dim_assistant_Ex.start_time IS '配置生效开始时间。 | 来源: start_time';
|
||
COMMENT ON COLUMN dim_assistant_Ex.end_time IS '配置生效结束时间。 | 来源: end_time';
|
||
COMMENT ON COLUMN dim_assistant_Ex.last_table_id IS '最近服务的台桌 ID(未必存在)。 | 来源: last_table_id';
|
||
COMMENT ON COLUMN dim_assistant_Ex.last_table_name IS '最近服务球台名称。 | 来源: last_table_name';
|
||
COMMENT ON COLUMN dim_assistant_Ex.last_update_name IS '最近更新该账号的管理员。 | 来源: last_update_name';
|
||
COMMENT ON COLUMN dim_assistant_Ex.order_trade_no IS '最近关联的订单号(非外键,仅做展示)。 | 来源: order_trade_no';
|
||
COMMENT ON COLUMN dim_assistant_Ex.ding_talk_synced IS '是否同步钉钉:1=已同步。 | 来源: ding_talk_synced';
|
||
COMMENT ON COLUMN dim_assistant_Ex.site_light_cfg_id IS '灯控配置 ID(未启用)。 | 来源: site_light_cfg_id';
|
||
COMMENT ON COLUMN dim_assistant_Ex.light_equipment_id IS '灯控设备 ID(未启用)。 | 来源: light_equipment_id';
|
||
COMMENT ON COLUMN dim_assistant_Ex.light_status IS '灯控状态(值2,具体含义未知)。 | 来源: light_status';
|
||
COMMENT ON COLUMN dim_assistant_Ex.is_team_leader IS '是否团队长:0=否,1=是。 | 来源: is_team_leader';
|
||
COMMENT ON COLUMN dim_assistant_Ex.serial_number IS '来源: serial_number';
|
||
|
||
-- dim_member
|
||
CREATE TABLE IF NOT EXISTS dim_member (
|
||
member_id BIGINT,
|
||
system_member_id BIGINT,
|
||
tenant_id BIGINT,
|
||
register_site_id BIGINT,
|
||
mobile TEXT,
|
||
nickname TEXT,
|
||
member_card_grade_code BIGINT,
|
||
member_card_grade_name TEXT,
|
||
create_time TIMESTAMPTZ,
|
||
update_time TIMESTAMPTZ,
|
||
PRIMARY KEY (member_id)
|
||
);
|
||
COMMENT ON COLUMN dim_member.member_id IS '租户内会员主键。 | 来源: id | 角色: 主键';
|
||
COMMENT ON COLUMN dim_member.system_member_id IS '跨租户全局会员 ID。 | 来源: system_member_id | 角色: 外键';
|
||
COMMENT ON COLUMN dim_member.tenant_id IS '租户 ID。 | 来源: tenant_id | 角色: 外键';
|
||
COMMENT ON COLUMN dim_member.register_site_id IS '注册门店 ID。 | 来源: register_site_id | 角色: 外键';
|
||
COMMENT ON COLUMN dim_member.mobile IS '会员手机号。 | 来源: mobile';
|
||
COMMENT ON COLUMN dim_member.nickname IS '昵称(未必是真实姓名)。 | 来源: nickname';
|
||
COMMENT ON COLUMN dim_member.member_card_grade_code IS '会员等级代码:1=金卡?2=银卡?3=钻石卡?4=黑卡?(按照 MD 文档枚举)。 | 来源: member_card_grade_code';
|
||
COMMENT ON COLUMN dim_member.member_card_grade_name IS '等级名称,中文描述。 | 来源: member_card_grade_name';
|
||
COMMENT ON COLUMN dim_member.create_time IS '会员档案创建时间。 | 来源: create_time';
|
||
COMMENT ON COLUMN dim_member.update_time IS '最近更新时间。 | 来源: update_time';
|
||
|
||
-- dim_member_Ex
|
||
CREATE TABLE IF NOT EXISTS dim_member_Ex (
|
||
member_id BIGINT,
|
||
referrer_member_id BIGINT,
|
||
point NUMERIC(18,2),
|
||
register_site_name TEXT,
|
||
growth_value NUMERIC(18,2),
|
||
user_status INTEGER,
|
||
status INTEGER,
|
||
PRIMARY KEY (member_id)
|
||
);
|
||
COMMENT ON COLUMN dim_member_Ex.member_id IS '租户内会员主键。 | 来源: id | 角色: 主键';
|
||
COMMENT ON COLUMN dim_member_Ex.referrer_member_id IS '推荐人会员 ID,营销分析用。 | 来源: referrer_member_id';
|
||
COMMENT ON COLUMN dim_member_Ex.point IS '积分余额(暂未启用)。 | 来源: point';
|
||
COMMENT ON COLUMN dim_member_Ex.register_site_name IS '注册门店名称。 | 来源: site_name';
|
||
COMMENT ON COLUMN dim_member_Ex.growth_value IS '成长值,暂未启用。 | 来源: growth_value';
|
||
COMMENT ON COLUMN dim_member_Ex.user_status IS '会员状态枚举:1=正常,其它值未出现。 | 来源: user_status';
|
||
COMMENT ON COLUMN dim_member_Ex.status IS '帐户状态:1=正常;其它值未出现。 | 来源: status';
|
||
|
||
-- dim_member_card_account
|
||
CREATE TABLE IF NOT EXISTS dim_member_card_account (
|
||
member_card_id BIGINT,
|
||
tenant_id BIGINT,
|
||
register_site_id BIGINT,
|
||
tenant_member_id BIGINT,
|
||
system_member_id BIGINT,
|
||
card_type_id BIGINT,
|
||
member_card_grade_code BIGINT,
|
||
member_card_grade_code_name TEXT,
|
||
member_card_type_name TEXT,
|
||
member_name TEXT,
|
||
member_mobile TEXT,
|
||
balance NUMERIC(18,2),
|
||
start_time TIMESTAMPTZ,
|
||
end_time TIMESTAMPTZ,
|
||
last_consume_time TIMESTAMPTZ,
|
||
status INTEGER,
|
||
is_delete INTEGER,
|
||
PRIMARY KEY (member_card_id)
|
||
);
|
||
COMMENT ON COLUMN dim_member_card_account.member_card_id IS '会员卡账户主键,唯一标识一张具体卡。 | 来源: id | 角色: 主键';
|
||
COMMENT ON COLUMN dim_member_card_account.tenant_id IS '租户/品牌 ID,用于分隔不同业务主体。 | 来源: tenant_id | 角色: 外键';
|
||
COMMENT ON COLUMN dim_member_card_account.register_site_id IS '开卡门店 ID,对应 dim_site.site_id。 | 来源: register_site_id | 角色: 外键';
|
||
COMMENT ON COLUMN dim_member_card_account.tenant_member_id IS '对应会员档案中的 member_id(本租户内)。0 表示未绑定会员。 | 来源: tenant_member_id | 角色: 外键';
|
||
COMMENT ON COLUMN dim_member_card_account.system_member_id IS '全局会员 ID,用于跨租户统一会员身份。0 表示未绑定会员。 | 来源: system_member_id | 角色: 外键';
|
||
COMMENT ON COLUMN dim_member_card_account.card_type_id IS '卡种 ID,指向卡种配置表。与下面的 grade_code 共同定义卡类别。 | 来源: card_type_id | 角色: 外键';
|
||
COMMENT ON COLUMN dim_member_card_account.member_card_grade_code IS '卡等级/卡类代码,区别不同类别卡。2790683528022853=储值卡,2790683528022856=活动抵用券,2790683528022855=台费卡,2790683528022858=酒水卡,2790683528022857=月卡';
|
||
COMMENT ON COLUMN dim_member_card_account.member_card_grade_code_name IS '卡等级中文名称,与 member_card_grade_code 一一对应。 | 来源: member_card_grade_code_name';
|
||
COMMENT ON COLUMN dim_member_card_account.member_card_type_name IS '卡类型名称,通常与 grade_code_name 相同,纯展示字段。 | 来源: member_card_type_name';
|
||
COMMENT ON COLUMN dim_member_card_account.member_name IS '持卡会员姓名快照,部分为空表示未绑定。 | 来源: member_name';
|
||
COMMENT ON COLUMN dim_member_card_account.member_mobile IS '持卡会员手机号快照。 | 来源: member_mobile';
|
||
COMMENT ON COLUMN dim_member_card_account.balance IS '当前余额或额度。对储值卡表示余额,对其他卡表示剩余金额或次数。 | 来源: balance';
|
||
COMMENT ON COLUMN dim_member_card_account.start_time IS '卡片有效期开始时间。 | 来源: start_time';
|
||
COMMENT ON COLUMN dim_member_card_account.end_time IS '卡片有效期结束时间。 | 来源: end_time';
|
||
COMMENT ON COLUMN dim_member_card_account.last_consume_time IS '最近一次消费时间;若为 "1970-01-01" 表示未消费过。 | 来源: last_consume_time';
|
||
COMMENT ON COLUMN dim_member_card_account.status IS '卡状态:1=正常可用;4=过期/停用。其他值在数据中未出现。 | 来源: status';
|
||
COMMENT ON COLUMN dim_member_card_account.is_delete IS '逻辑删除标记:0=未删除;1=已删除。 | 来源: is_delete';
|
||
|
||
-- dim_member_card_account_Ex
|
||
CREATE TABLE IF NOT EXISTS dim_member_card_account_Ex (
|
||
member_card_id BIGINT,
|
||
site_name TEXT,
|
||
tenant_name VARCHAR(64),
|
||
tenantAvatar TEXT,
|
||
effect_site_id BIGINT,
|
||
able_cross_site INTEGER,
|
||
card_physics_type INTEGER,
|
||
card_no TEXT,
|
||
bind_password TEXT,
|
||
use_scene TEXT,
|
||
denomination NUMERIC(18,2),
|
||
create_time TIMESTAMPTZ,
|
||
disable_start_time TIMESTAMPTZ,
|
||
disable_end_time TIMESTAMPTZ,
|
||
is_allow_give INTEGER,
|
||
is_allow_order_deduct INTEGER,
|
||
sort INTEGER,
|
||
table_discount NUMERIC(10,2),
|
||
goods_discount NUMERIC(10,2),
|
||
assistant_discount NUMERIC(10,2),
|
||
assistant_reward_discount NUMERIC(10,2),
|
||
table_service_discount NUMERIC(10,2),
|
||
goods_service_discount NUMERIC(10,2),
|
||
assistant_service_discount NUMERIC(10,2),
|
||
coupon_discount NUMERIC(10,2),
|
||
table_discount_sub_switch INTEGER,
|
||
goods_discount_sub_switch INTEGER,
|
||
assistant_discount_sub_switch INTEGER,
|
||
assistant_reward_discount_sub_switch INTEGER,
|
||
goods_discount_range_type INTEGER,
|
||
table_deduct_radio NUMERIC(10,2),
|
||
goods_deduct_radio NUMERIC(10,2),
|
||
assistant_deduct_radio NUMERIC(10,2),
|
||
table_service_deduct_radio NUMERIC(10,2),
|
||
goods_service_deduct_radio NUMERIC(10,2),
|
||
assistant_service_deduct_radio NUMERIC(10,2),
|
||
assistant_reward_deduct_radio NUMERIC(10,2),
|
||
coupon_deduct_radio NUMERIC(10,2),
|
||
cardSettleDeduct NUMERIC(18,2),
|
||
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),
|
||
couponCardDeduct NUMERIC(18,2),
|
||
deliveryFeeDeduct NUMERIC(18,2),
|
||
tableAreaId TEXT,
|
||
goodsCategoryId TEXT,
|
||
pdAssisnatLevel TEXT,
|
||
cxAssisnatLevel TEXT,
|
||
PRIMARY KEY (member_card_id)
|
||
);
|
||
COMMENT ON COLUMN dim_member_card_account_Ex.member_card_id IS '会员卡账户主键,唯一标识一张具体卡。 | 来源: id | 角色: 主键';
|
||
COMMENT ON COLUMN dim_member_card_account_Ex.site_name IS '门店名称展示字段(全部相同)。 | 来源: site_name';
|
||
COMMENT ON COLUMN dim_member_card_account_Ex.tenant_name IS '租户名称(当前导出为空)。 | 来源: tenantName';
|
||
COMMENT ON COLUMN dim_member_card_account_Ex.tenantAvatar IS '租户头像 URL(当前导出为空)。 | 来源: tenantAvatar';
|
||
COMMENT ON COLUMN dim_member_card_account_Ex.effect_site_id IS '卡片限定生效门店 ID。0 表示不限门店,配合 able_cross_site=1 表示全店通用。 | 来源: effect_site_id';
|
||
COMMENT ON COLUMN dim_member_card_account_Ex.able_cross_site IS '是否允许跨门店使用该卡:1=允许跨店;0=仅限开卡门店。 | 来源: able_cross_site';
|
||
COMMENT ON COLUMN dim_member_card_account_Ex.card_physics_type IS '物理卡类型:1=实体/标准卡;其他值未出现,含义未知。 | 来源: card_physics_type';
|
||
COMMENT ON COLUMN dim_member_card_account_Ex.card_no IS '物理卡号或条码(当前全部为空)。 | 来源: card_no';
|
||
COMMENT ON COLUMN dim_member_card_account_Ex.bind_password IS '卡绑定密码(未启用)。 | 来源: bind_password';
|
||
COMMENT ON COLUMN dim_member_card_account_Ex.use_scene IS '使用场景说明(当前为空)。 | 来源: use_scene';
|
||
COMMENT ON COLUMN dim_member_card_account_Ex.denomination IS '面额或初始储值额度(当前均为 0.0,未启用)。 | 来源: denomination';
|
||
COMMENT ON COLUMN dim_member_card_account_Ex.create_time IS '卡片创建时间。 | 来源: create_time';
|
||
COMMENT ON COLUMN dim_member_card_account_Ex.disable_start_time IS '卡片禁用开始时间,当前为默认值表示未禁用。 | 来源: disable_start_time';
|
||
COMMENT ON COLUMN dim_member_card_account_Ex.disable_end_time IS '卡片禁用结束时间,当前为默认值表示未禁用。 | 来源: disable_end_time';
|
||
COMMENT ON COLUMN dim_member_card_account_Ex.is_allow_give IS '是否允许转赠给他人:0=不允许;1=允许。 | 来源: is_allow_give';
|
||
COMMENT ON COLUMN dim_member_card_account_Ex.is_allow_order_deduct IS '是否允许在订单层面统一扣款:0=不允许;1=允许。 | 来源: is_allow_order_deduct';
|
||
COMMENT ON COLUMN dim_member_card_account_Ex.sort IS '前端排序序号。 | 来源: sort';
|
||
COMMENT ON COLUMN dim_member_card_account_Ex.table_discount IS '台费折扣率(折扣百分比,10.0=不打折,9.0=九折等)。当前全部 10.0。 | 来源: table_discount';
|
||
COMMENT ON COLUMN dim_member_card_account_Ex.goods_discount IS '商品折扣率,当前为 10.0 表示无折扣。 | 来源: goods_discount';
|
||
COMMENT ON COLUMN dim_member_card_account_Ex.assistant_discount IS '助教服务折扣率,当前为 10.0。 | 来源: assistant_discount';
|
||
COMMENT ON COLUMN dim_member_card_account_Ex.assistant_reward_discount IS '助教奖励折扣率,当前为 10.0(未启用)。 | 来源: assistant_reward_discount';
|
||
COMMENT ON COLUMN dim_member_card_account_Ex.table_service_discount IS '台费服务类折扣率,当前为 10.0。 | 来源: table_service_discount';
|
||
COMMENT ON COLUMN dim_member_card_account_Ex.goods_service_discount IS '商品服务折扣率,当前为 10.0。 | 来源: goods_service_discount';
|
||
COMMENT ON COLUMN dim_member_card_account_Ex.assistant_service_discount IS '助教服务类折扣率,当前为 10.0。 | 来源: assistant_service_discount';
|
||
COMMENT ON COLUMN dim_member_card_account_Ex.coupon_discount IS '使用券的折扣比例(全部 10.0,未使用)。 | 来源: coupon_discount';
|
||
COMMENT ON COLUMN dim_member_card_account_Ex.table_discount_sub_switch IS '台费折扣叠加开关:1=叠加其他折扣;2=不叠加,仅用卡折扣。 | 来源: table_discount_sub_switch';
|
||
COMMENT ON COLUMN dim_member_card_account_Ex.goods_discount_sub_switch IS '商品折扣叠加开关,意义同上。 | 来源: goods_discount_sub_switch';
|
||
COMMENT ON COLUMN dim_member_card_account_Ex.assistant_discount_sub_switch IS '助教折扣叠加开关,意义同上。 | 来源: assistant_discount_sub_switch';
|
||
COMMENT ON COLUMN dim_member_card_account_Ex.assistant_reward_discount_sub_switch IS '助教奖励折扣叠加开关(未启用)。 | 来源: assistant_reward_discount_sub_switch';
|
||
COMMENT ON COLUMN dim_member_card_account_Ex.goods_discount_range_type IS '商品折扣范围类型,未在文档说明具体含义。 | 来源: goods_discount_range_type';
|
||
COMMENT ON COLUMN dim_member_card_account_Ex.table_deduct_radio IS '台费抵扣比例(百分比)。100.0 表示允许全额抵扣;0=不允许。 | 来源: table_deduct_radio';
|
||
COMMENT ON COLUMN dim_member_card_account_Ex.goods_deduct_radio IS '商品抵扣比例,意义同上。 | 来源: goods_deduct_radio';
|
||
COMMENT ON COLUMN dim_member_card_account_Ex.assistant_deduct_radio IS '助教抵扣比例,意义同上。 | 来源: assistant_deduct_radio';
|
||
COMMENT ON COLUMN dim_member_card_account_Ex.table_service_deduct_radio IS '台费服务金抵扣比例。 | 来源: table_service_deduct_radio';
|
||
COMMENT ON COLUMN dim_member_card_account_Ex.goods_service_deduct_radio IS '商品服务金抵扣比例。 | 来源: goods_service_deduct_radio';
|
||
COMMENT ON COLUMN dim_member_card_account_Ex.assistant_service_deduct_radio IS '助教服务金抵扣比例。 | 来源: assistant_service_deduct_radio';
|
||
COMMENT ON COLUMN dim_member_card_account_Ex.assistant_reward_deduct_radio IS '助教奖励金抵扣比例(未启用)。 | 来源: assistant_reward_deduct_radio';
|
||
COMMENT ON COLUMN dim_member_card_account_Ex.coupon_deduct_radio IS '券抵扣比例(未启用)。 | 来源: coupon_deduct_radio';
|
||
COMMENT ON COLUMN dim_member_card_account_Ex.cardSettleDeduct IS '结算时统一扣卡金额配置(当前为 0.0,未使用)。 | 来源: cardSettleDeduct';
|
||
COMMENT ON COLUMN dim_member_card_account_Ex.tableCardDeduct IS '台费扣卡金额配置,当前 0.0。 | 来源: tableCardDeduct';
|
||
COMMENT ON COLUMN dim_member_card_account_Ex.tableServiceCardDeduct IS '台费服务金扣卡金额配置。 | 来源: tableServiceCardDeduct';
|
||
COMMENT ON COLUMN dim_member_card_account_Ex.goodsCarDeduct IS '商品扣卡金额配置。 | 来源: goodsCarDeduct';
|
||
COMMENT ON COLUMN dim_member_card_account_Ex.goodsServiceCardDeduct IS '商品服务金扣卡金额配置。 | 来源: goodsServiceCardDeduct';
|
||
COMMENT ON COLUMN dim_member_card_account_Ex.assistantCardDeduct IS '助教扣卡金额配置。 | 来源: assistantCardDeduct';
|
||
COMMENT ON COLUMN dim_member_card_account_Ex.assistantServiceCardDeduct IS '助教服务金扣卡金额配置。 | 来源: assistantServiceCardDeduct';
|
||
COMMENT ON COLUMN dim_member_card_account_Ex.assistantRewardCardDeduct IS '助教奖励金扣卡金额配置(未启用)。 | 来源: assistantRewardCardDeduct';
|
||
COMMENT ON COLUMN dim_member_card_account_Ex.couponCardDeduct IS '使用券扣卡金额配置。 | 来源: couponCardDeduct';
|
||
COMMENT ON COLUMN dim_member_card_account_Ex.deliveryFeeDeduct IS '配送费扣卡金额配置(未启用)。 | 来源: deliveryFeeDeduct';
|
||
COMMENT ON COLUMN dim_member_card_account_Ex.tableAreaId IS '可用台区 ID 列表,空表示不限台区。 | 来源: tableAreaId';
|
||
COMMENT ON COLUMN dim_member_card_account_Ex.goodsCategoryId IS '可用商品分类 ID 列表,空表示不限制商品类别。 | 来源: goodsCategoryId';
|
||
COMMENT ON COLUMN dim_member_card_account_Ex.pdAssisnatLevel IS '允许的陪打助教等级列表,空表示不限。 | 来源: pdAssisnatLevel';
|
||
COMMENT ON COLUMN dim_member_card_account_Ex.cxAssisnatLevel IS '允许的促销助教等级列表,空表示不限。 | 来源: cxAssisnatLevel';
|
||
|
||
-- dim_tenant_goods
|
||
CREATE TABLE IF NOT EXISTS dim_tenant_goods (
|
||
tenant_goods_id BIGINT,
|
||
tenant_id BIGINT,
|
||
supplier_id BIGINT,
|
||
category_name VARCHAR(64),
|
||
goods_category_id BIGINT,
|
||
goods_second_category_id BIGINT,
|
||
goods_name VARCHAR(128),
|
||
goods_number VARCHAR(64),
|
||
unit VARCHAR(16),
|
||
market_price NUMERIC(18,2),
|
||
goods_state INTEGER,
|
||
create_time TIMESTAMPTZ,
|
||
update_time TIMESTAMPTZ,
|
||
is_delete INTEGER,
|
||
PRIMARY KEY (tenant_goods_id)
|
||
);
|
||
COMMENT ON COLUMN dim_tenant_goods.tenant_goods_id IS '租户级商品档案主键 ID,唯一标识一条商品档案。所有业务事实表(销售、库存等)中引用租户级商品时应指向此字段。 | 来源: id | 角色: 主键';
|
||
COMMENT ON COLUMN dim_tenant_goods.tenant_id IS '租户/品牌 ID,用于区分不同商户。当前样本中全表同一值,但模型上应作为维表外键,用于关联租户维度。 | 来源: tenant_id | 角色: 外键';
|
||
COMMENT ON COLUMN dim_tenant_goods.supplier_id IS '供应商 ID,用于关联供应商档案维度。当前样本全部为 0,说明门店尚未维护供应商信息或导出视图未包含真实供应商关联,但字段含义明确。 | 来源: supplier_id | 角色: 外键';
|
||
COMMENT ON COLUMN dim_tenant_goods.category_name IS '商品一级分类名称(可读名称),例如:零食、饮料、香烟、雪糕、小吃、酒水、面、槟榔等。真实分类关联通过 goods_category_id 与 goods_second_category_id 实现,此字段主要用于展示和直观分析。 | 来源: categoryName';
|
||
COMMENT ON COLUMN dim_tenant_goods.goods_category_id IS '商品一级分类 ID。与分类维表(例如 dim_goods_category)关联,构成商品分类的第一层。一个 goods_category_id 对应一个 category_name。 | 来源: goods_category_id | 角色: 外键';
|
||
COMMENT ON COLUMN dim_tenant_goods.goods_second_category_id IS '商品二级分类 ID。与分类维表的二级节点关联,用于更细粒度的品类统计。取值数目约十四种,每个值属于某个一级分类之下。 | 来源: goods_second_category_id | 角色: 外键';
|
||
COMMENT ON COLUMN dim_tenant_goods.goods_name IS '商品名称(前台展示名),如 “东方树叶”“红烧牛肉面”“百威 235 毫升”等。当前样本中基本唯一。作为用户认知的主显示名称,用于报表、前台展示、小票打印。 | 来源: goods_name';
|
||
COMMENT ON COLUMN dim_tenant_goods.goods_number IS '商品内部编号或自定义货号。当前样本中各记录不重复,如 “1”“2”“10”“11” 等。可用于与其他系统对接或人工查找,有一定对账和排错价值。 | 来源: goods_number';
|
||
COMMENT ON COLUMN dim_tenant_goods.unit IS '商品计量单位,例如:瓶、包、个、份、根、盒、杯、桶、盘、支等。用于解释数量含义,是销售数量与库存数量的度量单位。 | 来源: unit';
|
||
COMMENT ON COLUMN dim_tenant_goods.market_price IS '商品标价或标准销售单价。例如 2、5、6、8、10、12、15、18、20、28 元。POS 默认销售价格,结算时的基础金额字段。 | 来源: market_price';
|
||
COMMENT ON COLUMN dim_tenant_goods.goods_state IS '商品状态枚举。当前样本全部为 1,推测含义为“正常”“已上架”或“有效”。其他值(数据中未出现)通常表示下架、停用或草稿状态。用于控制商品是否可销售。 | 来源: goods_state';
|
||
COMMENT ON COLUMN dim_tenant_goods.create_time IS '商品档案创建时间,格式为 “YYYY-MM-DD HH:MM:SS”。每条记录唯一。用于增量抽取和审计,也可用于分析商品生命周期。 | 来源: create_time';
|
||
COMMENT ON COLUMN dim_tenant_goods.update_time IS '商品档案最近一次修改时间,可为空(表示自创建后未修改)。用于增量同步、变化跟踪和审计分析。 | 来源: update_time';
|
||
COMMENT ON COLUMN dim_tenant_goods.is_delete IS '逻辑删除标志。枚举:0 表示未删除(有效商品);1 表示已逻辑删除(在前台不再展示)。当前样本全部为 0。用于软删除控制和历史数据保留。 | 来源: is_delete';
|
||
|
||
-- dim_tenant_goods_Ex
|
||
CREATE TABLE IF NOT EXISTS dim_tenant_goods_Ex (
|
||
tenant_goods_id BIGINT,
|
||
remark_name VARCHAR(128),
|
||
pinyin_initial VARCHAR(128),
|
||
goods_cover VARCHAR(512),
|
||
goods_bar_code VARCHAR(64),
|
||
commodity_code VARCHAR(64),
|
||
commodity_code_list VARCHAR(256),
|
||
min_discount_price NUMERIC(18,2),
|
||
cost_price NUMERIC(18,2),
|
||
cost_price_type INTEGER,
|
||
able_discount INTEGER,
|
||
sale_channel INTEGER,
|
||
is_warehousing INTEGER,
|
||
is_in_site BOOLEAN,
|
||
able_site_transfer INTEGER,
|
||
common_sale_royalty INTEGER,
|
||
point_sale_royalty INTEGER,
|
||
out_goods_id BIGINT,
|
||
PRIMARY KEY (tenant_goods_id)
|
||
);
|
||
COMMENT ON COLUMN dim_tenant_goods_Ex.tenant_goods_id IS '租户级商品档案主键 ID,唯一标识一条商品档案。所有业务事实表(销售、库存等)中引用租户级商品时应指向此字段。 | 来源: id | 角色: 主键';
|
||
COMMENT ON COLUMN dim_tenant_goods_Ex.remark_name IS '商品备注名或别名,目前样本中均为空。设计用途为简写名、特殊展示名或内部备注,在当前门店尚未启用。 | 来源: remark_name';
|
||
COMMENT ON COLUMN dim_tenant_goods_Ex.pinyin_initial IS '商品拼音首字母或助记码,用于前台按拼音检索,如 “DFSY,DFSX”“HSNRM,GSNRM”“SP” 等。主要为操作便利,对经营分析影响较小。 | 来源: pinyin_initial';
|
||
COMMENT ON COLUMN dim_tenant_goods_Ex.goods_cover IS '商品封面图片 URL,用于前端展示商品图片。多个商品可能共用同一图片。对经营和结算逻辑无直接影响。 | 来源: goods_cover';
|
||
COMMENT ON COLUMN dim_tenant_goods_Ex.goods_bar_code IS '商品条码(如 EAN 码)。当前样本全部为空。含义明确但尚未使用,未来可用于扫码收银或与第三方商品库对接。 | 来源: goods_bar_code';
|
||
COMMENT ON COLUMN dim_tenant_goods_Ex.commodity_code IS '对外商品编码或系列编码,用于与外部系统或其他内部模块对接。例如 “10000”“100000”“10000028”等。一个编码在多条商品上复用,说明它不是主键而是“系列标识”或“外部编码”。具体业务含义依赖上游系统定义。 | 来源: commodity_code';
|
||
COMMENT ON COLUMN dim_tenant_goods_Ex.commodity_code_list IS '商品编码列表的序列化形式,对应源 JSON 的数组字段(当前每条记录仅一个元素)。设计上支持 “一个商品多个编码” 场景,目前仅为 commodity_code 的冗余表现形式。 | 来源: commodityCode';
|
||
COMMENT ON COLUMN dim_tenant_goods_Ex.min_discount_price IS '商品可售最低价(底价)。部分记录为 0.00,表示未设置底价或沿用系统默认规则。用于限制打折或手动改价的下限,防止亏损销售。 | 来源: min_discount_price';
|
||
COMMENT ON COLUMN dim_tenant_goods_Ex.cost_price IS '商品成本价,当前大多数为 0.00,仅少数录入 2.0、2.5、3.0 等。用于成本核算与毛利分析。虽当前门店未完整维护,但字段含义清晰,属于成本分析必备结构。 | 来源: cost_price';
|
||
COMMENT ON COLUMN dim_tenant_goods_Ex.cost_price_type IS '成本价格类型枚举,用于标识成本价的来源或计算方式。已知取值:1 和 2。常见推测:1 表示手工录入成本;2 表示按最近进货价或加权平均价生成。具体含义需结合系统枚举字典确认。 | 来源: cost_price_type';
|
||
COMMENT ON COLUMN dim_tenant_goods_Ex.able_discount IS '是否允许该商品参与折扣的标志。已知取值:1。按命名推断枚举约定为:1 表示允许参与打折;0 表示不允许参与打折(当前样本未出现)。配合活动、整单折扣等控制哪些商品可享优惠。 | 来源: able_discount';
|
||
COMMENT ON COLUMN dim_tenant_goods_Ex.sale_channel IS '销售渠道类型枚举。当前样本全部为 1,推测为“线下门店正常销售渠道”。理论上可扩展为不同渠道值,例如外卖、小程序、电商等,用于渠道维度分析。具体枚举说明依赖系统配置。 | 来源: sale_channel';
|
||
COMMENT ON COLUMN dim_tenant_goods_Ex.is_warehousing IS '是否纳入库存管理的标志。已知取值:1,表示纳入库存管理;0 则表示不纳入库存管理(虚拟商品等,当前未出现)。本门店所有商品均启用库存管理。 | 来源: is_warehousing';
|
||
COMMENT ON COLUMN dim_tenant_goods_Ex.is_in_site IS '是否在当前门店启用或上架。当前样本全部为 false。由于该文件是租户级商品档案视图,且 isInSite 全为 false,该字段在本视图的实际含义存在不确定性,可能仅在门店级商品表中才有明确业务意义。 | 来源: isInSite';
|
||
COMMENT ON COLUMN dim_tenant_goods_Ex.able_site_transfer IS '是否允许门店间调拨或门店级操作的枚举。已知取值:2 为绝大多数,0 为少数一条。按命名推测大致含义为:2 表示允许调拨或默认允许;0 表示禁止调拨。实际枚举定义需查阅系统配置,当前无法完全确定具体业务规则。 | 来源: able_site_transfer';
|
||
COMMENT ON COLUMN dim_tenant_goods_Ex.common_sale_royalty IS '普通销售提成或佣金配置字段,单位和含义需结合上游系统(可能为金额或比例)。当前样本全部为 0,说明未启用商品级提成配置。 | 来源: common_sale_royalty';
|
||
COMMENT ON COLUMN dim_tenant_goods_Ex.point_sale_royalty IS '积分销售相关的提成或赠送规则配置字段。当前样本全部为 0,同样未启用该功能。具体数值含义(百分比或固定值)需结合系统定义。 | 来源: point_sale_royalty';
|
||
COMMENT ON COLUMN dim_tenant_goods_Ex.out_goods_id IS '外部系统商品 ID,用于对接第三方平台或统一商品库时作为映射主键。目前样本全部为 0,说明尚未配置外部商品映射,具体对接规则依赖上游系统。 | 来源: out_goods_id';
|
||
|
||
-- dim_store_goods
|
||
CREATE TABLE IF NOT EXISTS dim_store_goods (
|
||
site_goods_id BIGINT,
|
||
tenant_id BIGINT,
|
||
site_id BIGINT,
|
||
tenant_goods_id BIGINT,
|
||
goods_name TEXT,
|
||
goods_category_id BIGINT,
|
||
goods_second_category_id BIGINT,
|
||
category_level1_name TEXT,
|
||
category_level2_name TEXT,
|
||
batch_stock_qty INTEGER,
|
||
sale_qty INTEGER,
|
||
total_sales_qty INTEGER,
|
||
sale_price NUMERIC(18,2),
|
||
created_at TIMESTAMPTZ,
|
||
updated_at TIMESTAMPTZ,
|
||
avg_monthly_sales NUMERIC(18,4),
|
||
goods_state INTEGER,
|
||
enable_status INTEGER,
|
||
send_state INTEGER,
|
||
is_delete INTEGER,
|
||
PRIMARY KEY (site_goods_id)
|
||
);
|
||
COMMENT ON COLUMN dim_store_goods.site_goods_id IS '门店级商品 ID,本表主键;其它业务表中的 site_goods_id 与此对应,用于库存、销售等关联。 | 来源: id | 角色: 主键';
|
||
COMMENT ON COLUMN dim_store_goods.tenant_id IS '租户/品牌 ID,同一品牌下多个门店共享,用于跨门店汇总分析。 | 来源: tenant_id | 角色: 外键';
|
||
COMMENT ON COLUMN dim_store_goods.site_id IS '门店 ID,对应门店维度表主键。 | 来源: site_id | 角色: 外键';
|
||
COMMENT ON COLUMN dim_store_goods.tenant_goods_id IS '租户级(品牌级)商品 ID,用于关联 dim_tenant_goods,实现跨门店统一商品档案。 | 来源: tenant_goods_id | 角色: 外键';
|
||
COMMENT ON COLUMN dim_store_goods.goods_name IS '商品名称,例如“合味道泡面”“地道肠”“茶位费”。 | 来源: goods_name';
|
||
COMMENT ON COLUMN dim_store_goods.goods_category_id IS '商品一级分类 ID,对应商品分类维表主键,与 category_level1_name 一一对应。 | 来源: goods_category_id | 角色: 外键';
|
||
COMMENT ON COLUMN dim_store_goods.goods_second_category_id IS '商品二级分类 ID,其父分类为 goods_category_id。 | 来源: goods_second_category_id | 角色: 外键';
|
||
COMMENT ON COLUMN dim_store_goods.category_level1_name IS '一级分类名称,如“零食”“酒水”“服务费”,用于报表维度展示。 | 来源: oneCategoryName';
|
||
COMMENT ON COLUMN dim_store_goods.category_level2_name IS '二级分类名称,如“面”“洋酒”“纸巾”,用于更细粒度分类分析。 | 来源: twoCategoryName';
|
||
COMMENT ON COLUMN dim_store_goods.batch_stock_qty IS '当前成本批次的库存数量,用于按 cost_price 估算库存价值。 | 来源: batch_stock_quantity';
|
||
COMMENT ON COLUMN dim_store_goods.sale_qty IS '截至导出时的销售数量(件),当前数据中与 total_sales_qty 相同。 | 来源: sale_num';
|
||
COMMENT ON COLUMN dim_store_goods.total_sales_qty IS '累计销售数量;当前导出周期下与 sale_qty 一致,为历史全量口径。 | 来源: total_sales';
|
||
COMMENT ON COLUMN dim_store_goods.sale_price IS '商品标准销售价(挂牌价),单位为元。实际结算可能有折扣或券抵扣。 | 来源: sale_price';
|
||
COMMENT ON COLUMN dim_store_goods.created_at IS '门店商品档案创建时间(在门店建立该商品档案时的时间点)。 | 来源: create_time';
|
||
COMMENT ON COLUMN dim_store_goods.updated_at IS '最近一次修改商品档案的时间(包括价格调整、状态变更等)。 | 来源: update_time';
|
||
COMMENT ON COLUMN dim_store_goods.avg_monthly_sales IS '平均月销量(件/月),由某个统计周期内销售数据折算而来,用于补货和品类管理分析。 | 来源: average_monthly_sales';
|
||
COMMENT ON COLUMN dim_store_goods.goods_state IS '商品基础状态枚举:1=正常状态(主流值),2=特殊状态(如新建未完全启用或停售但未彻底下架,通常伴随 stock=0、days_on_shelf=0)。 | 来源: goods_state';
|
||
COMMENT ON COLUMN dim_store_goods.enable_status IS '档案启用状态:1=启用;2=停用(推测,样本中未出现);控制商品档案是否参与业务处理。 | 来源: enable_status';
|
||
COMMENT ON COLUMN dim_store_goods.send_state IS '销售端可售状态:1=可销售/可下单;其他值可能代表停售或仅内部使用(当前样本全部为 1)。 | 来源: send_state';
|
||
COMMENT ON COLUMN dim_store_goods.is_delete IS '逻辑删除标志:0=未删除(有效档案);1=已删除(逻辑删除,不再参与业务但保留历史引用)。 | 来源: is_delete';
|
||
|
||
-- dim_store_goods_Ex
|
||
CREATE TABLE IF NOT EXISTS dim_store_goods_Ex (
|
||
site_goods_id BIGINT,
|
||
site_name TEXT,
|
||
unit TEXT,
|
||
goods_barcode TEXT,
|
||
goods_cover_url TEXT,
|
||
pinyin_initial TEXT,
|
||
stock_qty INTEGER,
|
||
stock_secondary_qty INTEGER,
|
||
safety_stock_qty INTEGER,
|
||
cost_price NUMERIC(18,4),
|
||
cost_price_type INTEGER,
|
||
provisional_total_cost NUMERIC(18,2),
|
||
total_purchase_cost NUMERIC(18,2),
|
||
min_discount_price NUMERIC(18,2),
|
||
is_discountable INTEGER,
|
||
days_on_shelf INTEGER,
|
||
audit_status INTEGER,
|
||
sale_channel INTEGER,
|
||
is_warehousing INTEGER,
|
||
freeze_status INTEGER,
|
||
forbid_sell_status INTEGER,
|
||
able_site_transfer INTEGER,
|
||
custom_label_type INTEGER,
|
||
option_required INTEGER,
|
||
remark TEXT,
|
||
sort_order INTEGER,
|
||
PRIMARY KEY (site_goods_id)
|
||
);
|
||
COMMENT ON COLUMN dim_store_goods_Ex.site_goods_id IS '门店级商品 ID,本表主键;其它业务表中的 site_goods_id 与此对应,用于库存、销售等关联。 | 来源: id | 角色: 主键';
|
||
COMMENT ON COLUMN dim_store_goods_Ex.site_name IS '门店名称,例如“朗朗桌球”,是对 site_id 的冗余展示,方便直接阅读。 | 来源: siteName';
|
||
COMMENT ON COLUMN dim_store_goods_Ex.unit IS '销售计量单位,如“包”“瓶”“个”“份”“杯”等。 | 来源: unit';
|
||
COMMENT ON COLUMN dim_store_goods_Ex.goods_barcode IS '商品条形码,用于扫码销售;当前样本多为空。 | 来源: goods_bar_code';
|
||
COMMENT ON COLUMN dim_store_goods_Ex.goods_cover_url IS '商品图片 URL,用于前端展示商品图片。 | 来源: goods_cover';
|
||
COMMENT ON COLUMN dim_store_goods_Ex.pinyin_initial IS '商品名称拼音首字母缩写,有时多个别名用逗号分隔,用于按字母快速检索和排序。 | 来源: pinyin_initial';
|
||
COMMENT ON COLUMN dim_store_goods_Ex.stock_qty IS '当前主单位可用库存数量,以 unit 为单位。 | 来源: stock';
|
||
COMMENT ON COLUMN dim_store_goods_Ex.stock_secondary_qty IS '副单位库存数量;若商品存在双单位(如箱/瓶),用于记录副单位库存;当前门店未启用双单位库存,样本中为 0。 | 来源: stock_A';
|
||
COMMENT ON COLUMN dim_store_goods_Ex.safety_stock_qty IS '安全库存阈值,低于该值时系统可提示补货;当前门店尚未配置,样本中为 0。 | 来源: safe_stock';
|
||
COMMENT ON COLUMN dim_store_goods_Ex.cost_price IS '商品单件成本价,单位元;部分商品为 0,表示未录入或由其它模块结转成本。 | 来源: cost_price';
|
||
COMMENT ON COLUMN dim_store_goods_Ex.cost_price_type IS '成本类型枚举:1=固定成本价(按 cost_price 计),2=动态成本价(按采购单等方式结转,当前多数仍为暂估)。 | 来源: cost_price_type';
|
||
COMMENT ON COLUMN dim_store_goods_Ex.provisional_total_cost IS '当前库存暂估总成本,单位元;通常约等于 batch_stock_qty × cost_price。 | 来源: provisional_total_cost';
|
||
COMMENT ON COLUMN dim_store_goods_Ex.total_purchase_cost IS '当前库存总采购成本,单位元;当前样本中与 provisional_total_cost 相等,为后续精算成本预留。 | 来源: total_purchase_cost';
|
||
COMMENT ON COLUMN dim_store_goods_Ex.min_discount_price IS '最低允许成交价(限价),单位元;收银改价时需保证成交价 ≥ 此值,为 0 时表示未设置限价或由其它规则控制。 | 来源: min_discount_price';
|
||
COMMENT ON COLUMN dim_store_goods_Ex.is_discountable IS '是否允许参与折扣的标志:1=允许参与折扣;0=不参与任何折扣策略。当前样本全部为 1。 | 来源: able_discount';
|
||
COMMENT ON COLUMN dim_store_goods_Ex.days_on_shelf IS '商品在架天数或可售天数,大致等于当前时间减去首次上架时间;0 通常表示刚建档或刚启用。 | 来源: days_available';
|
||
COMMENT ON COLUMN dim_store_goods_Ex.audit_status IS '审核状态枚举:2=审核通过(当前唯一值);其他值可能代表待提交、待审核、审核不通过等。 | 来源: audit_status';
|
||
COMMENT ON COLUMN dim_store_goods_Ex.sale_channel IS '销售渠道枚举:当前样本全部为 1 表示线下门店渠道;其他值可用于区分外卖、线上商城等渠道。 | 来源: sale_channel';
|
||
COMMENT ON COLUMN dim_store_goods_Ex.is_warehousing IS '是否纳入库存管理:1=参与库存管理(有出入库流水);0 或其他值可能表示不计库存(样本中全部为 1)。 | 来源: is_warehousing';
|
||
COMMENT ON COLUMN dim_store_goods_Ex.freeze_status IS '冻结状态:0=未冻结;非 0 可能表示锁定库存或禁止出库,具体业务规则需系统确认。 | 来源: freeze';
|
||
COMMENT ON COLUMN dim_store_goods_Ex.forbid_sell_status IS '禁止销售状态:1=未禁止,允许销售;2=被禁止销售,即使上架也不能卖(含义基于命名和行业惯例推测)。 | 来源: forbid_sell_status';
|
||
COMMENT ON COLUMN dim_store_goods_Ex.able_site_transfer IS '是否允许跨门店调拨或跨站点共享库存:2=不允许跨店调拨(当前主流值);0=未配置(个别记录),含义为是否参与跨店调拨功能。 | 来源: able_site_transfer';
|
||
COMMENT ON COLUMN dim_store_goods_Ex.custom_label_type IS '自定义标签类型(基于字段名和取值推测):2=使用自定义标签;1 可能表示使用系统默认标签。具体影响哪些标签功能需业务确认。 | 来源: custom_label_type';
|
||
COMMENT ON COLUMN dim_store_goods_Ex.option_required IS '是否需要额外选项或规格(基于字段名和取值推测):1=不需要额外选项,按单规格销售;其他值可能表示必须选择配料或口味。当前样本全部为 1。 | 来源: option_required';
|
||
COMMENT ON COLUMN dim_store_goods_Ex.remark IS '商品备注,可填写口味说明、供应商信息、注意事项等;当前样本全部为空。 | 来源: remark';
|
||
COMMENT ON COLUMN dim_store_goods_Ex.sort_order IS '前端展示排序权重,控制商品在列表中的显示顺序,具体规则(数值越大还是越小排前)由业务配置决定。 | 来源: sort';
|
||
|
||
-- dim_goods_category
|
||
CREATE TABLE IF NOT EXISTS dim_goods_category (
|
||
category_id BIGINT,
|
||
tenant_id BIGINT,
|
||
category_name VARCHAR(50),
|
||
alias_name VARCHAR(50),
|
||
parent_category_id BIGINT,
|
||
business_name VARCHAR(50),
|
||
tenant_goods_business_id BIGINT,
|
||
category_level INTEGER,
|
||
is_leaf INTEGER,
|
||
open_salesman INTEGER,
|
||
sort_order INTEGER,
|
||
is_warehousing INTEGER,
|
||
PRIMARY KEY (category_id)
|
||
);
|
||
COMMENT ON COLUMN dim_goods_category.category_id IS '分类节点主键。来自分类树节点的 id,在整个商品分类维度内唯一。用于在事实表中作为商品分类外键引用。 | 来源: id | 角色: 主键';
|
||
COMMENT ON COLUMN dim_goods_category.tenant_id IS '租户 ID(商户/品牌 ID)。当前所有节点取值相同,表示同一个租户下的分类树。事实表可通过该字段与租户维度或门店维度间接关联。 | 来源: tenant_id | 角色: 外键';
|
||
COMMENT ON COLUMN dim_goods_category.category_name IS '分类名称。一级大类示例:槟榔、器材、酒水、水果、零食、雪糕、香烟、其他、小吃。二级子类示例:槟榔、皮头、球杆、其他、饮料、酒水、茶水、咖啡、加料、洋酒、果盘、面、小吃等。用于前台展示和报表按细分类统计。 | 来源: category_name';
|
||
COMMENT ON COLUMN dim_goods_category.alias_name IS '分类别名。当前样例数据全部为空字符串,预留给业务方做简称或别名展示。对现阶段经营分析无影响。 | 来源: alias_name';
|
||
COMMENT ON COLUMN dim_goods_category.parent_category_id IS '父级分类 ID。根节点取值为 0,表示没有父分类;子节点取值为父分类的 id。与 category_id 共同形成树形层级关系。 | 来源: pid | 角色: 外键';
|
||
COMMENT ON COLUMN dim_goods_category.business_name IS '业务大类名称。将多个细分类归入同一业务线。观测值与一级大类相同:槟榔、器材、酒水、水果、零食、雪糕、香烟、其他、小吃。子类的 business_name 继承所属根节点的大类名称。用于按业务线汇总库存和销售。 | 来源: business_name';
|
||
COMMENT ON COLUMN dim_goods_category.tenant_goods_business_id IS '业务大类 ID。每个 business_name 对应唯一一个 tenant_goods_business_id,根节点和其下所有子节点共享同一取值。例如“酒水”大类及其子类饮料、茶水、咖啡、加料、洋酒拥有相同的业务 ID。可作为外键连接“业务线维度表”。 | 来源: tenant_goods_business_id | 角色: 外键';
|
||
COMMENT ON COLUMN dim_goods_category.category_level IS '分类层级:1 表示一级大类(pid = 0),2 表示二级子类(pid ≠ 0)。方便在报表中区分大类与子类进行分组和展示层级控制。 | 来源: 由 pid 推导';
|
||
COMMENT ON COLUMN dim_goods_category.is_leaf IS '是否叶子节点:1 表示叶子分类(categoryBoxes 为空列表),0 表示非叶子分类(存在子分类)。当前样例数据中,一级大类是非叶子节点,二级分类是叶子节点。用于树状导航或限制只能在叶子分类建商品。 | 来源: 由 categoryBoxes 推导';
|
||
COMMENT ON COLUMN dim_goods_category.open_salesman IS '营业员开关控制。枚举含义根据业务系统定义,一般设计为:1 表示启用营业员/导购相关功能,2 表示关闭或不启用。当前样例所有分类取值为 2,说明这一套分类在库存模块中统一未启用营业员逻辑。对目前的经营分析影响较小。 | 来源: open_salesman';
|
||
COMMENT ON COLUMN dim_goods_category.sort_order IS '分类排序序号。来自 sort 字段,用于前端展示顺序控制,数值越小越靠前。当前大部分分类为 0,仅少数为 1,说明排序配置较为粗略。对指标统计无实质影响。 | 来源: sort';
|
||
COMMENT ON COLUMN dim_goods_category.is_warehousing IS '是否参与库存管理。枚举:1 表示参与库存管理,0 表示不参与(如服务类商品、手工费用)。当前文件中所有分类取值为 1,表示这一份分类树只包含“走库存”的商品分类。可在库存报表中用作过滤条件。 | 来源: is_warehousing';
|
||
|
||
-- dim_groupbuy_package
|
||
CREATE TABLE IF NOT EXISTS dim_groupbuy_package (
|
||
groupbuy_package_id BIGINT,
|
||
tenant_id BIGINT,
|
||
site_id BIGINT,
|
||
package_name VARCHAR(200),
|
||
package_template_id BIGINT,
|
||
selling_price NUMERIC(10,2),
|
||
coupon_face_value NUMERIC(10,2),
|
||
duration_seconds INTEGER,
|
||
start_time TIMESTAMPTZ,
|
||
end_time TIMESTAMPTZ,
|
||
table_area_name VARCHAR(100),
|
||
is_enabled INTEGER,
|
||
is_delete INTEGER,
|
||
create_time TIMESTAMPTZ,
|
||
tenant_table_area_id_list VARCHAR(512),
|
||
card_type_ids VARCHAR(255),
|
||
PRIMARY KEY (groupbuy_package_id)
|
||
);
|
||
COMMENT ON COLUMN dim_groupbuy_package.groupbuy_package_id IS '门店侧团购套餐主键。每条记录一个套餐定义,供团购券核销记录指向。平台验券记录中的 group_package_id 通常指向这里。 | 来源: id | 角色: 主键';
|
||
COMMENT ON COLUMN dim_groupbuy_package.tenant_id IS '租户(品牌/商户)ID。本数据集中全表相同,表示同一品牌。 | 来源: tenant_id | 角色: 外键(指向租户维)';
|
||
COMMENT ON COLUMN dim_groupbuy_package.site_id IS '门店 ID,本表所有记录属于同一门店。与其他 JSON 的 site_id 一致。 | 来源: site_id | 角色: 外键(指向门店维)';
|
||
COMMENT ON COLUMN dim_groupbuy_package.package_name IS '团购套餐名称,用于前台展示及核销界面,例如“早场特惠一小时”“KTV欢唱四小时”等。 | 来源: package_name';
|
||
COMMENT ON COLUMN dim_groupbuy_package.package_template_id IS '上层套餐 ID 或总部/系统级套餐 ID。多个 groupbuy_package_id 可能共享同一个 package_template_id,表示同一业务套餐在不同门店或不同版本下的配置。 | 来源: package_id | 角色: 外键(指向套餐模板维,后续可建)';
|
||
COMMENT ON COLUMN dim_groupbuy_package.selling_price IS '团购售卖价,面向顾客在外部平台的成交价格。当前样本全部为 0,实际平台售价可能在外部系统,不在本地落地。 | 来源: selling_price';
|
||
COMMENT ON COLUMN dim_groupbuy_package.coupon_face_value IS '券面值或内部结算面值。表示此套餐在门店侧可以抵扣的金额,用于验券或套餐流水时记账。例如“早场特惠一小时”可配置为 40.00,“KTV欢唱四小时”可配置为 200.00。当前样本为 0 但字段设计上非常关键。 | 来源: coupon_money';
|
||
COMMENT ON COLUMN dim_groupbuy_package.duration_seconds IS '套餐包含的时长,单位为秒。常见取值:3600 表示 1 小时,7200 表示 2 小时,14400 表示 4 小时。核销时可用于换算可用台费时长。 | 来源: duration';
|
||
COMMENT ON COLUMN dim_groupbuy_package.start_time IS '套餐整体生效开始时间。例如“2025-07-20 00:00:00”。通常从某日零点开始。 | 来源: start_time';
|
||
COMMENT ON COLUMN dim_groupbuy_package.end_time IS '套餐整体生效结束时间。在该时间点之后不可使用。极大日期(如 9999-12-31 23:59:59)可视为长期有效。 | 来源: end_time';
|
||
COMMENT ON COLUMN dim_groupbuy_package.table_area_name IS '套餐适用的门店台区名称,例如“A区中八”“B区中八”“斯诺克”“包厢”“KTV”等。主要用于展示和过滤,配合区域 ID 列实现人类可读的说明。 | 来源: table_area_name';
|
||
COMMENT ON COLUMN dim_groupbuy_package.is_enabled IS '启用状态枚举。1 表示启用或上架;2 表示停用或下架。侧重表示“配置是否上架”,与 effective_status 区分。 | 来源: is_enabled';
|
||
COMMENT ON COLUMN dim_groupbuy_package.is_delete IS '逻辑删除标志。0 表示正常;1 表示逻辑删除(数据仍保留但不再使用)。当前样本全部为 0。 | 来源: is_delete';
|
||
COMMENT ON COLUMN dim_groupbuy_package.create_time IS '套餐配置在系统中的创建时间,用于审计和版本追踪。 | 来源: create_time';
|
||
COMMENT ON COLUMN dim_groupbuy_package.tenant_table_area_id_list IS '租户级台区分组 ID 列表。当前每条记录为一个大整数(例如 2791960001957765)字符串,表示“台区分组”主键。系统通过此分组再关联到具体多个台区。 | 来源: tenant_table_area_id_list | 角色: 外键(指向台区分组维,后续可建)';
|
||
COMMENT ON COLUMN dim_groupbuy_package.card_type_ids IS '允许使用本套餐的会员卡类型 ID 列表。当前样本统一为字符串“0”,表示未限制卡种,任意顾客或任意会员卡都可使用。若未来启用,将以分隔的 ID 列表形式记录限定卡种。 | 来源: card_type_ids | 角色: 外键(潜在指向卡种维)';
|
||
|
||
-- dim_groupbuy_package_Ex
|
||
CREATE TABLE IF NOT EXISTS dim_groupbuy_package_Ex (
|
||
groupbuy_package_id BIGINT,
|
||
site_name VARCHAR(100),
|
||
usable_count INTEGER,
|
||
date_type INTEGER,
|
||
usable_range VARCHAR(255),
|
||
date_info VARCHAR(255),
|
||
start_clock VARCHAR(16),
|
||
end_clock VARCHAR(16),
|
||
add_start_clock VARCHAR(16),
|
||
add_end_clock VARCHAR(16),
|
||
area_tag_type INTEGER,
|
||
table_area_id BIGINT,
|
||
tenant_table_area_id BIGINT,
|
||
table_area_id_list VARCHAR(512),
|
||
group_type INTEGER,
|
||
system_group_type INTEGER,
|
||
package_type INTEGER,
|
||
effective_status INTEGER,
|
||
max_selectable_categories INTEGER,
|
||
creator_name VARCHAR(100),
|
||
PRIMARY KEY (groupbuy_package_id)
|
||
);
|
||
COMMENT ON COLUMN dim_groupbuy_package_Ex.groupbuy_package_id IS '门店侧团购套餐主键。每条记录一个套餐定义,供团购券核销记录指向。平台验券记录中的 group_package_id 通常指向这里。 | 来源: id | 角色: 主键';
|
||
COMMENT ON COLUMN dim_groupbuy_package_Ex.site_name IS '门店名称,当前均为“朗朗桌球”。属于冗余展示字段,可用于报表标题。 | 来源: site_name';
|
||
COMMENT ON COLUMN dim_groupbuy_package_Ex.usable_count IS '可使用次数上限。当前全部为 9999999,用作“无限次使用”的哨兵值。若未来限制次数,只需配置为具体次数。 | 来源: usable_count';
|
||
COMMENT ON COLUMN dim_groupbuy_package_Ex.date_type IS '日期限制类型枚举。当前样本全部为 1。推测常见含义:1 表示“全部日期可用”;其他值可用于区分工作日、周末或指定日期等模式。 | 来源: date_type';
|
||
COMMENT ON COLUMN dim_groupbuy_package_Ex.usable_range IS '日期范围说明的文本,例如“周一至周五”等。当前全部为空字符串,实际规则由 date_type 与时间段字段控制。 | 来源: usable_range';
|
||
COMMENT ON COLUMN dim_groupbuy_package_Ex.date_info IS '更细粒度的日期信息,可能用于存储具体日期列表或节假日规则,形式可能是编码或 JSON 字符串。当前几乎全部为空,仅有极少记录为“0”。 | 来源: date_info';
|
||
COMMENT ON COLUMN dim_groupbuy_package_Ex.start_clock IS '每日可用时间段的起始时间(第一段),字符串格式 HH:MM:SS,例如“10:00:00”“00:00:00”。与 end_clock 组合定义日内时段。 | 来源: start_clock';
|
||
COMMENT ON COLUMN dim_groupbuy_package_Ex.end_clock IS '每日可用时间段的结束时间(第一段),字符串格式 HH:MM:SS。与 start_clock 共同描述第一段可用时段。 | 来源: end_clock';
|
||
COMMENT ON COLUMN dim_groupbuy_package_Ex.add_start_clock IS '附加可用时段的起始时间(第二段),格式 HH:MM:SS。当前样本常见值为“00:00:00”或“10:00:00”。用于配置早场加夜场等双时段场景。 | 来源: add_start_clock';
|
||
COMMENT ON COLUMN dim_groupbuy_package_Ex.add_end_clock IS '附加可用时段的结束时间(第二段)。常见值如“1.00:00:00”“18:00:00”“23:59:00”。其中“1.00:00:00”表示跨至次日零点,用于表示“可用到第二天凌晨”的场景。 | 来源: add_end_clock';
|
||
COMMENT ON COLUMN dim_groupbuy_package_Ex.area_tag_type IS '区域标记类型枚举。当前样本全部为 1。推测 1 表示“按台区标签限制”(如 A 区、B 区、中八、斯诺克、包厢、KTV 等)。其他取值可能对应按具体台桌或其它规则限用。 | 来源: area_tag_type';
|
||
COMMENT ON COLUMN dim_groupbuy_package_Ex.table_area_id IS '单一台区 ID。当前样本全部为 0。原始设计用于限定只能在一个具体区域使用,但由于已引入多选逻辑,实际使用已迁移到 tenant_table_area_id_list。 | 来源: table_area_id';
|
||
COMMENT ON COLUMN dim_groupbuy_package_Ex.tenant_table_area_id IS '租户级台区 ID,单值版本。当前样本全部为 0。与 table_area_id 类似,已被多选列表字段取代。 | 来源: tenant_table_area_id';
|
||
COMMENT ON COLUMN dim_groupbuy_package_Ex.table_area_id_list IS '门店级台区 ID 列表。当前样本全部为空字符串。根据命名推测原本用于存储多个 table_area_id,实际实现已转向租户维度列表字段。 | 来源: table_area_id_list';
|
||
COMMENT ON COLUMN dim_groupbuy_package_Ex.group_type IS '团购类型枚举。当前样本全部为 1。推测 1 表示“计时类/台费类套餐”。其他取值可能用于商品类套餐、代金券类等,需结合系统配置进一步确认。 | 来源: group_type';
|
||
COMMENT ON COLUMN dim_groupbuy_package_Ex.system_group_type IS '系统级团购类型枚举。当前样本全部为 1。推测 1 表示“券码类团购”,即通过券码核销。其他取值可能为卡内套餐、内部套餐等,具体含义有待业务确认。 | 来源: system_group_type';
|
||
COMMENT ON COLUMN dim_groupbuy_package_Ex.package_type IS '内部业务子类型枚举。样本中取值有 1 与 2,各占比不同。具体含义不明,可能区分不同产品线或套餐来源,例如“平台合作套餐”与“自定义套餐”等,需要参考业务文档。 | 来源: type';
|
||
COMMENT ON COLUMN dim_groupbuy_package_Ex.effective_status IS '当前有效状态枚举,由系统根据时间及配置动态计算。观测值:1 表示当前有效,可正常核销;3 表示失效或已过期(即使 is_enabled 仍为 1,也不可使用)。可用于分析时过滤失效套餐。 | 来源: effective_status';
|
||
COMMENT ON COLUMN dim_groupbuy_package_Ex.max_selectable_categories IS '最大可选择分类数或子项数,具体含义未在样本和说明中体现,当前值全部为 0。可能用于“组合型套餐”中限制可选项目数量。 | 来源: max_selectable_categories';
|
||
COMMENT ON COLUMN dim_groupbuy_package_Ex.creator_name IS '创建人名称,例如“店长:郑丽珊”。主要用于审计追踪和后台展示。 | 来源: creator_name';
|
||
|
||
-- dwd_settlement_head
|
||
CREATE TABLE IF NOT EXISTS dwd_settlement_head (
|
||
order_settle_id BIGINT,
|
||
tenant_id BIGINT,
|
||
site_id BIGINT,
|
||
site_name VARCHAR(100),
|
||
table_id BIGINT,
|
||
settle_name VARCHAR(100),
|
||
order_trade_no BIGINT,
|
||
create_time TIMESTAMPTZ,
|
||
pay_time TIMESTAMPTZ,
|
||
settle_type INTEGER,
|
||
revoke_order_id BIGINT,
|
||
member_id BIGINT,
|
||
member_name VARCHAR(100),
|
||
member_phone VARCHAR(50),
|
||
member_card_account_id BIGINT,
|
||
member_card_type_name VARCHAR(100),
|
||
is_bind_member BOOLEAN,
|
||
member_discount_amount NUMERIC(18,2),
|
||
consume_money NUMERIC(18,2),
|
||
table_charge_money NUMERIC(18,2),
|
||
goods_money NUMERIC(18,2),
|
||
real_goods_money NUMERIC(18,2),
|
||
assistant_pd_money NUMERIC(18,2),
|
||
assistant_cx_money NUMERIC(18,2),
|
||
adjust_amount NUMERIC(18,2),
|
||
pay_amount NUMERIC(18,2),
|
||
balance_amount NUMERIC(18,2),
|
||
recharge_card_amount NUMERIC(18,2),
|
||
gift_card_amount NUMERIC(18,2),
|
||
coupon_amount NUMERIC(18,2),
|
||
rounding_amount NUMERIC(18,2),
|
||
point_amount NUMERIC(18,2),
|
||
PRIMARY KEY (order_settle_id)
|
||
);
|
||
COMMENT ON COLUMN dwd_settlement_head.order_settle_id IS '结账记录主键 ID(订单结算 ID),全系统统一的结账单号,用于关联台费流水、助教流水、小票等明细表。 | 来源: settleList.id | 角色: 主键';
|
||
COMMENT ON COLUMN dwd_settlement_head.tenant_id IS '租户/商户 ID(品牌维度),与各业务 JSON 中的 tenantId 一致。 | 来源: settleList.tenantId | 角色: 外键';
|
||
COMMENT ON COLUMN dwd_settlement_head.site_id IS '门店 ID,用于关联门店维表 dim_site。 | 来源: settleList.siteId | 角色: 外键';
|
||
COMMENT ON COLUMN dwd_settlement_head.site_name IS '门店名称快照,冗余展示字段,推荐通过 site_id 关联维表获取标准名称。 | 来源: settleList.siteName';
|
||
COMMENT ON COLUMN dwd_settlement_head.table_id IS '结账关联的桌台 ID,对应台桌维表 dim_site_table 的主键。 | 来源: settleList.tableId | 角色: 外键';
|
||
COMMENT ON COLUMN dwd_settlement_head.settle_name IS '结账对象名称,一般为 “区域 + 桌号”,如 “A区 A17”,便于报表展示。 | 来源: settleList.settleName';
|
||
COMMENT ON COLUMN dwd_settlement_head.order_trade_no IS '交易号 / 订单流水号,与台费、助教等明细中的 order_trade_no 一致,用于按“交易维度”串联各业务明细。 | 来源: settleList.settleRelateId';
|
||
COMMENT ON COLUMN dwd_settlement_head.create_time IS '结账创建时间(收银端点击“确认结账”的时间),格式:YYYY-MM-DD HH:MM:SS。 | 来源: settleList.createTime';
|
||
COMMENT ON COLUMN dwd_settlement_head.pay_time IS '实际支付完成时间,通常晚于 create_time,用于资金结算及对账分析。 | 来源: settleList.payTime';
|
||
COMMENT ON COLUMN dwd_settlement_head.settle_type IS '结账类型枚举。样本中主要有:1=正常结账;3=特殊类型结账(如挂账、补单、调整单等,具体需业务确认)。 | 来源: settleList.settleType';
|
||
COMMENT ON COLUMN dwd_settlement_head.revoke_order_id IS '若当前记录属于撤销链路,记录对应的撤销单或原单的结账 ID,形成自关联关系。样本中为 0。 | 来源: settleList.revokeOrderId | 角色: 外键';
|
||
COMMENT ON COLUMN dwd_settlement_head.member_id IS '会员主键 ID,一般对应租户维度的会员 ID,用于关联 dim_member。 | 来源: settleList.memberId | 角色: 外键';
|
||
COMMENT ON COLUMN dwd_settlement_head.member_name IS '会员姓名快照,冗余展示字段;当前样本多为空,推荐通过关联会员维表获取标准姓名。 | 来源: settleList.memberName';
|
||
COMMENT ON COLUMN dwd_settlement_head.member_phone IS '会员手机号快照,冗余展示字段,通常通过会员维表获取更可靠。 | 来源: settleList.memberPhone';
|
||
COMMENT ON COLUMN dwd_settlement_head.member_card_account_id IS '会员卡账户 ID,对应 dim_member_card_account 主键;当前样本多为 0,但结构上是“结账 → 具体卡账户”的外键。 | 来源: settleList.tenantMemberCardId | 角色: 外键';
|
||
COMMENT ON COLUMN dwd_settlement_head.member_card_type_name IS '会员卡类型名称快照,如“储值卡”“次卡”等,便于前端展示和报表查看。 | 来源: settleList.memberCardTypeName';
|
||
COMMENT ON COLUMN dwd_settlement_head.is_bind_member IS '本单是否绑定会员。0=否(散客);1=是(存在 member_id)。样本中多为 0。 | 来源: settleList.isBindMember';
|
||
COMMENT ON COLUMN dwd_settlement_head.member_discount_amount IS '会员折扣产生的优惠金额(元),例如会员卡折扣减免的台费/商品金额,参与整单优惠拆分。 | 来源: settleList.memberDiscountAmount';
|
||
COMMENT ON COLUMN dwd_settlement_head.consume_money IS '本次结账消费总额(原价小计),约等于台费 + 商品 + 助教 + 服务等项目原价金额之和,未扣除任何优惠。 | 来源: settleList.consumeMoney';
|
||
COMMENT ON COLUMN dwd_settlement_head.table_charge_money IS '本单台费(桌台计费部分)的金额(原价侧)。 | 来源: settleList.tableChargeMoney';
|
||
COMMENT ON COLUMN dwd_settlement_head.goods_money IS '本单商品销售原价金额,对应酒水、小吃等商品类消费。 | 来源: settleList.goodsMoney';
|
||
COMMENT ON COLUMN dwd_settlement_head.real_goods_money IS '商品实际计入金额,通常为 goods_money 扣除部分促销/折扣之后的金额。 | 来源: settleList.realGoodsMoney';
|
||
COMMENT ON COLUMN dwd_settlement_head.assistant_pd_money IS '助教“排钟 / 点钟 / 按时长服务”等项目的应计金额(原价侧),与助教流水中的 ledger_amount 汇总对应。 | 来源: settleList.assistantPdMoney';
|
||
COMMENT ON COLUMN dwd_settlement_head.assistant_cx_money IS '助教“超休”类助教项目金额(原价侧),是对助教收入的补充拆分维度,具体业务定义需结合助教模块确认。 | 来源: settleList.assistantCxMoney';
|
||
COMMENT ON COLUMN dwd_settlement_head.adjust_amount IS '手动减免,人工调价金额汇总(整单减免或特殊价格调整),通常正值表示减免额度。 | 来源: settleList.adjustAmount';
|
||
COMMENT ON COLUMN dwd_settlement_head.pay_amount IS '本单顾客“实付金额”(不含券面值这类虚拟抵扣),等于各支付渠道金额之和减去退款等调整。 | 来源: settleList.payAmount';
|
||
COMMENT ON COLUMN dwd_settlement_head.balance_amount IS '从会员储值余额账户中扣除的金额(储值卡消费部分)。 | 来源: settleList.balanceAmount';
|
||
COMMENT ON COLUMN dwd_settlement_head.recharge_card_amount IS '充值卡支付金额(使用充值类卡片余额支付的金额),与储值/充值型卡资金来源相关。 | 来源: settleList.rechargeCardAmount';
|
||
COMMENT ON COLUMN dwd_settlement_head.gift_card_amount IS '礼品卡或代金卡支付金额。 | 来源: settleList.giftCardAmount';
|
||
COMMENT ON COLUMN dwd_settlement_head.coupon_amount IS '本单由优惠券(团购券、代金券等)实际抵扣的金额。 | 来源: settleList.couponAmount';
|
||
COMMENT ON COLUMN dwd_settlement_head.rounding_amount IS '抹零 / 四舍五入产生的金额差值,例如按角、分抹零。 | 来源: settleList.roundingAmount';
|
||
COMMENT ON COLUMN dwd_settlement_head.point_amount IS '积分相关金额或数量。根据系统配置可能表示“使用积分抵扣的金额”或“本单获得的积分折算金额”,文档未给出唯一定义。 | 来源: settleList.pointAmount';
|
||
|
||
-- dwd_settlement_head_Ex
|
||
CREATE TABLE IF NOT EXISTS dwd_settlement_head_Ex (
|
||
order_settle_id BIGINT,
|
||
serial_number INTEGER,
|
||
settle_status INTEGER,
|
||
can_be_revoked BOOLEAN,
|
||
revoke_order_name VARCHAR(100),
|
||
revoke_time TIMESTAMPTZ,
|
||
is_first_order BOOLEAN,
|
||
service_money NUMERIC(18,2),
|
||
cash_amount NUMERIC(18,2),
|
||
card_amount NUMERIC(18,2),
|
||
online_amount NUMERIC(18,2),
|
||
refund_amount NUMERIC(18,2),
|
||
prepay_money NUMERIC(18,2),
|
||
payment_method INTEGER,
|
||
coupon_sale_amount NUMERIC(18,2),
|
||
all_coupon_discount NUMERIC(18,2),
|
||
goods_promotion_money NUMERIC(18,2),
|
||
assistant_promotion_money NUMERIC(18,2),
|
||
activity_discount NUMERIC(18,2),
|
||
assistant_manual_discount NUMERIC(18,2),
|
||
point_discount_price NUMERIC(18,2),
|
||
point_discount_cost NUMERIC(18,2),
|
||
is_use_coupon BOOLEAN,
|
||
is_use_discount BOOLEAN,
|
||
is_activity BOOLEAN,
|
||
operator_name VARCHAR(100),
|
||
salesman_name VARCHAR(100),
|
||
order_remark VARCHAR(255),
|
||
operator_id BIGINT,
|
||
salesman_user_id BIGINT,
|
||
PRIMARY KEY (order_settle_id)
|
||
);
|
||
COMMENT ON COLUMN dwd_settlement_head_Ex.order_settle_id IS '结账记录主键 ID(订单结算 ID),全系统统一的结账单号,用于关联台费流水、助教流水、小票等明细表。 | 来源: settleList.id | 角色: 主键';
|
||
COMMENT ON COLUMN dwd_settlement_head_Ex.serial_number IS '结账序列号或打印序号,当前样本全部为 0,具体业务用途未在文档中明确。 | 来源: settleList.serialNumber';
|
||
COMMENT ON COLUMN dwd_settlement_head_Ex.settle_status IS '结账状态枚举。当前样本值均为 2,表示“已结算/已完成”;其他取值及含义未在样本和文档中出现,需后续补充。 | 来源: settleList.settleStatus';
|
||
COMMENT ON COLUMN dwd_settlement_head_Ex.can_be_revoked IS '本单是否仍允许撤销/冲正。0=否;1=是。样本中均为 0。主要用于运维控制,分析价值有限。 | 来源: settleList.canBeRevoked';
|
||
COMMENT ON COLUMN dwd_settlement_head_Ex.revoke_order_name IS '撤销单名称/标识,用于人工识别撤销关系;当前样本为空。 | 来源: settleList.revokeOrderName';
|
||
COMMENT ON COLUMN dwd_settlement_head_Ex.revoke_time IS '撤销时间。无撤销时通常为系统默认值(如 0001-01-01 00:00:00)。 | 来源: settleList.revokeTime';
|
||
COMMENT ON COLUMN dwd_settlement_head_Ex.is_first_order IS '是否首单(新客首单)标记。0=否;1=是。当前样本全部为 0,且文档中说明为“推测用途”,具体业务定义需确认。 | 来源: settleList.isFirst';
|
||
COMMENT ON COLUMN dwd_settlement_head_Ex.service_money IS '其他服务费金额(如包间服务费等),用于与台费、商品、助教金额区分。 | 来源: settleList.serviceMoney';
|
||
COMMENT ON COLUMN dwd_settlement_head_Ex.cash_amount IS '现金支付金额。 | 来源: settleList.cashAmount';
|
||
COMMENT ON COLUMN dwd_settlement_head_Ex.card_amount IS '刷卡类支付金额(如银行卡/信用卡等),具体包含哪些通道需结合支付模块确认。 | 来源: settleList.cardAmount';
|
||
COMMENT ON COLUMN dwd_settlement_head_Ex.online_amount IS '线上支付金额汇总(如微信、支付宝、云闪付等),不区分具体通道。 | 来源: settleList.onlineAmount';
|
||
COMMENT ON COLUMN dwd_settlement_head_Ex.refund_amount IS '本单涉及的退款金额(元)。普通正常结账为 0,退单或部分退款时为正数。 | 来源: settleList.refundAmount';
|
||
COMMENT ON COLUMN dwd_settlement_head_Ex.prepay_money IS '本单使用的预付金/定金金额。 | 来源: settleList.prepayMoney';
|
||
COMMENT ON COLUMN dwd_settlement_head_Ex.payment_method IS '支付方式整体标记(枚举)。当前样本值统一为 0,具体各枚举值对应的支付方式未在文档中说明,需业务确认。 | 来源: settleList.paymentMethod';
|
||
COMMENT ON COLUMN dwd_settlement_head_Ex.coupon_sale_amount IS '优惠券本身的售卖金额/成本金额(例如顾客为购买套餐券支付的金额),当前样本多为 0。 | 来源: settleList.couponSaleAmount';
|
||
COMMENT ON COLUMN dwd_settlement_head_Ex.all_coupon_discount IS '所有券类优惠折扣的汇总金额,用于统计“券优惠总额”。 | 来源: settleList.allCouponDiscount';
|
||
COMMENT ON COLUMN dwd_settlement_head_Ex.goods_promotion_money IS '商品促销产生的优惠金额(如满减、买赠均摊到商品部分)。 | 来源: settleList.goodsPromotionMoney';
|
||
COMMENT ON COLUMN dwd_settlement_head_Ex.assistant_promotion_money IS '助教项目参与活动/促销产生的优惠金额。 | 来源: settleList.assistantPromotionMoney';
|
||
COMMENT ON COLUMN dwd_settlement_head_Ex.activity_discount IS '整单活动折扣金额(如整单打折、满减活动产生的优惠),不区分具体项目类别。 | 来源: settleList.activityDiscount';
|
||
COMMENT ON COLUMN dwd_settlement_head_Ex.assistant_manual_discount IS '针对助教服务的人工减免金额,与一般商品/台费折扣区分开。 | 来源: settleList.assistantManualDiscount';
|
||
COMMENT ON COLUMN dwd_settlement_head_Ex.point_discount_price IS '积分抵扣对应的金额(售价侧),记录因积分使用而减少的应收金额。 | 来源: settleList.pointDiscountPrice';
|
||
COMMENT ON COLUMN dwd_settlement_head_Ex.point_discount_cost IS '积分抵扣对应的成本金额(成本侧),用于毛利和利润分析。 | 来源: settleList.pointDiscountCost';
|
||
COMMENT ON COLUMN dwd_settlement_head_Ex.is_use_coupon IS '是否使用优惠券。0=未使用;1=使用。当前样本均为 0。 | 来源: settleList.isUseCoupon';
|
||
COMMENT ON COLUMN dwd_settlement_head_Ex.is_use_discount IS '是否使用折扣(包括会员折扣或其他整单折扣)。0=未使用;1=使用。当前样本多为 0。 | 来源: settleList.isUseDiscount';
|
||
COMMENT ON COLUMN dwd_settlement_head_Ex.is_activity IS '是否参与营销活动。0=未参与;1=参与。 | 来源: settleList.isActivity';
|
||
COMMENT ON COLUMN dwd_settlement_head_Ex.operator_name IS '结账操作员名称快照(通常带角色前缀,如“收银员:张三”),用于报表展示。 | 来源: settleList.operatorName';
|
||
COMMENT ON COLUMN dwd_settlement_head_Ex.salesman_name IS '营业员/业务员名称,用于业绩归属及提成分析;样本中多为空。 | 来源: settleList.salesManName';
|
||
COMMENT ON COLUMN dwd_settlement_head_Ex.order_remark IS '订单备注,由收银员手工填写的文字说明,如特殊情况、赠送原因等,主要用于人工复盘。 | 来源: settleList.orderRemark';
|
||
COMMENT ON COLUMN dwd_settlement_head_Ex.operator_id IS '结账操作员用户 ID,用于关联员工/账号维度(如 dim_staff)。 | 来源: settleList.operatorId | 角色: 外键';
|
||
COMMENT ON COLUMN dwd_settlement_head_Ex.salesman_user_id IS '营业员用户 ID,可关联员工维度,用于业绩分析和提成计算。 | 来源: settleList.salesManUserId | 角色: 外键';
|
||
|
||
-- dwd_table_fee_log
|
||
CREATE TABLE IF NOT EXISTS dwd_table_fee_log (
|
||
table_fee_log_id BIGINT,
|
||
order_trade_no BIGINT,
|
||
order_settle_id BIGINT,
|
||
order_pay_id BIGINT,
|
||
tenant_id BIGINT,
|
||
site_id BIGINT,
|
||
site_table_id BIGINT,
|
||
site_table_area_id BIGINT,
|
||
site_table_area_name VARCHAR(64),
|
||
tenant_table_area_id BIGINT,
|
||
member_id BIGINT,
|
||
ledger_name VARCHAR(64),
|
||
ledger_unit_price NUMERIC(18,2),
|
||
ledger_count INTEGER,
|
||
ledger_amount NUMERIC(18,2),
|
||
real_table_charge_money NUMERIC(18,2),
|
||
coupon_promotion_amount NUMERIC(18,2),
|
||
member_discount_amount NUMERIC(18,2),
|
||
adjust_amount NUMERIC(18,2),
|
||
real_table_use_seconds INTEGER,
|
||
add_clock_seconds INTEGER,
|
||
start_use_time TIMESTAMPTZ,
|
||
ledger_end_time TIMESTAMPTZ,
|
||
create_time TIMESTAMPTZ,
|
||
ledger_status INTEGER,
|
||
is_single_order INTEGER,
|
||
is_delete INTEGER,
|
||
PRIMARY KEY (table_fee_log_id)
|
||
);
|
||
COMMENT ON COLUMN dwd_table_fee_log.table_fee_log_id IS '台费流水记录主键。每一条台费使用记录唯一一条。对应一次“台费计费单元”。 | 来源: id | 角色: 主键';
|
||
COMMENT ON COLUMN dwd_table_fee_log.order_trade_no IS '订单交易号。整笔订单的主编号,用于把同一订单下的台费、商品、助教等多种明细串联在一起。可与支付记录中的交易号对应。 | 来源: order_trade_no | 角色: 外键';
|
||
COMMENT ON COLUMN dwd_table_fee_log.order_settle_id IS '结算单号 / 结账 ID。对应一次完整的结账操作。与 dwd_settlement_head 的主键关联。 | 来源: order_settle_id | 角色: 外键';
|
||
COMMENT ON COLUMN dwd_table_fee_log.order_pay_id IS '订单支付记录 ID。对应支付记录中的 id 或 relate_id(视具体模型)。用于追踪这条台费最终对应哪一条支付流水。 | 来源: order_pay_id | 角色: 外键';
|
||
COMMENT ON COLUMN dwd_table_fee_log.tenant_id IS '租户 / 品牌 ID。本文件内所有记录属于同一租户。与其他表的 tenant_id 一致,用于品牌级过滤。 | 来源: tenant_id | 角色: 外键';
|
||
COMMENT ON COLUMN dwd_table_fee_log.site_id IS '门店 ID。当前样本为同一门店。与嵌套的 siteProfile.id 以及其他 JSON 中的 site_id 对应,用于门店维度关联。 | 来源: site_id | 角色: 外键';
|
||
COMMENT ON COLUMN dwd_table_fee_log.site_table_id IS '桌台 ID。对应“台桌基础表”的主键。用于确定具体哪一张台或包厢。 | 来源: site_table_id | 角色: 外键';
|
||
COMMENT ON COLUMN dwd_table_fee_log.site_table_area_id IS '门店内“台桌区域” ID(门店视角的区域,如 A 区、B 区、斯诺克区、包厢区)。与门店内部的区域维度对应。 | 来源: site_table_area_id | 角色: 外键';
|
||
COMMENT ON COLUMN dwd_table_fee_log.site_table_area_name IS '台桌区域名称,如 “A区”“B区”“斯诺克区”“VIP包厢” 等。主要用于报表展示和人工阅读。 | 来源: site_table_area_name | 角色: 无';
|
||
COMMENT ON COLUMN dwd_table_fee_log.tenant_table_area_id IS '租户层面的台桌区域 ID。用于品牌层统一定义的区域配置(一个区域可在多门店复用)。对应租户级区域维度。 | 来源: tenant_table_area_id | 角色: 外键';
|
||
COMMENT ON COLUMN dwd_table_fee_log.member_id IS '会员 ID。多数为 0 表示散客。非 0 时表示关联会员:0 表示散客或未使用会员;>0 对应会员档案中的 id。用于将台费流水关联到 dim_member。 | 来源: member_id | 角色: 外键';
|
||
COMMENT ON COLUMN dwd_table_fee_log.ledger_name IS '台号名称,例如 “A1”“A2”“S1”“VIP包厢” 等。等价于桌台维表中的展示名称,冗余在流水中作为快照。 | 来源: ledger_name | 角色: 无';
|
||
COMMENT ON COLUMN dwd_table_fee_log.ledger_unit_price IS '台费结算时的计费单价(元/小时或元/单位时长)。与 ledger_count 配合计算原始应收台费。常见值如 48.0、58.0、68.0、88.0、98.0、116.0 等。 | 来源: ledger_unit_price | 角色: 无';
|
||
COMMENT ON COLUMN dwd_table_fee_log.ledger_count IS '计费时长单位数。与 ledger_unit_price 共同决定原始应收额。可与 real_table_use_seconds 换算关系约为:时长秒数 ≈ ledger_count × 计费粒度(例如 30 分钟、60 分钟)。 | 来源: ledger_count | 角色: 无';
|
||
COMMENT ON COLUMN dwd_table_fee_log.ledger_amount IS '原始应收台费金额,按单价与计费时长计算出来的台费金额,尚未考虑会员、券、调账等各类优惠拆分。 | 来源: ledger_amount | 角色: 无';
|
||
COMMENT ON COLUMN dwd_table_fee_log.real_table_charge_money IS '实际向顾客收取的台费金额(现金 / 实付维度),不含券方承担、会员承担和内部调账部分。若为 0,则该笔台费完全由券、会员或内部调账承担。 | 来源: real_table_charge_money | 角色: 无';
|
||
COMMENT ON COLUMN dwd_table_fee_log.coupon_promotion_amount IS '由优惠券、活动、团购等促销承担的优惠金额,直接抵扣在台费上。常见值为与单价或整倍数相同,例如 48.0、96.0、136.0、144.0 等。若 real_table_charge_money 为 0 且该字段等于 ledger_amount,说明台费完全由促销承担。 | 来源: coupon_promotion_amount | 角色: 无';
|
||
COMMENT ON COLUMN dwd_table_fee_log.member_discount_amount IS '由会员权益产生的优惠金额,例如会员折扣、会员免费台等。若 ledger_amount = real_table_charge_money = member_discount_amount,表示这笔台费由会员权益承担,但仍作为台费收入进行记录。 | 来源: member_discount_amount | 角色: 无';
|
||
COMMENT ON COLUMN dwd_table_fee_log.adjust_amount IS '手动减免,调整金额 / 调账金额。用于将台费金额转移或冲减到其他项目(例如套餐、包厢统一计费)或做手工调整。若 ledger_amount 完全被 adjust_amount 抵消,则说明该笔台费被整体调出当前台费科目。 | 来源: adjust_amount | 角色: 无';
|
||
COMMENT ON COLUMN dwd_table_fee_log.real_table_use_seconds IS '台费实际计费时长(秒)。用于计算台费单价与费率分析。内部统一以秒为单位。 | 来源: real_table_use_seconds | 角色: 无';
|
||
COMMENT ON COLUMN dwd_table_fee_log.add_clock_seconds IS '加钟时长(秒)。在原有使用基础上追加的累计加钟时长,常见为 2400、4200 等 60 的倍数(对应 40 分钟、70 分钟等)。 | 来源: add_clock_seconds | 角色: 无';
|
||
COMMENT ON COLUMN dwd_table_fee_log.start_use_time IS '台开始使用时间,即实际开台时间。与 ledger_start_time 相同,表示计费起算点。 | 来源: start_use_time | 角色: 无';
|
||
COMMENT ON COLUMN dwd_table_fee_log.ledger_end_time IS '台账计费结束时间。通常与 last_use_time 相差 1 秒。可理解为系统为计费进行的截断时刻。 | 来源: ledger_end_time | 角色: 无';
|
||
COMMENT ON COLUMN dwd_table_fee_log.create_time IS '台费流水记录创建时间,通常接近结账时间。用于区分计费期间与结账时间。 | 来源: create_time | 角色: 无';
|
||
COMMENT ON COLUMN dwd_table_fee_log.ledger_status IS '台费状态。样本中全部为 1。含义:1 表示正常已结算台费。按命名推断,0 可能表示未结算,2 可能表示作废或撤销,需要结合后续数据确认。 | 来源: ledger_status | 角色: 无';
|
||
COMMENT ON COLUMN dwd_table_fee_log.is_single_order IS '是否独立计费单元。枚举:1 表示该记录是独立结算的桌费;0 表示非独立结算条目(可能是合并结账、转台过程中的占位记录)。is_single_order = 0 的记录通常 ledger_count 与 real_table_use_seconds 为 0。 | 来源: is_single_order | 角色: 无';
|
||
COMMENT ON COLUMN dwd_table_fee_log.is_delete IS '逻辑删除标志。0 表示未删除(有效记录);1 表示已逻辑删除(一般不参与统计)。当前样本全部为 0。 | 来源: is_delete | 角色: 无';
|
||
|
||
-- dwd_table_fee_log_Ex
|
||
CREATE TABLE IF NOT EXISTS dwd_table_fee_log_Ex (
|
||
table_fee_log_id BIGINT,
|
||
operator_name VARCHAR(64),
|
||
salesman_name VARCHAR(64),
|
||
used_card_amount NUMERIC(18,2),
|
||
service_money NUMERIC(18,2),
|
||
mgmt_fee NUMERIC(18,2),
|
||
fee_total NUMERIC(18,2),
|
||
ledger_start_time TIMESTAMPTZ,
|
||
last_use_time TIMESTAMPTZ,
|
||
operator_id BIGINT,
|
||
salesman_user_id BIGINT,
|
||
salesman_org_id BIGINT,
|
||
PRIMARY KEY (table_fee_log_id)
|
||
);
|
||
COMMENT ON COLUMN dwd_table_fee_log_Ex.table_fee_log_id IS '台费流水记录主键。每一条台费使用记录唯一一条。对应一次“台费计费单元”。 | 来源: id | 角色: 主键';
|
||
COMMENT ON COLUMN dwd_table_fee_log_Ex.operator_name IS '操作员姓名。为冗余展示字段,便于直接阅读而不必联表员工档案。 | 来源: operator_name | 角色: 无';
|
||
COMMENT ON COLUMN dwd_table_fee_log_Ex.salesman_name IS '营业员姓名。当前样本为空。用于需要对营业员维度做业绩统计时作为冗余展示。 | 来源: salesman_name | 角色: 无';
|
||
COMMENT ON COLUMN dwd_table_fee_log_Ex.used_card_amount IS '由储值卡、次卡等“卡内余额”直接抵扣到台费的金额。当前样本为 0,但语义明确,用于区分“卡扣款”与“现金收款”。 | 来源: used_card_amount | 角色: 无';
|
||
COMMENT ON COLUMN dwd_table_fee_log_Ex.service_money IS '服务费 / 成本 /分成金额字段,类似助教流水里的 service_money。当前样本全为 0,门店未启用该字段,未来可能用于台费附加服务费或分成计算。 | 来源: service_money | 角色: 无';
|
||
COMMENT ON COLUMN dwd_table_fee_log_Ex.mgmt_fee IS '管理费字段。当前样本为 0。推测用于未来支持“台费附加管理费”功能。尚未实际启用。 | 来源: mgmt_fee | 角色: 无';
|
||
COMMENT ON COLUMN dwd_table_fee_log_Ex.fee_total IS '附加费用合计值字段。当前样本为 0。设计上用于汇总管理费、服务费等附加费用。尚未实际启用。 | 来源: fee_total | 角色: 无';
|
||
COMMENT ON COLUMN dwd_table_fee_log_Ex.ledger_start_time IS '台账计费起始时间。当前样本与 start_use_time 相同,表示计费与开台同时开始。 | 来源: ledger_start_time | 角色: 无';
|
||
COMMENT ON COLUMN dwd_table_fee_log_Ex.last_use_time IS '最后使用 / 操作时间,通常略晚于 ledger_end_time。可视为客人最后一次用台或最后一次加钟/操作的时间点。 | 来源: last_use_time | 角色: 无';
|
||
COMMENT ON COLUMN dwd_table_fee_log_Ex.operator_id IS '操作员 ID。负责开台 / 结账的员工账号 ID。与员工 / 账号体系中的用户 ID 对应。 | 来源: operator_id | 角色: 外键';
|
||
COMMENT ON COLUMN dwd_table_fee_log_Ex.salesman_user_id IS '营业员用户 ID。目前样本值为 0,表示门店暂未使用此字段做提成员工归属,但语义清晰。 | 来源: salesman_user_id | 角色: 外键';
|
||
COMMENT ON COLUMN dwd_table_fee_log_Ex.salesman_org_id IS '营业员所属机构 / 部门 ID。目前样本为 0。用于员工组织结构统计时的归属。 | 来源: salesman_org_id | 角色: 外键';
|
||
|
||
-- dwd_table_fee_adjust
|
||
CREATE TABLE IF NOT EXISTS dwd_table_fee_adjust (
|
||
table_fee_adjust_id BIGINT,
|
||
order_trade_no BIGINT,
|
||
order_settle_id BIGINT,
|
||
tenant_id BIGINT,
|
||
site_id BIGINT,
|
||
table_id BIGINT,
|
||
table_area_id BIGINT,
|
||
table_area_name VARCHAR(64),
|
||
tenant_table_area_id BIGINT,
|
||
ledger_amount NUMERIC(18,2),
|
||
ledger_status INTEGER,
|
||
is_delete INTEGER,
|
||
adjust_time TIMESTAMPTZ,
|
||
PRIMARY KEY (table_fee_adjust_id)
|
||
);
|
||
COMMENT ON COLUMN dwd_table_fee_adjust.table_fee_adjust_id IS '台费折扣 / 调整流水主键;一条台费打折或调账操作对应一条记录。 | 来源: id | 角色: 主键';
|
||
COMMENT ON COLUMN dwd_table_fee_adjust.order_trade_no IS '订单交易号;与台费流水、结账记录等表中的同名字段一致,用于把本次台费调整挂到具体订单上。 | 来源: order_trade_no | 角色: 外键';
|
||
COMMENT ON COLUMN dwd_table_fee_adjust.order_settle_id IS '结算单 / 小票 ID;与小票、结账头表中的 order_settle_id 对应,用于关联同一次结账。 | 来源: order_settle_id | 角色: 外键';
|
||
COMMENT ON COLUMN dwd_table_fee_adjust.tenant_id IS '租户 / 品牌 ID;标识该记录属于哪一个商户。 | 来源: tenant_id | 角色: 外键';
|
||
COMMENT ON COLUMN dwd_table_fee_adjust.site_id IS '门店 ID;与 dim_site、其它业务事实表中的 site_id 一致。 | 来源: site_id | 角色: 外键';
|
||
COMMENT ON COLUMN dwd_table_fee_adjust.table_id IS '台桌 ID;与 dim_table(site_tables_master.id)以及各类台费、助教流水中的 site_table_id 对应,标识哪一张台发生了折扣/调账。 | 来源: site_table_id | 角色: 外键';
|
||
COMMENT ON COLUMN dwd_table_fee_adjust.table_area_id IS '门店维度的台桌区域 ID;与 dim_table 中的 site_table_area_id 对应,例如 “斯诺克区”“VIP包厢”等区域。 | 来源: tableProfile.site_table_area_id | 角色: 外键';
|
||
COMMENT ON COLUMN dwd_table_fee_adjust.table_area_name IS '台桌区域名称快照,例如 “斯诺克区”“A区”“VIP包厢”;冗余展示字段,可从 dim_table 通过 table_area_id 获取。 | 来源: tableProfile.site_table_area_name';
|
||
COMMENT ON COLUMN dwd_table_fee_adjust.tenant_table_area_id IS '租户维度的“台桌区域 ID”;同一租户下跨门店复用的区域标识,用于在租户级别统计各区域的折扣分布。 | 来源: tenant_table_area_id | 角色: 外键';
|
||
COMMENT ON COLUMN dwd_table_fee_adjust.ledger_amount IS '台费调整金额;等于台费流水中对应记录的 adjust_amount。正数表示被减免/调账掉的台费金额(本批数据全部为正);是衡量台费折扣规模的核心度量。 | 来源: ledger_amount';
|
||
COMMENT ON COLUMN dwd_table_fee_adjust.ledger_status IS '调整记录状态(枚举)。1:生效调整(当前有效的折扣/调账记录);0:失效/被覆盖的历史记录(同一订单有多次调整时,旧记录会标记为 0,仅最新一条为 1)。 | 来源: ledger_status';
|
||
COMMENT ON COLUMN dwd_table_fee_adjust.is_delete IS '逻辑删除标记(枚举)。0:未删除(有效记录);1:已逻辑删除(后台标记删除,不再参与业务统计)。当前数据全部为 0,但字段需保留以适配长期数据。 | 来源: is_delete';
|
||
COMMENT ON COLUMN dwd_table_fee_adjust.adjust_time IS '台费调整记录创建时间,即打折/调账操作被系统写入的时间戳,用于时间分析和与结账时间对比(判断是事前折扣还是事后调账)。 | 来源: create_time';
|
||
|
||
-- dwd_table_fee_adjust_Ex
|
||
CREATE TABLE IF NOT EXISTS dwd_table_fee_adjust_Ex (
|
||
table_fee_adjust_id BIGINT,
|
||
adjust_type INTEGER,
|
||
ledger_count INTEGER,
|
||
ledger_name VARCHAR(128),
|
||
applicant_name VARCHAR(64),
|
||
operator_name VARCHAR(64),
|
||
applicant_id BIGINT,
|
||
operator_id BIGINT,
|
||
PRIMARY KEY (table_fee_adjust_id)
|
||
);
|
||
COMMENT ON COLUMN dwd_table_fee_adjust_Ex.table_fee_adjust_id IS '台费折扣 / 调整流水主键;一条台费打折或调账操作对应一条记录。 | 来源: id | 角色: 主键';
|
||
COMMENT ON COLUMN dwd_table_fee_adjust_Ex.adjust_type IS '调整类型(枚举)。当前数据全部为 1。取值示例:1:台费打折 / 台费减免(本门店实际使用的唯一类型);其他值:预留给台费转移、误操作恢复等其他类型(当前未出现,仅推测)。 | 来源: adjust_type';
|
||
COMMENT ON COLUMN dwd_table_fee_adjust_Ex.ledger_count IS '调整次数计数,本数据中恒为 1,表示“一次调整事件”;与台费流水中的 ledger_count(计时长)含义不同。 | 来源: ledger_count';
|
||
COMMENT ON COLUMN dwd_table_fee_adjust_Ex.ledger_name IS '调账项目名称或打折原因名称(设计意图);当前门店所有记录值为空字符串,未实际使用。作用暂不明确,保留以备后续业务启用。 | 来源: ledger_name';
|
||
COMMENT ON COLUMN dwd_table_fee_adjust_Ex.applicant_name IS '申请人姓名快照,通常包含角色前缀(如 “收银员:张三”);是 applicant_id 的冗余展示字段,实际名称应以员工维表为准。 | 来源: applicant_name';
|
||
COMMENT ON COLUMN dwd_table_fee_adjust_Ex.operator_name IS '操作员姓名快照;与 operator_id 对应的姓名冗余字段。 | 来源: operator_name';
|
||
COMMENT ON COLUMN dwd_table_fee_adjust_Ex.applicant_id IS '申请人 ID;发起本次台费折扣/调账的员工账号 ID,用于按员工维度统计折扣行为。 | 来源: applicant_id | 角色: 外键';
|
||
COMMENT ON COLUMN dwd_table_fee_adjust_Ex.operator_id IS '实际执行调账操作的操作员 ID;当前样本中与 applicant_id 相同,但模型上允许“申请人 ≠ 操作人”。 | 来源: operator_id | 角色: 外键';
|
||
|
||
-- dwd_store_goods_sale
|
||
CREATE TABLE IF NOT EXISTS dwd_store_goods_sale (
|
||
store_goods_sale_id BIGINT,
|
||
order_trade_no BIGINT,
|
||
order_settle_id BIGINT,
|
||
order_pay_id BIGINT,
|
||
order_goods_id BIGINT,
|
||
site_id BIGINT,
|
||
tenant_id BIGINT,
|
||
site_goods_id BIGINT,
|
||
tenant_goods_id BIGINT,
|
||
tenant_goods_category_id BIGINT,
|
||
tenant_goods_business_id BIGINT,
|
||
site_table_id BIGINT,
|
||
ledger_name VARCHAR(200),
|
||
ledger_group_name VARCHAR(100),
|
||
ledger_unit_price NUMERIC(18,2),
|
||
ledger_count INTEGER,
|
||
ledger_amount NUMERIC(18,2),
|
||
discount_price NUMERIC(18,2),
|
||
real_goods_money NUMERIC(18,2),
|
||
cost_money NUMERIC(18,2),
|
||
ledger_status INTEGER,
|
||
is_delete INTEGER,
|
||
create_time TIMESTAMPTZ,
|
||
PRIMARY KEY (store_goods_sale_id)
|
||
);
|
||
COMMENT ON COLUMN dwd_store_goods_sale.store_goods_sale_id IS '商品销售明细主键;每条记录代表一次订单中的一个商品行流水。 | 来源: id | 角色: 主键';
|
||
COMMENT ON COLUMN dwd_store_goods_sale.order_trade_no IS '订单交易号(业务单号);与台费、助教、团购等表的 order_trade_no 一致,用于把同一订单下各类消费串联起来。 | 来源: order_trade_no | 角色: 外键';
|
||
COMMENT ON COLUMN dwd_store_goods_sale.order_settle_id IS '结账记录主键 ID;连接结账记录 / 结算头事实表。 | 来源: order_settle_id | 角色: 外键';
|
||
COMMENT ON COLUMN dwd_store_goods_sale.order_pay_id IS '支付记录 ID;连接支付流水事实表,用于还原本条销售对应的收款信息。 | 来源: order_pay_id | 角色: 外键';
|
||
COMMENT ON COLUMN dwd_store_goods_sale.order_goods_id IS '当前版本的订单内商品明细 ID;可在订单范围内唯一定位该商品行,用于与小票明细等做行级关联。 | 来源: order_goods_id | 角色: 外键';
|
||
COMMENT ON COLUMN dwd_store_goods_sale.site_id IS '门店 ID(系统主键);与其它流水表中的 site_id 一致。 | 来源: site_id | 角色: 外键';
|
||
COMMENT ON COLUMN dwd_store_goods_sale.tenant_id IS '租户/品牌 ID;同一品牌下多门店共享同一个 tenant_id。 | 来源: tenant_id | 角色: 外键';
|
||
COMMENT ON COLUMN dwd_store_goods_sale.site_goods_id IS '门店级商品 ID;连接门店商品档案 dim_store_goods,与库存变动记录中的 siteGoodsId 一致。 | 来源: site_goods_id | 角色: 外键';
|
||
COMMENT ON COLUMN dwd_store_goods_sale.tenant_goods_id IS '租户级(品牌级)商品 ID;连接租户级商品档案维度表,一个 tenant_goods_id 在不同门店可对应多个 site_goods_id。 | 来源: tenant_goods_id | 角色: 外键';
|
||
COMMENT ON COLUMN dwd_store_goods_sale.tenant_goods_category_id IS '租户级商品一级分类 ID;连接商品分类维度(如酒水、零食等)。 | 来源: tenant_goods_category_id | 角色: 外键';
|
||
COMMENT ON COLUMN dwd_store_goods_sale.tenant_goods_business_id IS '租户级商品业务大类 ID(更高一层的业务分类,如“零食类”“酒水类”等)。 | 来源: tenant_goods_business_id | 角色: 外键';
|
||
COMMENT ON COLUMN dwd_store_goods_sale.site_table_id IS '球台 ID;非 0 表示该商品在某张台桌上点单,0 表示前台售卖或与台桌无关。连接台桌维度 dim_table。 | 来源: site_table_id | 角色: 外键';
|
||
COMMENT ON COLUMN dwd_store_goods_sale.ledger_name IS '销售项目名称(商品名),如“哇哈哈矿泉水”“地道肠”等;为当时销售时刻的名称快照。 | 来源: ledger_name';
|
||
COMMENT ON COLUMN dwd_store_goods_sale.ledger_group_name IS '门店前台菜单分组名称,如“酒水”“零食”“小吃”等;与品牌统一分类是两套维度。 | 来源: ledger_group_name';
|
||
COMMENT ON COLUMN dwd_store_goods_sale.ledger_unit_price IS '结算单价(元/单位);本次销售实际使用的单价。 | 来源: ledger_unit_price';
|
||
COMMENT ON COLUMN dwd_store_goods_sale.ledger_count IS '销售数量(以商品单位计),如 1、2、6、36 等。 | 来源: ledger_count';
|
||
COMMENT ON COLUMN dwd_store_goods_sale.ledger_amount IS '原始应收金额(未考虑任何折扣/抵扣),通常接近 ledger_unit_price × ledger_count。 | 来源: ledger_amount';
|
||
COMMENT ON COLUMN dwd_store_goods_sale.discount_price IS '折后单价(元/单位);无折扣时等于 ledger_unit_price,有折扣时小于 ledger_unit_price。 | 来源: discount_price';
|
||
COMMENT ON COLUMN dwd_store_goods_sale.real_goods_money IS '本行商品实际入账金额(已考虑折扣及其他抵扣后,实际计入营业额的金额);一定不大于 ledger_amount。 | 来源: real_goods_money';
|
||
COMMENT ON COLUMN dwd_store_goods_sale.cost_money IS '本行商品对应的成本金额,用于毛利和利润分析;源自商品档案成本价及成本核算逻辑。 | 来源: cost_money';
|
||
COMMENT ON COLUMN dwd_store_goods_sale.ledger_status IS '销售流水状态:1=正常有效;其他数值(当前数据未出现)一般表示“待结算”“作废”等。 | 来源: ledger_status';
|
||
COMMENT ON COLUMN dwd_store_goods_sale.is_delete IS '逻辑删除标志:0=正常有效;1=已删除(仅保留历史,不再参与前端展示及统计)(本批数据全部为 0)。 | 来源: is_delete';
|
||
COMMENT ON COLUMN dwd_store_goods_sale.create_time IS '销售记录创建时间,通常为结账时间或录入时间;用于时间维度分析,与订单层时间字段对齐。 | 来源: create_time';
|
||
|
||
-- dwd_store_goods_sale_Ex
|
||
CREATE TABLE IF NOT EXISTS dwd_store_goods_sale_Ex (
|
||
store_goods_sale_id BIGINT,
|
||
legacy_order_goods_id BIGINT,
|
||
site_name TEXT,
|
||
legacy_site_id BIGINT,
|
||
goods_remark TEXT,
|
||
option_value_name TEXT,
|
||
operator_name TEXT,
|
||
open_salesman_flag INTEGER,
|
||
salesman_user_id BIGINT,
|
||
salesman_name TEXT,
|
||
salesman_role_id BIGINT,
|
||
salesman_org_id BIGINT,
|
||
discount_money NUMERIC(18,2),
|
||
returns_number INTEGER,
|
||
coupon_deduct_money NUMERIC(18,2),
|
||
member_discount_amount NUMERIC(18,2),
|
||
point_discount_money NUMERIC(18,2),
|
||
point_discount_money_cost NUMERIC(18,2),
|
||
package_coupon_id BIGINT,
|
||
order_coupon_id BIGINT,
|
||
member_coupon_id BIGINT,
|
||
option_price NUMERIC(18,2),
|
||
option_member_discount_money NUMERIC(18,2),
|
||
option_coupon_deduct_money NUMERIC(18,2),
|
||
push_money NUMERIC(18,2),
|
||
is_single_order INTEGER,
|
||
sales_type INTEGER,
|
||
operator_id BIGINT
|
||
);
|
||
COMMENT ON COLUMN dwd_store_goods_sale_Ex.store_goods_sale_id IS '商品销售明细主键;每条记录代表一次订单中的一个商品行流水。 | 来源: id | 角色: 主键';
|
||
COMMENT ON COLUMN dwd_store_goods_sale_Ex.legacy_order_goods_id IS '旧版订单商品明细 ID,兼容字段;当前接口已统一使用 order_goods_id,本批数据全部为 0。 | 来源: orderGoodsId';
|
||
COMMENT ON COLUMN dwd_store_goods_sale_Ex.site_name IS '门店名称,对 site_id 的冗余文本(例如“朗朗桌球”),用于展示。 | 来源: siteName';
|
||
COMMENT ON COLUMN dwd_store_goods_sale_Ex.legacy_site_id IS '历史兼容门店 ID;当前接口统一使用 site_id,本批数据 siteId 全部为 0。 | 来源: siteId';
|
||
COMMENT ON COLUMN dwd_store_goods_sale_Ex.goods_remark IS '商品备注/口味说明/特殊说明;部分记录为空,部分与商品名相同。 | 来源: goods_remark';
|
||
COMMENT ON COLUMN dwd_store_goods_sale_Ex.option_value_name IS '商品选项名称(规格/口味,如大杯/小杯、不加冰等);当前门店未启用多规格,样本中全部为空。 | 来源: option_value_name';
|
||
COMMENT ON COLUMN dwd_store_goods_sale_Ex.operator_name IS '操作员姓名冗余,如“收银员:郑丽珊”;用于展示,不作为关联键。 | 来源: operator_name';
|
||
COMMENT ON COLUMN dwd_store_goods_sale_Ex.open_salesman_flag IS '是否启用营业员机制标志:1=启用营业员/提成体系(需指定 salesman_* 字段);2=未启用营业员体系(本批数据全部为 2)。 | 来源: openSalesman';
|
||
COMMENT ON COLUMN dwd_store_goods_sale_Ex.salesman_user_id IS '营业员用户 ID(系统账号 ID);当前样本全部为 0,说明门店未启用营业员业绩统计。 | 来源: salesman_user_id | 角色: 外键';
|
||
COMMENT ON COLUMN dwd_store_goods_sale_Ex.salesman_name IS '营业员姓名;当前样本全部为空字符串。 | 来源: salesman_name';
|
||
COMMENT ON COLUMN dwd_store_goods_sale_Ex.salesman_role_id IS '营业员角色 ID(例如某角色代码对应“销售员”角色);当前样本全部为 0。 | 来源: salesman_role_id | 角色: 外键';
|
||
COMMENT ON COLUMN dwd_store_goods_sale_Ex.salesman_org_id IS '营业员所属组织/部门 ID;当前样本全部为 0,未启用按组织分组统计。 | 来源: sales_man_org_id | 角色: 外键';
|
||
COMMENT ON COLUMN dwd_store_goods_sale_Ex.discount_money IS '本行商品的直接价格优惠金额(打折让利部分);在简单场景下满足:ledger_amount − discount_money ≈ real_goods_money(不含积分、券抵扣)。 | 来源: discount_money';
|
||
COMMENT ON COLUMN dwd_store_goods_sale_Ex.returns_number IS '退货数量;当前样本全部为 0,如发生退货则记录退回的件数。 | 来源: returns_number';
|
||
COMMENT ON COLUMN dwd_store_goods_sale_Ex.coupon_deduct_money IS '优惠券/团购券直接抵扣到本条商品明细上的金额;当前样本为 0,说明券更多在订单级处理。 | 来源: coupon_deduct_money';
|
||
COMMENT ON COLUMN dwd_store_goods_sale_Ex.member_discount_amount IS '由会员折扣针对本行商品产生的优惠金额;当前样本全部为 0,折扣通常体现在 discount_money 中。 | 来源: member_discount_amount';
|
||
COMMENT ON COLUMN dwd_store_goods_sale_Ex.point_discount_money IS '由积分抵扣的金额(顾客用积分兑换的抵现金额)。 | 来源: point_discount_money';
|
||
COMMENT ON COLUMN dwd_store_goods_sale_Ex.point_discount_money_cost IS '积分抵扣对应的成本金额(积分成本、营销费用等核算用)。 | 来源: point_discount_money_cost';
|
||
COMMENT ON COLUMN dwd_store_goods_sale_Ex.package_coupon_id IS '套餐券 ID;当商品来自套餐拆分或与套餐券关联时,用于追溯对应的套餐业务(当前样本为 0)。 | 来源: package_coupon_id';
|
||
COMMENT ON COLUMN dwd_store_goods_sale_Ex.order_coupon_id IS '订单级优惠券 ID;整单使用某张券时,可用于记录该券对本行商品的分摊关系(当前样本为 0)。 | 来源: order_coupon_id';
|
||
COMMENT ON COLUMN dwd_store_goods_sale_Ex.member_coupon_id IS '会员券 ID(如会员专享优惠券);当前样本为 0,为会员权益预留字段。 | 来源: member_coupon_id';
|
||
COMMENT ON COLUMN dwd_store_goods_sale_Ex.option_price IS '商品选项(规格/加料等)的附加价格;当前门店未启用此功能,样本为 0。 | 来源: option_price';
|
||
COMMENT ON COLUMN dwd_store_goods_sale_Ex.option_member_discount_money IS '由会员折扣作用在“选项价格”上的优惠金额;当前样本为 0。 | 来源: option_member_discount_money';
|
||
COMMENT ON COLUMN dwd_store_goods_sale_Ex.option_coupon_deduct_money IS '由优惠券抵扣“选项价格”的金额;当前样本为 0。 | 来源: option_coupon_deduct_money';
|
||
COMMENT ON COLUMN dwd_store_goods_sale_Ex.push_money IS '本行商品对应的提成金额(营业员/业务员提成);当前样本为 0,说明提成体系未启用。 | 来源: push_money';
|
||
COMMENT ON COLUMN dwd_store_goods_sale_Ex.is_single_order IS '是否作为独立明细参与订单结算:1=作为独立明细参与订单;0=在特殊业务中可能合并为打包项目(当前样本全部为 1)。 | 来源: is_single_order';
|
||
COMMENT ON COLUMN dwd_store_goods_sale_Ex.sales_type IS '销售类型:1=正常销售(当前样本全部为 1);常见扩展用法:2=赠品;3=内部消耗;4=盘点调整等。 | 来源: sales_type';
|
||
COMMENT ON COLUMN dwd_store_goods_sale_Ex.operator_id IS '操作员 ID(录入本条销售的员工);与其它流水中的 operator_id 一致,可统一做员工维度分析。 | 来源: operator_id | 角色: 外键';
|
||
|
||
-- dwd_assistant_service_log
|
||
CREATE TABLE IF NOT EXISTS dwd_assistant_service_log (
|
||
assistant_service_id BIGINT,
|
||
order_trade_no BIGINT,
|
||
order_settle_id BIGINT,
|
||
order_pay_id BIGINT,
|
||
order_assistant_id BIGINT,
|
||
order_assistant_type INTEGER,
|
||
tenant_id BIGINT,
|
||
site_id BIGINT,
|
||
site_table_id BIGINT,
|
||
tenant_member_id BIGINT,
|
||
system_member_id BIGINT,
|
||
assistant_no VARCHAR(64),
|
||
nickname VARCHAR(64),
|
||
site_assistant_id BIGINT,
|
||
user_id BIGINT,
|
||
assistant_team_id BIGINT,
|
||
person_org_id BIGINT,
|
||
assistant_level INTEGER,
|
||
level_name VARCHAR(64),
|
||
skill_id BIGINT,
|
||
skill_name VARCHAR(64),
|
||
ledger_unit_price NUMERIC(10,2),
|
||
ledger_amount NUMERIC(10,2),
|
||
projected_income NUMERIC(10,2),
|
||
coupon_deduct_money NUMERIC(10,2),
|
||
income_seconds INTEGER,
|
||
real_use_seconds INTEGER,
|
||
add_clock INTEGER,
|
||
create_time TIMESTAMPTZ,
|
||
start_use_time TIMESTAMPTZ,
|
||
last_use_time TIMESTAMPTZ,
|
||
is_delete INTEGER,
|
||
PRIMARY KEY (assistant_service_id)
|
||
);
|
||
COMMENT ON COLUMN dwd_assistant_service_log.assistant_service_id IS '助教服务流水主键,系统内唯一标识一次助教服务记录。 | 来源: id | 角色: 主键';
|
||
COMMENT ON COLUMN dwd_assistant_service_log.order_trade_no IS '订单交易号,用于与台费、商品、支付等同一订单下的其他明细串联。 | 来源: order_trade_no | 角色: 外键';
|
||
COMMENT ON COLUMN dwd_assistant_service_log.order_settle_id IS '结算单号,对应结账记录、小票中的结算主键。 | 来源: order_settle_id | 角色: 外键';
|
||
COMMENT ON COLUMN dwd_assistant_service_log.order_pay_id IS '支付记录主键 ID,用于关联支付流水。 | 来源: order_pay_id | 角色: 外键';
|
||
COMMENT ON COLUMN dwd_assistant_service_log.order_assistant_id IS '订单中“助教项目明细”的内部 ID,一笔订单中多段助教服务时用于区分。 | 来源: order_assistant_id | 角色: 外键';
|
||
COMMENT ON COLUMN dwd_assistant_service_log.order_assistant_type IS '助教服务类型枚举:1 表示常规助教服务(如基础课);2 表示附加类助教服务(如附加课);其他值预留。 | 来源: order_assistant_type';
|
||
COMMENT ON COLUMN dwd_assistant_service_log.tenant_id IS '租户/品牌 ID,用于区分商户。 | 来源: tenant_id | 角色: 外键';
|
||
COMMENT ON COLUMN dwd_assistant_service_log.site_id IS '门店 ID,对应门店维表中的门店主键。 | 来源: site_id | 角色: 外键';
|
||
COMMENT ON COLUMN dwd_assistant_service_log.site_table_id IS '球台/包厢 ID,对应台桌维表主键。 | 来源: site_table_id | 角色: 外键';
|
||
COMMENT ON COLUMN dwd_assistant_service_log.tenant_member_id IS '商户维度会员 ID,对应会员档案主键;0 表示非会员或散客。 | 来源: tenant_member_id | 角色: 外键';
|
||
COMMENT ON COLUMN dwd_assistant_service_log.system_member_id IS '系统级会员 ID,用于跨门店识别同一会员。 | 来源: system_member_id | 角色: 外键';
|
||
COMMENT ON COLUMN dwd_assistant_service_log.assistant_no IS '助教编号/工号,如 “27”;与助教档案中的工号一致。 | 来源: assistantNo';
|
||
COMMENT ON COLUMN dwd_assistant_service_log.nickname IS '助教对外昵称,如“佳怡”“周周”;用于展示,不参与业务逻辑。 | 来源: nickname';
|
||
COMMENT ON COLUMN dwd_assistant_service_log.site_assistant_id IS '门店维度助教 ID,对应助教账号维表主键。 | 来源: site_assistant_id | 角色: 外键';
|
||
COMMENT ON COLUMN dwd_assistant_service_log.user_id IS '助教对应的系统用户 ID,对应账号体系中的 user_id。 | 来源: user_id | 角色: 外键';
|
||
COMMENT ON COLUMN dwd_assistant_service_log.assistant_team_id IS '助教团队 ID,用于分组统计团队业绩。 | 来源: assistant_team_id | 角色: 外键';
|
||
COMMENT ON COLUMN dwd_assistant_service_log.person_org_id IS '助教所属人事组织/部门 ID,如“助教部”;用于组织维度分析。 | 来源: person_org_id | 角色: 外键';
|
||
COMMENT ON COLUMN dwd_assistant_service_log.assistant_level IS '助教等级编码:8=助教管理;10=初级;20=中级;30=高级;用于薪酬/评价分层。 | 来源: assistant_level | 角色: 外键';
|
||
COMMENT ON COLUMN dwd_assistant_service_log.level_name IS '助教等级名称,与 assistant_level 对应,如“初级”“中级”“高级”“助教管理”。 | 来源: levelName';
|
||
COMMENT ON COLUMN dwd_assistant_service_log.skill_id IS '助教服务课程/技能 ID,应对应课程/技能配置表。 | 来源: skill_id | 角色: 外键';
|
||
COMMENT ON COLUMN dwd_assistant_service_log.skill_name IS '助教服务课程/技能名称,如“基础课”“附加课”。 | 来源: skillName';
|
||
COMMENT ON COLUMN dwd_assistant_service_log.ledger_unit_price IS '助教服务标准单价(原价),例如按小时或按节课的标价。 | 来源: ledger_unit_price';
|
||
COMMENT ON COLUMN dwd_assistant_service_log.ledger_amount IS '按标准单价计算的应收金额,近似等于 ledger_unit_price×计费时长换算后的金额。 | 来源: ledger_amount';
|
||
COMMENT ON COLUMN dwd_assistant_service_log.projected_income IS '实际计入门店收入的金额,已经考虑会员权益、券抵扣等后的结果。 | 来源: projected_income';
|
||
COMMENT ON COLUMN dwd_assistant_service_log.coupon_deduct_money IS '由优惠券、团购券等直接抵扣到本次助教服务上的金额;0 表示未使用券。 | 来源: coupon_deduct_money';
|
||
COMMENT ON COLUMN dwd_assistant_service_log.income_seconds IS '计费秒数(用于计算应收收入的时间长度),通常为按分钟取整的秒数。 | 来源: income_seconds';
|
||
COMMENT ON COLUMN dwd_assistant_service_log.real_use_seconds IS '实际服务时长(秒),真实消耗的时间,用于分析助教工作量。 | 来源: real_use_seconds';
|
||
COMMENT ON COLUMN dwd_assistant_service_log.add_clock IS '加钟秒数,在原有预约基础上临时增加的服务时间,数值为 60 的倍数。 | 来源: add_clock';
|
||
COMMENT ON COLUMN dwd_assistant_service_log.create_time IS '助教流水记录创建时间,接近下单/结算时间。 | 来源: create_time';
|
||
COMMENT ON COLUMN dwd_assistant_service_log.start_use_time IS '助教实际开始服务时间,通常与 ledger_start_time 一致。 | 来源: start_use_time';
|
||
COMMENT ON COLUMN dwd_assistant_service_log.last_use_time IS '助教最后一次服务时间,通常与 ledger_end_time 一致。 | 来源: last_use_time';
|
||
COMMENT ON COLUMN dwd_assistant_service_log.is_delete IS '逻辑删除标志:0 未删除;1 已逻辑删除,用于保留历史数据。 | 来源: is_delete';
|
||
|
||
-- dwd_assistant_service_log_Ex
|
||
CREATE TABLE IF NOT EXISTS dwd_assistant_service_log_Ex (
|
||
assistant_service_id BIGINT,
|
||
table_name VARCHAR(64),
|
||
assistant_name VARCHAR(64),
|
||
ledger_name VARCHAR(128),
|
||
ledger_group_name VARCHAR(128),
|
||
ledger_count INTEGER,
|
||
member_discount_amount NUMERIC(10,2),
|
||
manual_discount_amount NUMERIC(10,2),
|
||
service_money NUMERIC(10,2),
|
||
returns_clock INTEGER,
|
||
ledger_start_time TIMESTAMPTZ,
|
||
ledger_end_time TIMESTAMPTZ,
|
||
ledger_status INTEGER,
|
||
is_confirm INTEGER,
|
||
is_single_order INTEGER,
|
||
is_not_responding INTEGER,
|
||
is_trash INTEGER,
|
||
trash_applicant_id BIGINT,
|
||
trash_applicant_name VARCHAR(64),
|
||
trash_reason VARCHAR(255),
|
||
salesman_user_id BIGINT,
|
||
salesman_name VARCHAR(64),
|
||
salesman_org_id BIGINT,
|
||
skill_grade INTEGER,
|
||
service_grade INTEGER,
|
||
composite_grade NUMERIC(5,2),
|
||
sum_grade NUMERIC(10,2),
|
||
get_grade_times INTEGER,
|
||
grade_status INTEGER,
|
||
composite_grade_time TIMESTAMPTZ,
|
||
PRIMARY KEY (assistant_service_id)
|
||
);
|
||
COMMENT ON COLUMN dwd_assistant_service_log_Ex.assistant_service_id IS '助教服务流水主键,系统内唯一标识一次助教服务记录。 | 来源: id | 角色: 主键';
|
||
COMMENT ON COLUMN dwd_assistant_service_log_Ex.table_name IS '球台名称,如 “A17”“S1”,与 site_table_id 冗余,用于展示。 | 来源: tableName';
|
||
COMMENT ON COLUMN dwd_assistant_service_log_Ex.assistant_name IS '助教姓名,如“何海婷”;与助教档案中的真实姓名一致。 | 来源: assistantName';
|
||
COMMENT ON COLUMN dwd_assistant_service_log_Ex.ledger_name IS '助教计费项目名称,如“2-佳怡”等,通常为展示用组合字段。 | 来源: ledger_name';
|
||
COMMENT ON COLUMN dwd_assistant_service_log_Ex.ledger_group_name IS '助教项目所属的计费分组/套餐分组名称,目前导出数据中为空,未看到实际使用场景。 | 来源: ledger_group_name';
|
||
COMMENT ON COLUMN dwd_assistant_service_log_Ex.ledger_count IS '台账计费时长(秒),通常与 real_use_seconds 接近或相等。取income_seconds TEXT';
|
||
COMMENT ON COLUMN dwd_assistant_service_log_Ex.member_discount_amount IS '由会员卡折扣产生的优惠金额,当前样本中为 0,但字段语义明确。 | 来源: member_discount_amount';
|
||
COMMENT ON COLUMN dwd_assistant_service_log_Ex.manual_discount_amount IS '收银员手动减免金额(人工改价);当前导出数据中为 0。 | 来源: manual_discount_amount';
|
||
COMMENT ON COLUMN dwd_assistant_service_log_Ex.service_money IS '与助教结算的金额或服务成本金额,当前数据全部为 0,具体结算规则未见启用。 | 来源: service_money';
|
||
COMMENT ON COLUMN dwd_assistant_service_log_Ex.returns_clock IS '退钟秒数(取消加钟或提前结束退回的时间),当前样本中全部为 0,未见业务使用。 | 来源: returns_clock';
|
||
COMMENT ON COLUMN dwd_assistant_service_log_Ex.ledger_start_time IS '台账计费起始时间。 | 来源: ledger_start_time';
|
||
COMMENT ON COLUMN dwd_assistant_service_log_Ex.ledger_end_time IS '台账计费结束时间,可作为本次服务结束时间。 | 来源: ledger_end_time';
|
||
COMMENT ON COLUMN dwd_assistant_service_log_Ex.ledger_status IS '助教流水状态:当前数据为 1,表示正常有效;其他值预留给已作废、未结算等状态。 | 来源: ledger_status';
|
||
COMMENT ON COLUMN dwd_assistant_service_log_Ex.is_confirm IS '确认状态:当前样本为 2,一般含义为 1=待确认,2=已确认/已完成(含义基于字段名和现有值推断)。 | 来源: is_confirm';
|
||
COMMENT ON COLUMN dwd_assistant_service_log_Ex.is_single_order IS '是否单独订单:1 表示助教服务作为单独订单结算;0 表示与其他项目合单结算。当前样本全部为 1。 | 来源: is_single_order';
|
||
COMMENT ON COLUMN dwd_assistant_service_log_Ex.is_not_responding IS '是否存在“未响应/爽约”等异常:0 表示正常;1 表示未响应或爽约(基于字段名推断,当前数据均为 0)。 | 来源: is_not_responding';
|
||
COMMENT ON COLUMN dwd_assistant_service_log_Ex.is_trash IS '是否已废除:0 表示正常有效;1 表示已废除,与助教废除记录表(assistant_cancellation_records)对应。 | 来源: is_trash';
|
||
COMMENT ON COLUMN dwd_assistant_service_log_Ex.trash_applicant_id IS '提出废除申请的员工 ID,用于追溯谁发起了废除操作。 | 来源: trash_applicant_id | 角色: 外键';
|
||
COMMENT ON COLUMN dwd_assistant_service_log_Ex.trash_applicant_name IS '废除申请人姓名,仅用于展示,与 trash_applicant_id 冗余。 | 来源: trash_applicant_name';
|
||
COMMENT ON COLUMN dwd_assistant_service_log_Ex.trash_reason IS '废除原因文案,如“顾客取消”“录入错误”,便于分析异常原因。 | 来源: trash_reason';
|
||
COMMENT ON COLUMN dwd_assistant_service_log_Ex.salesman_user_id IS '营业员/销售员用户 ID,大多为 0,当前门店未明显使用此维度。 | 来源: salesman_user_id | 角色: 外键';
|
||
COMMENT ON COLUMN dwd_assistant_service_log_Ex.salesman_name IS '营业员/销售员姓名,多数为空字符串。 | 来源: salesman_name';
|
||
COMMENT ON COLUMN dwd_assistant_service_log_Ex.salesman_org_id IS '营业员所属组织/部门 ID,多数为 0,尚未看到实际业务使用。 | 来源: salesman_org_id | 角色: 外键';
|
||
COMMENT ON COLUMN dwd_assistant_service_log_Ex.skill_grade IS '课程技能评分(整数),当前样本全为 0,评价功能尚未启用。 | 来源: skill_grade';
|
||
COMMENT ON COLUMN dwd_assistant_service_log_Ex.service_grade IS '服务态度评分(整数),当前样本全为 0。 | 来源: service_grade';
|
||
COMMENT ON COLUMN dwd_assistant_service_log_Ex.composite_grade IS '综合评分(技能+服务等加权结果),当前样本为 0。 | 来源: composite_grade';
|
||
COMMENT ON COLUMN dwd_assistant_service_log_Ex.sum_grade IS '累计评分总和,用于计算平均分,当前样本为 0。 | 来源: sum_grade';
|
||
COMMENT ON COLUMN dwd_assistant_service_log_Ex.get_grade_times IS '获得评价的次数,当前样本为 0。 | 来源: get_grade_times';
|
||
COMMENT ON COLUMN dwd_assistant_service_log_Ex.grade_status IS '评价状态枚举:当前样本为 1,一般含义为“未评价/正常”,其他状态未见实际值。 | 来源: grade_status';
|
||
COMMENT ON COLUMN dwd_assistant_service_log_Ex.composite_grade_time IS '最近一次综合评分时间或评价更新时间,当前为默认时间 “0001-01-01 00:00:00”。 | 来源: composite_grade_time';
|
||
|
||
-- dwd_assistant_trash_event
|
||
CREATE TABLE IF NOT EXISTS dwd_assistant_trash_event (
|
||
assistant_trash_event_id BIGINT,
|
||
site_id BIGINT,
|
||
table_id BIGINT,
|
||
table_area_id BIGINT,
|
||
assistant_no VARCHAR(32),
|
||
assistant_name VARCHAR(64),
|
||
charge_minutes_raw INTEGER,
|
||
abolish_amount NUMERIC(18,2),
|
||
trash_reason VARCHAR(255),
|
||
create_time TIMESTAMPTZ,
|
||
PRIMARY KEY (assistant_trash_event_id)
|
||
);
|
||
COMMENT ON COLUMN dwd_assistant_trash_event.assistant_trash_event_id IS '助教废除事件主键。与源 JSON 中 id 一一对应,单表内唯一。没有业务含义,只作为技术主键使用。 | 来源: id | 角色: 主键';
|
||
COMMENT ON COLUMN dwd_assistant_trash_event.site_id IS '门店 ID。与其他 JSON 中的 siteId / site_id 含义一致。用来关联 dim_site。当前样例全部为同一门店(朗朗桌球),但设计上支持多门店。 | 来源: siteId | 角色: 外键(指向 dim_site)';
|
||
COMMENT ON COLUMN dwd_assistant_trash_event.table_id IS '台桌 ID。对应 site_tables_master.json 中的 id。用于定位哪一张球台发生了助教废除,用于后续软关联台费流水、助教流水时的重要条件。 | 来源: tableId | 角色: 外键(指向 dim_table)';
|
||
COMMENT ON COLUMN dwd_assistant_trash_event.table_area_id IS '台桌区域 ID。应与台桌维或区域维中的 area_id 一致,用于按区域统计(A 区/B 区/VIP 包厢等)。 | 来源: tableAreaId | 角色: 外键(潜在指向 dim_table_area)';
|
||
COMMENT ON COLUMN dwd_assistant_trash_event.assistant_no IS '助教编号(工号/序号),如 ''2''、''4''、''27'' 等。与助教档案表 assistant_accounts_master.assistant_no、助教流水中的 assistantNo 一致,用于标识哪位助教。枚举:在门店内是有限编号集合,但并非硬编码含义。 | 来源: assistantOn | 角色: 外键(指向 dim_assistant)';
|
||
COMMENT ON COLUMN dwd_assistant_trash_event.assistant_name IS '助教姓名/昵称,如 “泡芙”“佳怡”等。为冗余展示字段,真实姓名以助教档案为准。当前数据中与档案一致。 | 来源: assistantName';
|
||
COMMENT ON COLUMN dwd_assistant_trash_event.charge_minutes_raw IS '助教被废除前“已计费时长(分钟)”的原始值。单位为分钟。示例:214、3600、10800 等。0 表示尚未发生有效计费就被废除。当前数据中存在异常大值(例如 10800),这一业务含义需结合实际规则理解,但本字段原样保留。枚举:数值型,无固定枚举。 | 来源: pdChargeMinutes';
|
||
COMMENT ON COLUMN dwd_assistant_trash_event.abolish_amount IS '与本次助教废除操作关联的金额,单位元。字面含义为“助教废除金额”。当前样例均为非负数,如 5.83、570.00、0.00 等。正负方向:按照 ODS/JSON 原样保留,暂不在数仓层赋予“收入/支出”的方向含义,后续在 DWS 层按业务规则解释(例如是退还顾客、扣除收益等)。 | 来源: assistantAbolishAmount';
|
||
COMMENT ON COLUMN dwd_assistant_trash_event.trash_reason IS '废除原因的文本说明,例如可以写“顾客临时取消”“误操作”等。当前样例中全部为空字符串,说明前台并未使用该字段。但从结构上看,是一个自由文本字段,不是枚举。 | 来源: trashReason';
|
||
COMMENT ON COLUMN dwd_assistant_trash_event.create_time IS '这条废除记录创建的时间,格式 YYYY-MM-DD HH:MM:SS。代表系统正式记录“废除操作”的时刻,用于和助教服务流水按时间窗口做软关联(结合 site、table、assistant 等条件)。 | 来源: createTime';
|
||
|
||
-- dwd_assistant_trash_event_Ex
|
||
CREATE TABLE IF NOT EXISTS dwd_assistant_trash_event_Ex (
|
||
assistant_trash_event_id BIGINT,
|
||
table_name VARCHAR(64),
|
||
table_area_name VARCHAR(64),
|
||
PRIMARY KEY (assistant_trash_event_id)
|
||
);
|
||
COMMENT ON COLUMN dwd_assistant_trash_event_Ex.assistant_trash_event_id IS '助教废除事件主键。与源 JSON 中 id 一一对应,单表内唯一。没有业务含义,只作为技术主键使用。 | 来源: id | 角色: 主键';
|
||
COMMENT ON COLUMN dwd_assistant_trash_event_Ex.table_name IS '台桌名称/编号,便于直观看报表,如 “C1”“B9”“VIP1”等。文案冗余自台桌维度。枚举:在门店范围内是有限集合,但不是固定编码表。 | 来源: tableName';
|
||
COMMENT ON COLUMN dwd_assistant_trash_event_Ex.table_area_name IS '台桌区域名称(中文),如 “A区”“B区”“C区”“VIP包厢”“补时长”等。展示用文本,具体层级信息由区域维表提供。 | 来源: tableArea';
|
||
|
||
-- dwd_member_balance_change
|
||
CREATE TABLE IF NOT EXISTS dwd_member_balance_change (
|
||
balance_change_id BIGINT,
|
||
tenant_id BIGINT,
|
||
site_id BIGINT,
|
||
register_site_id BIGINT,
|
||
tenant_member_id BIGINT,
|
||
system_member_id BIGINT,
|
||
tenant_member_card_id BIGINT,
|
||
card_type_id BIGINT,
|
||
card_type_name VARCHAR(32),
|
||
member_name VARCHAR(64),
|
||
member_mobile VARCHAR(20),
|
||
balance_before NUMERIC(18,2),
|
||
change_amount NUMERIC(18,2),
|
||
balance_after NUMERIC(18,2),
|
||
from_type INTEGER,
|
||
payment_method INTEGER,
|
||
change_time TIMESTAMPTZ,
|
||
is_delete INTEGER,
|
||
remark VARCHAR(255),
|
||
PRIMARY KEY (balance_change_id)
|
||
);
|
||
COMMENT ON COLUMN dwd_member_balance_change.balance_change_id IS '余额变动记录主键 ID,来源于源系统的余额变更流水 ID,唯一标识一条余额变动事件。 | 来源: id | 角色: 主键';
|
||
COMMENT ON COLUMN dwd_member_balance_change.tenant_id IS '租户/品牌 ID,在整体系统中唯一标识一家商户。当前样本中为同一值。 | 来源: tenant_id | 角色: 外键';
|
||
COMMENT ON COLUMN dwd_member_balance_change.site_id IS '本次余额变动发生的门店 ID。通常对应具体门店;样本中:非 0 为“朗朗桌球”,0 代表平台级/虚拟门店场景(如活动抵用券结算)。 | 来源: site_id | 角色: 外键';
|
||
COMMENT ON COLUMN dwd_member_balance_change.register_site_id IS '办卡门店 ID(卡注册门店)。与 site_id 区分:register_site_id=当初办卡门店,site_id=本次余额变动实际发生门店。当前样本中全部相同。 | 来源: register_site_id | 角色: 外键';
|
||
COMMENT ON COLUMN dwd_member_balance_change.tenant_member_id IS '租户维度会员 ID(同一租户内的会员主键),用于关联会员档案。 | 来源: tenant_member_id | 角色: 外键';
|
||
COMMENT ON COLUMN dwd_member_balance_change.system_member_id IS '系统全局会员 ID(跨租户统一的会员标识)。当前只有一个门店,但结构上允许同一人跨租户共享该 ID。 | 来源: system_member_id | 角色: 外键';
|
||
COMMENT ON COLUMN dwd_member_balance_change.tenant_member_card_id IS '会员卡账户 ID(租户内唯一的一张具体卡,例如某人的储值卡/酒水卡/台费卡/活动抵用券等)。本次余额变动作用于这张卡。 | 来源: tenant_member_card_id | 角色: 外键';
|
||
COMMENT ON COLUMN dwd_member_balance_change.card_type_id IS '卡种类型 ID。与 card_type_name 一一对应,用于区分不同卡种(储值卡/活动抵用券/酒水卡/台费卡)。 | 来源: card_type_id | 角色: 外键';
|
||
COMMENT ON COLUMN dwd_member_balance_change.card_type_name IS '卡种名称(中文):• 储值卡:通用储值卡;• 活动抵用券:活动送券型卡;• 酒水卡:指定用于酒水类消费;• 台费卡:指定用于台费消费。 | 来源: memberCardTypeName';
|
||
COMMENT ON COLUMN dwd_member_balance_change.member_name IS '会员姓名/称呼(如“曾丹烨”“葛先生”“胡先生”),主要用于运营、客服和人工识别。 | 来源: memberName';
|
||
COMMENT ON COLUMN dwd_member_balance_change.member_mobile IS '会员手机号(完整号码字符串),是会员识别、营销触达的重要字段。 | 来源: memberMobile';
|
||
COMMENT ON COLUMN dwd_member_balance_change.balance_before IS '本次变动前的卡内余额,单位:元。可为 0、数百、数千等。 | 来源: before';
|
||
COMMENT ON COLUMN dwd_member_balance_change.change_amount IS '本次余额变动金额,单位:元:• 正数:余额增加(充值、赠送、调整加款等);• 负数:余额减少(消费扣款、退款冲减、活动抵扣等)。所有记录严格满足:balance_after = balance_before + change_amount(浮点精度内)。 | 来源: account_data';
|
||
COMMENT ON COLUMN dwd_member_balance_change.balance_after IS '本次变动后的卡内余额,单位:元。由 before + account_data 计算而得,在源数据中已给出。 | 来源: after';
|
||
COMMENT ON COLUMN dwd_member_balance_change.from_type IS '余额变动来源类型枚举(控制业务含义与方向):• 1:日常消费扣款 —— change_amount 为负数,payment_method=0,表示用卡支付消费被扣余额;• 3:充值增加 —— change_amount 为正数,payment_method=4,表示顾客通过外部支付为卡充值(扫码、银行卡等);• 4:调整/赠送增加 —— change_amount 为正数,payment_method=3,通常为后台赠送或手工加款;• 7:充值退款 —— change_amount 为负数,remark=''充值退款'',表示对历史充值做退款,以减少卡内余额方式体现;• 9:活动抵用券相关余额冲减 —— change_amount 为负数,卡种为“活动抵用券”,site_id=0,表示活动券额度被扣回或结算;• 2:其他增加 —— 当前仅 1 条正数样本(+1865.80),具体业务类型不明,但可确定为余额增加类。总体上:1/7/9 为减余额类,2/3/4 为加余额类。 | 来源: from_type';
|
||
COMMENT ON COLUMN dwd_member_balance_change.payment_method IS '支付/变动渠道枚举(与源系统支付方式枚举一致):• 0:内部结算/无外部支付 —— 日常消费扣款、内部扣减、退款冲减等场景,新资金流不在本记录中产生;• 3:赠送/后台调整渠道 —— 与 from_type=4 搭配出现,表示此余额增加不是顾客付钱,而是后台发放或内部调账;• 4:充值外部支付渠道 —— 与 from_type=3 搭配出现,代表顾客通过某外部渠道完成充值(具体是微信/支付宝/银行卡等需要结合支付枚举表进一步映射)。 | 来源: payment_method';
|
||
COMMENT ON COLUMN dwd_member_balance_change.change_time IS '余额变动时间(记录创建时间),格式 YYYY-MM-DD HH:MM:SS。通常紧邻实际交易发生时间,用于按时间线分析资金变动。 | 来源: create_time';
|
||
COMMENT ON COLUMN dwd_member_balance_change.is_delete IS '逻辑删除标记:• 0:正常记录(当前样本全部为 0);• 1:逻辑删除(标记为删除但数据库保留,用于追溯)。分析时通常需要过滤掉 is_delete=1 的记录。 | 来源: is_delete';
|
||
COMMENT ON COLUMN dwd_member_balance_change.remark IS '余额变动备注信息。当前样本中主要为:• 空字符串:无额外说明;• 充值退款:明确标记该条记录为“充值退款”业务,与 from_type=7 完全对应。后续可能出现其他业务备注。 | 来源: remark';
|
||
|
||
-- dwd_member_balance_change_EX
|
||
CREATE TABLE IF NOT EXISTS dwd_member_balance_change_EX (
|
||
balance_change_id BIGINT,
|
||
pay_site_name VARCHAR(64),
|
||
register_site_name VARCHAR(64),
|
||
refund_amount NUMERIC(18,2),
|
||
operator_id BIGINT,
|
||
operator_name VARCHAR(64),
|
||
PRIMARY KEY (balance_change_id)
|
||
);
|
||
COMMENT ON COLUMN dwd_member_balance_change_EX.balance_change_id IS '余额变动记录主键 ID,来源于源系统的余额变更流水 ID,唯一标识一条余额变动事件。 | 来源: id | 角色: 主键';
|
||
COMMENT ON COLUMN dwd_member_balance_change_EX.pay_site_name IS '余额变动发生门店名称,对应 site_id 的中文名。示例:朗朗桌球;当 site_id = 0 时通常为空字符串。纯展示冗余。 | 来源: paySiteName';
|
||
COMMENT ON COLUMN dwd_member_balance_change_EX.register_site_name IS '办卡门店名称,对应 register_site_id 的中文名。当前样本全部为 朗朗桌球,属于冗余展示。 | 来源: registerSiteName';
|
||
COMMENT ON COLUMN dwd_member_balance_change_EX.refund_amount IS '退款金额字段。在当前样本数据中全部为 0.00,推测用于区分“退回卡内余额”和“原路退回”等更细的退款模式,但目前未启用。 | 来源: refund_amount';
|
||
COMMENT ON COLUMN dwd_member_balance_change_EX.operator_id IS '操作员 ID,执行本次余额变动操作的员工账号主键。可关联员工/账号维度。 | 来源: operator_id | 角色: 外键';
|
||
COMMENT ON COLUMN dwd_member_balance_change_EX.operator_name IS '操作员名称及职位说明,例如:收银员:郑丽珊、店长:谢晓洪 等,是对 operator_id 的可读冗余。 | 来源: operator_name';
|
||
|
||
-- dwd_groupbuy_redemption
|
||
CREATE TABLE IF NOT EXISTS dwd_groupbuy_redemption (
|
||
redemption_id BIGINT,
|
||
tenant_id BIGINT,
|
||
site_id BIGINT,
|
||
table_id BIGINT,
|
||
tenant_table_area_id BIGINT,
|
||
table_charge_seconds INTEGER,
|
||
order_trade_no BIGINT,
|
||
order_settle_id BIGINT,
|
||
order_coupon_id BIGINT,
|
||
coupon_origin_id BIGINT,
|
||
promotion_activity_id BIGINT,
|
||
promotion_coupon_id BIGINT,
|
||
order_coupon_channel INTEGER,
|
||
ledger_unit_price NUMERIC(18,2),
|
||
ledger_count INTEGER,
|
||
ledger_amount NUMERIC(18,2),
|
||
coupon_money NUMERIC(18,2),
|
||
promotion_seconds INTEGER,
|
||
coupon_code VARCHAR(64),
|
||
is_single_order INTEGER,
|
||
is_delete INTEGER,
|
||
ledger_name VARCHAR(128),
|
||
create_time TIMESTAMPTZ,
|
||
PRIMARY KEY (redemption_id)
|
||
);
|
||
COMMENT ON COLUMN dwd_groupbuy_redemption.redemption_id IS '团购券核销流水主键。一条记录代表一次团购券使用在某次台费上的一条核销明细。 | 来源: id | 角色: 主键';
|
||
COMMENT ON COLUMN dwd_groupbuy_redemption.tenant_id IS '租户/品牌 ID。与其他表统一的租户标识,用于品牌维度聚合。 | 来源: tenant_id | 角色: 外键';
|
||
COMMENT ON COLUMN dwd_groupbuy_redemption.site_id IS '门店 ID。与门店维度及其他业务事实中的 site_id 一致。 | 来源: site_id | 角色: 外键';
|
||
COMMENT ON COLUMN dwd_groupbuy_redemption.table_id IS '球台 ID。与台桌维度表中的 id 对应,用于确定具体哪一张球台。 | 来源: table_id | 角色: 外键';
|
||
COMMENT ON COLUMN dwd_groupbuy_redemption.tenant_table_area_id IS '租户级台区组合 ID。与团购套餐定义中的 tenant_table_area_id_list 元素对应,表示该券实际使用时所在的台区组合。用于校验券的适用台区是否匹配实际台桌。 | 来源: tenant_table_area_id | 角色: 外键';
|
||
COMMENT ON COLUMN dwd_groupbuy_redemption.table_charge_seconds IS '本次结算中该球台总计计费的秒数(整台计费时间)。当台上除了券覆盖时长之外还有额外计费时间时,该值会大于券核销时长。 | 来源: table_charge_seconds';
|
||
COMMENT ON COLUMN dwd_groupbuy_redemption.order_trade_no IS '订单交易号。与台费流水、商品销售、助教服务、小票详情等表的 order_trade_no 一致,用于将同一笔结账中的所有明细串联起来。 | 来源: order_trade_no | 角色: 外键';
|
||
COMMENT ON COLUMN dwd_groupbuy_redemption.order_settle_id IS '结算单 ID。与结账记录和小票详情中的结算主键对应,用于从团购券核销记录跳转到整单结算。 | 来源: order_settle_id | 角色: 外键';
|
||
COMMENT ON COLUMN dwd_groupbuy_redemption.order_coupon_id IS '订单中的“券使用记录 ID”。与平台或内部券核销表中的主键一致,用于在订单内部定位这条券使用记录。当前与 coupon_origin_id 数值相等。 | 来源: order_coupon_id | 角色: 外键';
|
||
COMMENT ON COLUMN dwd_groupbuy_redemption.coupon_origin_id IS '上游系统或第三方平台中该券记录的主键 ID。可在平台验券记录中查到券的来源平台、原订单等。当前与 order_coupon_id 数值一致,但语义是“券来源 ID”。 | 来源: coupon_origin_id | 角色: 外键';
|
||
COMMENT ON COLUMN dwd_groupbuy_redemption.promotion_activity_id IS '促销活动 ID。每条记录对应一个活动主键,用于识别券所属的促销活动或团购活动。 | 来源: promotion_activity_id | 角色: 外键';
|
||
COMMENT ON COLUMN dwd_groupbuy_redemption.promotion_coupon_id IS '团购套餐定义 ID。与 group_buy_packages.json 中的 id 一一对应,表示当前使用的是哪一种团购套餐(例如某款“一小时套餐”“两小时套餐”)。 | 来源: promotion_coupon_id | 角色: 外键';
|
||
COMMENT ON COLUMN dwd_groupbuy_redemption.order_coupon_channel IS '券渠道类型枚举。观测值:1(大量记录)、2(少量记录)。用于区分券的来源渠道,例如不同团购平台或内部券。具体数值与渠道名称的映射由业务配置决定。 | 来源: order_coupon_channel | 角色: 外键';
|
||
COMMENT ON COLUMN dwd_groupbuy_redemption.ledger_unit_price IS '本次券在台费侧对应的标准单价,单位元/小时。典型值如 29.9、39.9、59.9、69.9 等。与门店台费计费规则中的单价相对应,用于计算券对应的金额。 | 来源: ledger_unit_price';
|
||
COMMENT ON COLUMN dwd_groupbuy_redemption.ledger_count IS '本次券实际核销的计费秒数。大部分记录等于 promotion_seconds,少数略小于标准时长,表示这张券只覆盖了本次台费的一部分时长。 | 来源: ledger_count';
|
||
COMMENT ON COLUMN dwd_groupbuy_redemption.ledger_amount IS '本次团购券实际冲抵台费的金额。大部分记录中该值与 coupon_money 相等,少数存在小数差异,来源于按单价与秒数换算的结果。 | 来源: ledger_amount';
|
||
COMMENT ON COLUMN dwd_groupbuy_redemption.coupon_money IS '本次核销时,团购券在门店侧对应的金额额度(可抵扣金额)。同一种 promotion_coupon_id 下,该值固定,例如某套餐固定为 48.00 元、某套餐固定为 96.00 元等。 | 来源: coupon_money';
|
||
COMMENT ON COLUMN dwd_groupbuy_redemption.promotion_seconds IS '团购套餐定义的标准时长权益,单位秒。观测枚举值为 3600、7200、14400,分别对应 1 小时、2 小时、4 小时。与团购套餐定义表中的 duration 字段一致。 | 来源: promotion_seconds';
|
||
COMMENT ON COLUMN dwd_groupbuy_redemption.coupon_code IS '团购券券码字符串。每条记录一个唯一券码,例如“0107892475999”。用于与平台验券记录、券购买记录等做一一对应,追踪券的全生命周期。 | 来源: coupon_code | 角色: 外键';
|
||
COMMENT ON COLUMN dwd_groupbuy_redemption.is_single_order IS '是否作为单独订单行。观测值:1 为主,表示以独立条目方式结算;0 为个别记录,表示嵌入某种组合结算结构。具体业务含义依赖上层订单结构设计。 | 来源: is_single_order';
|
||
COMMENT ON COLUMN dwd_groupbuy_redemption.is_delete IS '逻辑删除标记。0 表示正常记录,1 表示逻辑删除但数据仍保留用于追溯。当前样本全部为 0,用于过滤有效记录。 | 来源: is_delete';
|
||
COMMENT ON COLUMN dwd_groupbuy_redemption.ledger_name IS '团购项目记账名称,如“全天A区中八一小时”“B区桌球一小时”“中八、斯诺克包厢两小时”等。通常与团购套餐名称相近,用于报表展示和套餐维度分析。 | 来源: ledger_name';
|
||
COMMENT ON COLUMN dwd_groupbuy_redemption.create_time IS '本条团购券核销流水的创建时间,通常即核销时间,格式为“YYYY-MM-DD HH:MM:SS”。用于时间维度分析和数据分区。 | 来源: create_time';
|
||
|
||
-- dwd_groupbuy_redemption_Ex
|
||
CREATE TABLE IF NOT EXISTS dwd_groupbuy_redemption_Ex (
|
||
redemption_id BIGINT,
|
||
site_name VARCHAR(64),
|
||
table_name VARCHAR(64),
|
||
table_area_name VARCHAR(64),
|
||
order_pay_id BIGINT,
|
||
goods_option_price NUMERIC(18,2),
|
||
goods_promotion_money NUMERIC(18,2),
|
||
table_service_promotion_money NUMERIC(18,2),
|
||
assistant_promotion_money NUMERIC(18,2),
|
||
assistant_service_promotion_money NUMERIC(18,2),
|
||
reward_promotion_money NUMERIC(18,2),
|
||
recharge_promotion_money NUMERIC(18,2),
|
||
offer_type INTEGER,
|
||
ledger_status INTEGER,
|
||
operator_id BIGINT,
|
||
operator_name VARCHAR(64),
|
||
salesman_user_id BIGINT,
|
||
salesman_name VARCHAR(64),
|
||
salesman_role_id BIGINT,
|
||
salesman_org_id BIGINT,
|
||
ledger_group_name VARCHAR(128),
|
||
PRIMARY KEY (redemption_id)
|
||
);
|
||
COMMENT ON COLUMN dwd_groupbuy_redemption_Ex.redemption_id IS '团购券核销流水主键。一条记录代表一次团购券使用在某次台费上的一条核销明细。 | 来源: id | 角色: 主键';
|
||
COMMENT ON COLUMN dwd_groupbuy_redemption_Ex.site_name IS '门店名称。当前样本全部为同一门店,仅作冗余展示。 | 来源: siteName';
|
||
COMMENT ON COLUMN dwd_groupbuy_redemption_Ex.table_name IS '球台名称或台号。如 A7、A11、B1 等。用于业务报表展示与人工识别。 | 来源: tableName';
|
||
COMMENT ON COLUMN dwd_groupbuy_redemption_Ex.table_area_name IS '台区名称。观测枚举值包括 A区、B区、斯诺克区、麻将房。实际取值随门店台区配置变化。 | 来源: tableAreaName';
|
||
COMMENT ON COLUMN dwd_groupbuy_redemption_Ex.order_pay_id IS '支付流水 ID。部分记录为 0,表示未在当前导出范围内关联到具体支付记录。真实含义为“指向支付记录表中的支付流水”。 | 来源: order_pay_id | 角色: 外键';
|
||
COMMENT ON COLUMN dwd_groupbuy_redemption_Ex.goods_option_price IS '商品规格价格,用于商品类促销分摊时使用。当前在团购券核销场景中全部为 0,仅作为结构预留。 | 来源: goodsOptionPrice';
|
||
COMMENT ON COLUMN dwd_groupbuy_redemption_Ex.goods_promotion_money IS '本次券使用中分摊到“商品”部分的促销金额。当前所有记录为 0,说明本门店的团购券未用于商品抵扣。 | 来源: goods_promotion_money';
|
||
COMMENT ON COLUMN dwd_groupbuy_redemption_Ex.table_service_promotion_money IS '本次券使用中分摊到“台费服务费”部分的促销金额。当前样本全部为 0,结构上用于支持更细粒度的费用拆分。 | 来源: table_service_promotion_money';
|
||
COMMENT ON COLUMN dwd_groupbuy_redemption_Ex.assistant_promotion_money IS '本次券使用中分摊到“助教服务”的促销金额。当前全部为 0,说明团购券尚未用于助教服务的抵扣。 | 来源: assistant_promotion_money';
|
||
COMMENT ON COLUMN dwd_groupbuy_redemption_Ex.assistant_service_promotion_money IS '进一步细分助教服务对应的促销金额。当前为 0,仅预留结构以支持复杂场景。 | 来源: assistant_service_promotion_money';
|
||
COMMENT ON COLUMN dwd_groupbuy_redemption_Ex.reward_promotion_money IS '本次促销中属于“奖励金、积分”等来源的促销金额分摊。当前为 0,预留用于积分或奖励金同时参与活动时的金额拆分。 | 来源: reward_promotion_money';
|
||
COMMENT ON COLUMN dwd_groupbuy_redemption_Ex.recharge_promotion_money IS '来自“充值赠送”等储值优惠的促销金额分摊。当前为 0,预留用于将来区分“券优惠”和“充值赠送优惠”的场景。 | 来源: recharge_promotion_money';
|
||
COMMENT ON COLUMN dwd_groupbuy_redemption_Ex.offer_type IS '优惠类型枚举。当前样本值全部为 1,表示本门店使用的团购券均为同一类型(例如“套餐券”)。其他取值可能对应满减、折扣、代金券等优惠类型,在本数据中未出现。 | 来源: offer_type';
|
||
COMMENT ON COLUMN dwd_groupbuy_redemption_Ex.ledger_status IS '流水状态。观测值全部为 1。常规含义为:1 表示正常有效记录;其他值预留用于表示作废、撤销、未生效等状态。当前导出仅包含正常状态记录。 | 来源: ledger_status';
|
||
COMMENT ON COLUMN dwd_groupbuy_redemption_Ex.operator_id IS '执行本次券核销操作的操作员 ID。可与员工维度表对接,用于分析不同操作员的核销行为与绩效。 | 来源: operator_id | 角色: 外键';
|
||
COMMENT ON COLUMN dwd_groupbuy_redemption_Ex.operator_name IS '操作员名称及角色说明,例如“收银员:郑丽珊”。与 operator_id 冗余,对报表展示友好,但不参与模型关联。 | 来源: operator_name';
|
||
COMMENT ON COLUMN dwd_groupbuy_redemption_Ex.salesman_user_id IS '营业员用户 ID。当前全部为 0,表示本门店在团购券场景未单独记录营业员信息。 | 来源: salesman_user_id | 角色: 外键';
|
||
COMMENT ON COLUMN dwd_groupbuy_redemption_Ex.salesman_name IS '营业员姓名。当前为空字符串。结构上用于记录拉单或促销的业务员信息。 | 来源: salesman_name';
|
||
COMMENT ON COLUMN dwd_groupbuy_redemption_Ex.salesman_role_id IS '营业员角色 ID。当前为 0,预留用于标识营业员在组织中的角色类型。 | 来源: salesman_role_id';
|
||
COMMENT ON COLUMN dwd_groupbuy_redemption_Ex.salesman_org_id IS '营业员所属组织 ID。来源字段为 sales_man_org_id,DWD 层统一命名为 salesman_org_id。当前为 0,用于将来对接组织架构维度。 | 来源: sales_man_org_id';
|
||
COMMENT ON COLUMN dwd_groupbuy_redemption_Ex.ledger_group_name IS '团购项目的记账分组名称。当前全部为空,预留给将来按团购项目大类分组(例如“团购台费”“团购包厢”)使用。 | 来源: ledger_group_name';
|
||
|
||
-- dwd_platform_coupon_redemption
|
||
CREATE TABLE IF NOT EXISTS dwd_platform_coupon_redemption (
|
||
platform_coupon_redemption_id BIGINT,
|
||
tenant_id BIGINT,
|
||
site_id BIGINT,
|
||
coupon_code VARCHAR(64),
|
||
coupon_channel INTEGER,
|
||
coupon_name VARCHAR(200),
|
||
sale_price NUMERIC(10,2),
|
||
coupon_money NUMERIC(10,2),
|
||
coupon_free_time INTEGER,
|
||
channel_deal_id BIGINT,
|
||
deal_id BIGINT,
|
||
group_package_id BIGINT,
|
||
site_order_id BIGINT,
|
||
table_id BIGINT,
|
||
certificate_id VARCHAR(64),
|
||
verify_id VARCHAR(64),
|
||
use_status INTEGER,
|
||
is_delete INTEGER,
|
||
create_time TIMESTAMPTZ,
|
||
consume_time TIMESTAMPTZ,
|
||
PRIMARY KEY (platform_coupon_redemption_id)
|
||
);
|
||
COMMENT ON COLUMN dwd_platform_coupon_redemption.platform_coupon_redemption_id IS '平台券核销记录在本系统内的主键 ID。长整型分布式 ID,用于唯一标识本次核销流水。 | 来源: id | 角色: 主键';
|
||
COMMENT ON COLUMN dwd_platform_coupon_redemption.tenant_id IS '租户 ID,品牌级别标识。例如整套系统中的“朗朗桌球”品牌。与其他表的 tenant_id 一致,用于划分租户数据域。 | 来源: tenant_id | 角色: 外键';
|
||
COMMENT ON COLUMN dwd_platform_coupon_redemption.site_id IS '门店 ID。与门店维度 dim_site.site_id 对应,用于区分不同门店。siteProfile.id 与此字段相同,本表不再冗余门店快照。 | 来源: site_id | 角色: 外键';
|
||
COMMENT ON COLUMN dwd_platform_coupon_redemption.coupon_code IS '第三方团购券券码,顾客出示的核销码。当前样本中全表唯一,可视为业务自然主键,用于验券、对账、查询。 | 来源: coupon_code';
|
||
COMMENT ON COLUMN dwd_platform_coupon_redemption.coupon_channel IS '券来源渠道枚举,表示第三方平台渠道编号。观测值:1,2。具体含义需结合系统配置,一般可理解为:1 表示平台渠道 1(主平台),2 表示平台渠道 2(其他入口或子平台)。 | 来源: coupon_channel';
|
||
COMMENT ON COLUMN dwd_platform_coupon_redemption.coupon_name IS '第三方团购券产品名称,例如“【全天可用】中八桌球一小时(A区)”“1小时中八台球【11月特惠】(A区)”等。用于报表展示和区分不同团购产品。 | 来源: coupon_name';
|
||
COMMENT ON COLUMN dwd_platform_coupon_redemption.sale_price IS '顾客在第三方平台实际支付的团购售价,例如 11.11、29.90、39.90 等。始终小于 coupon_money,体现“折后价”。 | 来源: sale_price';
|
||
COMMENT ON COLUMN dwd_platform_coupon_redemption.coupon_money IS '券面值或套餐价值,即系统认为该券可抵扣的金额,例如 48.00、58.00、68.00、96.00、116.00、288.00。与 coupon_name 有固定对应关系。 | 来源: coupon_money';
|
||
COMMENT ON COLUMN dwd_platform_coupon_redemption.coupon_free_time IS '券附带的赠送时长,单位:秒。当前样本全部为 0,表示无独立赠送时长。若未来有赠送时间型券,则该字段存储赠送的秒数。 | 来源: coupon_free_time';
|
||
COMMENT ON COLUMN dwd_platform_coupon_redemption.channel_deal_id IS '渠道侧团购商品 ID(第三方平台 dealId)。值域有限(约 9 个值),与 coupon_name 一一对应。用于对接第三方接口和按平台商品维度统计。 | 来源: channel_deal_id | 角色: - 或 外键(预留)';
|
||
COMMENT ON COLUMN dwd_platform_coupon_redemption.deal_id IS '平台/系统侧团购商品 ID。多数记录为非 0 整数,也有部分为 0。与 coupon_name 存在稳定对应关系,0 表示内部未配置或未同步。未来可作为内部团购商品维度外键。 | 来源: deal_id | 角色: 外键(预留)';
|
||
COMMENT ON COLUMN dwd_platform_coupon_redemption.group_package_id IS '内部“团购套餐”定义表主键 ID。当前样本中全部为 0,表示平台券尚未映射到自有团购套餐;从设计上是预留的外键字段。 | 来源: group_package_id | 角色: 外键';
|
||
COMMENT ON COLUMN dwd_platform_coupon_redemption.site_order_id IS '门店内部订单 ID。本次平台券核销所挂靠的店内订单号。用于与结账记录、台费流水、商品销售等事实表通过订单维度关联。 | 来源: site_order_id | 角色: 外键';
|
||
COMMENT ON COLUMN dwd_platform_coupon_redemption.table_id IS '使用团购券的球台 ID。与 dim_site_table.table_id 对应,用于统计每张球台的第三方平台引流情况。 | 来源: table_id | 角色: 外键';
|
||
COMMENT ON COLUMN dwd_platform_coupon_redemption.certificate_id IS '第三方平台侧券实例 ID(凭证 ID),通常为 16–19 位数字字符串。用于与外部平台对账与查询核销结果。存在重复值,不能单独作为唯一键。 | 来源: certificate_id';
|
||
COMMENT ON COLUMN dwd_platform_coupon_redemption.verify_id IS '第三方平台核销记录 ID。大部分记录为空,少量有值。存在时可用于精确反查平台侧核销记录。 | 来源: verify_id';
|
||
COMMENT ON COLUMN dwd_platform_coupon_redemption.use_status IS '券使用状态枚举。观测值:1、2。1 表示已使用/已核销(正常消耗);2 表示已退款/已撤销或使用后反冲的状态。是判断券生命周期状态的核心字段。 | 来源: use_status';
|
||
COMMENT ON COLUMN dwd_platform_coupon_redemption.is_delete IS '逻辑删除标志。0 表示未删除;1 表示已逻辑删除。与 use_status 独立:即便业务状态异常(如 use_status=2),也可能 is_delete 仍为 0 以保留记录。 | 来源: is_delete';
|
||
COMMENT ON COLUMN dwd_platform_coupon_redemption.create_time IS '系统记录创建时间,即核销记录写入本系统的时间。格式为 YYYY-MM-DD HH:MM:SS。通常与 consume_time 相差约 1 秒。 | 来源: create_time';
|
||
COMMENT ON COLUMN dwd_platform_coupon_redemption.consume_time IS '券被核销/使用的业务时间,代表实际团购券使用发生的时间点。后续按核销日期统计核销量时以该字段为准。 | 来源: consume_time';
|
||
|
||
-- dwd_platform_coupon_redemption_Ex
|
||
CREATE TABLE IF NOT EXISTS dwd_platform_coupon_redemption_Ex (
|
||
platform_coupon_redemption_id BIGINT,
|
||
coupon_cover VARCHAR(255),
|
||
coupon_remark VARCHAR(255),
|
||
groupon_type INTEGER,
|
||
operator_id BIGINT,
|
||
operator_name VARCHAR(50),
|
||
PRIMARY KEY (platform_coupon_redemption_id)
|
||
);
|
||
COMMENT ON COLUMN dwd_platform_coupon_redemption_Ex.platform_coupon_redemption_id IS '平台券核销记录在本系统内的主键 ID。长整型分布式 ID,用于唯一标识本次核销流水。 | 来源: id | 角色: 主键';
|
||
COMMENT ON COLUMN dwd_platform_coupon_redemption_Ex.coupon_cover IS '券封面图片地址 URL,用于前端展示团购券图片。对经营分析和结算逻辑无影响。 | 来源: coupon_cover';
|
||
COMMENT ON COLUMN dwd_platform_coupon_redemption_Ex.coupon_remark IS '券描述或备注信息,用于展示券规则、说明文字。未参与计算和关联逻辑。 | 来源: coupon_remark';
|
||
COMMENT ON COLUMN dwd_platform_coupon_redemption_Ex.groupon_type IS '团购券类型枚举。当前样本全部为 1。推断含义:1 表示标准团购券,其他值预留为次卡、套餐券、权益券等类型。 | 来源: groupon_type';
|
||
COMMENT ON COLUMN dwd_platform_coupon_redemption_Ex.operator_id IS '执行验券操作的员工/收银员账号 ID。当前样本中多数为同一值。可与员工/账号维度表关联。 | 来源: operator_id | 角色: 外键';
|
||
COMMENT ON COLUMN dwd_platform_coupon_redemption_Ex.operator_name IS '操作员姓名或显示名,例如“收银员:郑丽珊”。是 operator_id 的冗余展示字段,用于报表展示。 | 来源: operator_name';
|
||
|
||
-- dwd_recharge_order
|
||
CREATE TABLE IF NOT EXISTS dwd_recharge_order (
|
||
recharge_order_id BIGINT,
|
||
tenant_id BIGINT,
|
||
site_id BIGINT,
|
||
member_id BIGINT,
|
||
member_name_snapshot TEXT,
|
||
member_phone_snapshot TEXT,
|
||
tenant_member_card_id BIGINT,
|
||
member_card_type_name TEXT,
|
||
settle_relate_id BIGINT,
|
||
settle_type INTEGER,
|
||
settle_name TEXT,
|
||
is_first INTEGER,
|
||
pay_amount NUMERIC(18,2),
|
||
refund_amount NUMERIC(18,2),
|
||
point_amount NUMERIC(18,2),
|
||
cash_amount NUMERIC(18,2),
|
||
payment_method INTEGER,
|
||
create_time TIMESTAMPTZ,
|
||
pay_time TIMESTAMPTZ,
|
||
PRIMARY KEY (recharge_order_id)
|
||
);
|
||
COMMENT ON COLUMN dwd_recharge_order.recharge_order_id IS '充值结算记录主键;唯一标识一条充值/撤销记录。 | 来源: id | 角色: 主键';
|
||
COMMENT ON COLUMN dwd_recharge_order.tenant_id IS '租户/品牌 ID;与其他 JSON 中 tenantId 含义一致。 | 来源: tenantId | 角色: 外键(dim_tenant)';
|
||
COMMENT ON COLUMN dwd_recharge_order.site_id IS '门店 ID;与 siteProfile.id 一致,用于关联门店维度。 | 来源: siteId | 角色: 外键(dim_site)';
|
||
COMMENT ON COLUMN dwd_recharge_order.member_id IS '会员 ID;对应会员档案中的 tenantMemberInfos.id。标识给哪个会员充值。 | 来源: memberId | 角色: 外键(dim_member)';
|
||
COMMENT ON COLUMN dwd_recharge_order.member_name_snapshot IS '会员姓名/昵称快照,可能是名称或手机号字符串。 | 来源: memberName';
|
||
COMMENT ON COLUMN dwd_recharge_order.member_phone_snapshot IS '会员手机号快照。 | 来源: memberPhone';
|
||
COMMENT ON COLUMN dwd_recharge_order.tenant_member_card_id IS '会员卡实例 ID(某张具体卡);可关联 dim_member_card_account。 | 来源: tenantMemberCardId | 角色: 外键(dim_member_card_account)';
|
||
COMMENT ON COLUMN dwd_recharge_order.member_card_type_name IS '会员卡类型名称;当前样例主要有:“储值卡”、“月卡”。 | 来源: memberCardTypeName';
|
||
COMMENT ON COLUMN dwd_recharge_order.settle_relate_id IS '结算关联 ID;用于与支付记录等跨表关联(类似业务单 ID)。 | 来源: settleRelateId | 角色: 外键(与支付/结算域软关联)';
|
||
COMMENT ON COLUMN dwd_recharge_order.settle_type IS '结算类型枚举:5=“充值订单”(正常充值);7=“充值撤销”(冲销记录)。 | 来源: settleType';
|
||
COMMENT ON COLUMN dwd_recharge_order.settle_name IS '结算类型名称:"充值订单"、"充值撤销";前端展示用。 | 来源: settleName';
|
||
COMMENT ON COLUMN dwd_recharge_order.is_first IS '是否首充标记。取值:1 或 2。理论含义类似“是否首充”,但 1/2 的精确定义需系统字典确认。 | 来源: isFirst';
|
||
COMMENT ON COLUMN dwd_recharge_order.pay_amount IS '本条记录的充值金额(可为正/负):正数=实际充值金额;负数=撤销流水金额(settleType=7)。 | 来源: payAmount';
|
||
COMMENT ON COLUMN dwd_recharge_order.refund_amount IS '对该充值订单的退款金额(通常为正数);原始充值单上为已退款金额,对应会有一条负数的“充值撤销”记录。 | 来源: refundAmount';
|
||
COMMENT ON COLUMN dwd_recharge_order.point_amount IS '计入会员账户的储值/积分金额;多数情况下等于 pay_amount 的绝对值;撤销记录一般为 0。 | 来源: pointAmount';
|
||
COMMENT ON COLUMN dwd_recharge_order.cash_amount IS '现金收款金额;样本中少数为 3000/5000,其余为 0。 | 来源: cashAmount';
|
||
COMMENT ON COLUMN dwd_recharge_order.payment_method IS '支付方式编码。样本取值:1、2、4;具体对应渠道(现金/微信/支付宝/银行卡等)需系统“支付方式字典”确认。 | 来源: paymentMethod';
|
||
COMMENT ON COLUMN dwd_recharge_order.create_time IS '充值记录创建时间(收银完成时间);用于时间分区、统计。 | 来源: createTime';
|
||
COMMENT ON COLUMN dwd_recharge_order.pay_time IS '支付完成时间;通常与 create_time 接近或相同。 | 来源: payTime';
|
||
|
||
-- dwd_recharge_order_Ex
|
||
CREATE TABLE IF NOT EXISTS dwd_recharge_order_Ex (
|
||
recharge_order_id BIGINT,
|
||
site_name_snapshot TEXT,
|
||
settle_status INTEGER,
|
||
is_bind_member BOOLEAN,
|
||
is_activity BOOLEAN,
|
||
is_use_coupon BOOLEAN,
|
||
is_use_discount BOOLEAN,
|
||
can_be_revoked BOOLEAN,
|
||
online_amount NUMERIC(18,2),
|
||
balance_amount NUMERIC(18,2),
|
||
card_amount NUMERIC(18,2),
|
||
coupon_amount NUMERIC(18,2),
|
||
recharge_card_amount NUMERIC(18,2),
|
||
gift_card_amount NUMERIC(18,2),
|
||
prepay_money NUMERIC(18,2),
|
||
consume_money NUMERIC(18,2),
|
||
goods_money NUMERIC(18,2),
|
||
real_goods_money NUMERIC(18,2),
|
||
table_charge_money NUMERIC(18,2),
|
||
service_money NUMERIC(18,2),
|
||
activity_discount NUMERIC(18,2),
|
||
all_coupon_discount NUMERIC(18,2),
|
||
goods_promotion_money NUMERIC(18,2),
|
||
assistant_promotion_money NUMERIC(18,2),
|
||
assistant_pd_money NUMERIC(18,2),
|
||
assistant_cx_money NUMERIC(18,2),
|
||
assistant_manual_discount NUMERIC(18,2),
|
||
coupon_sale_amount NUMERIC(18,2),
|
||
member_discount_amount NUMERIC(18,2),
|
||
point_discount_price NUMERIC(18,2),
|
||
point_discount_cost NUMERIC(18,2),
|
||
adjust_amount NUMERIC(18,2),
|
||
rounding_amount NUMERIC(18,2),
|
||
operator_id BIGINT,
|
||
operator_name_snapshot TEXT,
|
||
salesman_user_id BIGINT,
|
||
salesman_name TEXT,
|
||
order_remark TEXT,
|
||
table_id INTEGER,
|
||
serial_number INTEGER,
|
||
revoke_order_id BIGINT,
|
||
revoke_order_name TEXT,
|
||
revoke_time TIMESTAMPTZ,
|
||
PRIMARY KEY (recharge_order_id)
|
||
);
|
||
COMMENT ON COLUMN dwd_recharge_order_Ex.recharge_order_id IS '充值结算记录主键;唯一标识一条充值/撤销记录。 | 来源: id | 角色: 主键';
|
||
COMMENT ON COLUMN dwd_recharge_order_Ex.site_name_snapshot IS '门店名称快照,如“朗朗桌球”;仅用于展示,门店改名后本字段不变。 | 来源: siteName';
|
||
COMMENT ON COLUMN dwd_recharge_order_Ex.settle_status IS '结算状态;当前数据全部为 2,推测 2=已完成。其它状态未出现在样本中。 | 来源: settleStatus';
|
||
COMMENT ON COLUMN dwd_recharge_order_Ex.is_bind_member IS '是否绑定为会员/其他绑定标记;当前所有记录为 False,而又都有 memberId,实际业务含义不清。 | 来源: isBindMember';
|
||
COMMENT ON COLUMN dwd_recharge_order_Ex.is_activity IS '是否关联营销活动;当前全部为 False,表示样本周期内充值未绑定活动。 | 来源: isActivity';
|
||
COMMENT ON COLUMN dwd_recharge_order_Ex.is_use_coupon IS '本次充值是否使用优惠券;当前样本全部为 False。结构上预留“充值用券”的能力。 | 来源: isUseCoupon';
|
||
COMMENT ON COLUMN dwd_recharge_order_Ex.is_use_discount IS '是否使用折扣(如充值折扣);样本中全为 False。 | 来源: isUseDiscount';
|
||
COMMENT ON COLUMN dwd_recharge_order_Ex.can_be_revoked IS '当前记录是否仍可撤销;样本中全为 False(导出时均不可撤销)。 | 来源: canBeRevoked';
|
||
COMMENT ON COLUMN dwd_recharge_order_Ex.online_amount IS '线上支付金额(如微信、支付宝等);当前样本为 0,但字段为支付渠道拆分预留。 | 来源: onlineAmount';
|
||
COMMENT ON COLUMN dwd_recharge_order_Ex.balance_amount IS '从账户余额中支付的金额;充值场景通常为 0(用余额充值没有实际意义)。 | 来源: balanceAmount';
|
||
COMMENT ON COLUMN dwd_recharge_order_Ex.card_amount IS '从其他储值卡或某种卡余额支付的金额;当前样本全为 0。 | 来源: cardAmount';
|
||
COMMENT ON COLUMN dwd_recharge_order_Ex.coupon_amount IS '使用券直接支付的金额(如储值券);当前样本为 0。 | 来源: couponAmount';
|
||
COMMENT ON COLUMN dwd_recharge_order_Ex.recharge_card_amount IS '充值到卡上的金额(与 point_amount 区分不同资金属性);样本为 0,结构预留。 | 来源: rechargeCardAmount';
|
||
COMMENT ON COLUMN dwd_recharge_order_Ex.gift_card_amount IS '赠送卡金额(如买 1000 送 100 的赠送部分);当前样本为 0。 | 来源: giftCardAmount';
|
||
COMMENT ON COLUMN dwd_recharge_order_Ex.prepay_money IS '预付款金额(订金);当前样本为 0,充值未启用此场景。 | 来源: prepayMoney';
|
||
COMMENT ON COLUMN dwd_recharge_order_Ex.consume_money IS '消费总金额;在充值文件中全部为 0,实际用于消费场景(台费/商品)的结算模型复用字段。 | 来源: consumeMoney';
|
||
COMMENT ON COLUMN dwd_recharge_order_Ex.goods_money IS '商品消费金额(充值记录中为 0)。 | 来源: goodsMoney';
|
||
COMMENT ON COLUMN dwd_recharge_order_Ex.real_goods_money IS '实际应计商品金额(扣除折扣后);充值记录中为 0。 | 来源: realGoodsMoney';
|
||
COMMENT ON COLUMN dwd_recharge_order_Ex.table_charge_money IS '台费金额;充值记录中为 0,来自通用结算模型。 | 来源: tableChargeMoney';
|
||
COMMENT ON COLUMN dwd_recharge_order_Ex.service_money IS '服务项目金额(如助教、其他服务);充值中为 0。 | 来源: serviceMoney';
|
||
COMMENT ON COLUMN dwd_recharge_order_Ex.activity_discount IS '营销活动折扣金额;当前样本为 0。 | 来源: activityDiscount';
|
||
COMMENT ON COLUMN dwd_recharge_order_Ex.all_coupon_discount IS '各类优惠券、团购券综合折扣金额;样本为 0。 | 来源: allCouponDiscount';
|
||
COMMENT ON COLUMN dwd_recharge_order_Ex.goods_promotion_money IS '商品促销优惠金额;样本为 0。 | 来源: goodsPromotionMoney';
|
||
COMMENT ON COLUMN dwd_recharge_order_Ex.assistant_promotion_money IS '助教相关促销优惠金额;样本为 0。 | 来源: assistantPromotionMoney';
|
||
COMMENT ON COLUMN dwd_recharge_order_Ex.assistant_pd_money IS '助教配单金额/相关费用;样本为 0。 | 来源: assistantPdMoney';
|
||
COMMENT ON COLUMN dwd_recharge_order_Ex.assistant_cx_money IS '助教冲销/促销相关金额;样本为 0。 | 来源: assistantCxMoney';
|
||
COMMENT ON COLUMN dwd_recharge_order_Ex.assistant_manual_discount IS '助教手工减免金额;样本为 0。 | 来源: assistantManualDiscount';
|
||
COMMENT ON COLUMN dwd_recharge_order_Ex.coupon_sale_amount IS '券/套餐销售金额(售卖券时使用);充值场景中为 0。 | 来源: couponSaleAmount';
|
||
COMMENT ON COLUMN dwd_recharge_order_Ex.member_discount_amount IS '因会员折扣产生的优惠金额;在充值样本中为 0。 | 来源: memberDiscountAmount';
|
||
COMMENT ON COLUMN dwd_recharge_order_Ex.point_discount_price IS '积分抵扣产生的价差(价格部分);样本为 0。 | 来源: pointDiscountPrice';
|
||
COMMENT ON COLUMN dwd_recharge_order_Ex.point_discount_cost IS '积分抵扣对应的成本金额;样本为 0。 | 来源: pointDiscountCost';
|
||
COMMENT ON COLUMN dwd_recharge_order_Ex.adjust_amount IS '手工调整金额(非抹零);样本为 0。 | 来源: adjustAmount';
|
||
COMMENT ON COLUMN dwd_recharge_order_Ex.rounding_amount IS '抹零金额(四舍五入产生的差额);样本为 0。 | 来源: roundingAmount';
|
||
COMMENT ON COLUMN dwd_recharge_order_Ex.operator_id IS '操作该笔充值的收银员/员工 ID。 | 来源: operatorId | 角色: 外键(将来可关联 dim_staff)';
|
||
COMMENT ON COLUMN dwd_recharge_order_Ex.operator_name_snapshot IS '操作员姓名快照,便于直接阅读;与 operator_id 对应。 | 来源: operatorName';
|
||
COMMENT ON COLUMN dwd_recharge_order_Ex.salesman_user_id IS '营业员用户 ID;当前样本全部为 0。 | 来源: salesManUserId | 角色: 外键(潜在 dim_staff)';
|
||
COMMENT ON COLUMN dwd_recharge_order_Ex.salesman_name IS '营业员/销售员姓名;样本为空字符串。 | 来源: salesManName';
|
||
COMMENT ON COLUMN dwd_recharge_order_Ex.order_remark IS '充值订单备注,如手工说明;当前样本为空。 | 来源: orderRemark';
|
||
COMMENT ON COLUMN dwd_recharge_order_Ex.table_id IS '台桌 ID;充值场景下全部是 0,表示该订单不挂具体球台。 | 来源: tableId';
|
||
COMMENT ON COLUMN dwd_recharge_order_Ex.serial_number IS '流水/小票序号;当前样本全部为 0,本门店未启用。 | 来源: serialNumber';
|
||
COMMENT ON COLUMN dwd_recharge_order_Ex.revoke_order_id IS '撤销相关订单 ID(被撤销原单或撤销单指针);样本中存在值但逻辑未完全启用。 | 来源: revokeOrderId';
|
||
COMMENT ON COLUMN dwd_recharge_order_Ex.revoke_order_name IS '撤销单名称/说明;样本全为空。 | 来源: revokeOrderName';
|
||
COMMENT ON COLUMN dwd_recharge_order_Ex.revoke_time IS '撤销时间;当前样本为空,撤销信息主要通过负数流水与 refund_amount 表达。 | 来源: revokeTime';
|
||
|
||
-- dwd_payment
|
||
CREATE TABLE IF NOT EXISTS dwd_payment (
|
||
payment_id BIGINT,
|
||
site_id BIGINT,
|
||
relate_type INTEGER,
|
||
relate_id BIGINT,
|
||
pay_amount NUMERIC(18,2),
|
||
pay_status INTEGER,
|
||
payment_method INTEGER,
|
||
online_pay_channel INTEGER,
|
||
create_time TIMESTAMPTZ,
|
||
pay_time TIMESTAMPTZ,
|
||
pay_date DATE,
|
||
PRIMARY KEY (payment_id)
|
||
);
|
||
COMMENT ON COLUMN dwd_payment.payment_id IS '支付流水主键ID。与源系统 id 一致。每条支付流水唯一标识一条支付行为(包括金额为 0 的记录)。 | 来源: payment_transactions.id | 角色: 主键';
|
||
COMMENT ON COLUMN dwd_payment.site_id IS '门店ID。当前样本中全部为同一门店 2790685415443269。在数仓中外键关联 dim_site.site_id。 | 来源: payment_transactions.site_id | 角色: 外键';
|
||
COMMENT ON COLUMN dwd_payment.relate_type IS '业务关联类型枚举,用来区分这条支付流水对应哪一类业务单据:• 2:结账单支付,对应结账记录 settlement_records 中的结账单;• 5:会员卡充值/账户变动类支付,对应会员余额/充值业务单号,在会员余额变更或充值结算中复用;• 1:其他业务类型,目前样本中仅有 1 条记录,具体业务含义待业务侧补充。 | 来源: payment_transactions.relate_type | 角色: −';
|
||
COMMENT ON COLUMN dwd_payment.relate_id IS '关联业务记录ID,配合 relate_type 使用,是一个“多态外键”:• 当 relate_type = 2 时:relate_id = settlement_records.settleList.id(结账记录主键,对应 dwd_settlement_head_di.order_settle_id);• 当 relate_type = 5 时:relate_id = 会员卡余额变动/充值业务单号,在会员余额变更流水中同名字段使用;• 当 relate_type = 1 时:关联具体业务尚未确认,仅可视为预留类型。 | 来源: payment_transactions.relate_id | 角色: 外键(多业务类型)';
|
||
COMMENT ON COLUMN dwd_payment.pay_amount IS '本次支付金额,单位元。为收入类字段,当前样本全部为非负数:• 正数:实际通过该支付方式收取的金额;• 0:仍生成支付流水,但实收金额为 0(例如整单由会员优惠、团购券、余额等抵扣),当前样本中有 140 条记录金额为 0。 | 来源: payment_transactions.pay_amount | 角色: −';
|
||
COMMENT ON COLUMN dwd_payment.pay_status IS '支付状态枚举。当前样本中仅出现:• 2:支付成功。其它可能的状态(未支付、支付中、失败、已退款等)在本次导出中未出现,需以后按系统支付状态配置补充。由于本 JSON 仅导出成功记录,可以视作“成功支付流水视图”。 | 来源: payment_transactions.pay_status | 角色: −';
|
||
COMMENT ON COLUMN dwd_payment.payment_method IS '支付方式枚举。当前样本中出现的取值:• 2:共 140 条记录;• 4:共 60 条记录。具体取值与“支付方式配置表”对应,例如可能代表现金、扫码支付、银行卡等。由于配置表未导出,在数仓中应作为枚举码字段,通过后续 dim_payment_method 进行解码。不要在数仓层擅自写死“2=微信、4=支付宝”等含义。 | 来源: payment_transactions.payment_method | 角色: 外键(预期关联支付方式维度)';
|
||
COMMENT ON COLUMN dwd_payment.online_pay_channel IS '线上支付通道枚举。用于进一步细分线上渠道,例如:• 0:无线上通道/线下,或未区分具体线上通道(当前样本全部为 0);• 1:微信(推测,未在样本中出现);• 2:支付宝(推测,未在样本中出现)。目前门店在当前时间段内尚未使用该字段进行实际区分,业务含义需结合正式配置确认。 | 来源: payment_transactions.online_pay_channel | 角色: −';
|
||
COMMENT ON COLUMN dwd_payment.create_time IS '支付流水创建时间,格式 YYYY-MM-DD HH:MM:SS。通常是发起支付请求的时间。当前样本中 create_time 与 pay_time 多数相同,但模型上允许两者不同(例如异步支付)。 | 来源: payment_transactions.create_time | 角色: −';
|
||
COMMENT ON COLUMN dwd_payment.pay_time IS '支付完成时间(支付成功时间戳),格式 YYYY-MM-DD HH:MM:SS。用于统计资金实际入账时间,以及与结账时间进行对齐分析。 | 来源: payment_transactions.pay_time | 角色: −';
|
||
COMMENT ON COLUMN dwd_payment.pay_date IS '支付日期分区字段,从 pay_time 截取 YYYY-MM-DD 得到。例如 pay_time = ''2025-11-09 23:35:57'' 时,pay_date = ''2025-11-09''。用于 DWD 表按天分区和日粒度汇总。 | 来源: 由 payment_transactions.pay_time 派生 | 角色: −';
|
||
|
||
-- dwd_refund
|
||
CREATE TABLE IF NOT EXISTS dwd_refund (
|
||
refund_id BIGINT,
|
||
tenant_id BIGINT,
|
||
site_id BIGINT,
|
||
relate_type INTEGER,
|
||
relate_id BIGINT,
|
||
pay_amount NUMERIC(18,2),
|
||
channel_fee NUMERIC(18,2),
|
||
pay_time TIMESTAMPTZ,
|
||
create_time TIMESTAMPTZ,
|
||
payment_method INTEGER,
|
||
member_id BIGINT,
|
||
member_card_id BIGINT,
|
||
PRIMARY KEY (refund_id)
|
||
);
|
||
COMMENT ON COLUMN dwd_refund.refund_id IS '退款流水主键。每条退款记录唯一 ID(雪花ID风格长整型) | 来源: id | 角色: 主键';
|
||
COMMENT ON COLUMN dwd_refund.tenant_id IS '租户/品牌 ID,标识所属商户。与其他表中的 tenant_id 一致。 | 来源: tenant_id | 角色: 外键';
|
||
COMMENT ON COLUMN dwd_refund.site_id IS '门店 ID。与门店维度 dim_site.site_id 对应,用于分门店分析。 | 来源: site_id | 角色: 外键';
|
||
COMMENT ON COLUMN dwd_refund.relate_type IS '业务类型枚举,指示本退款对应哪类业务主单:当前样本值 {2, 5}:2=消费/结账类业务;5=充值/储值类业务(具体定义以业务字典为准)。与 relate_id 组合使用。 | 来源: relate_type';
|
||
COMMENT ON COLUMN dwd_refund.relate_id IS '关联的业务主键 ID,含义依赖 relate_type:relate_type=2 时通常指结账主单 ID;relate_type=5 时通常指充值/储值业务单 ID。同一个 relate_id 可能有多笔退款(分批退款)。 | 来源: relate_id | 角色: 外键';
|
||
COMMENT ON COLUMN dwd_refund.pay_amount IS '本次退款的资金金额,统一为负数。绝对值即退款金额,例如 -5000.00 表示退款 5000 元。 | 来源: pay_amount';
|
||
COMMENT ON COLUMN dwd_refund.channel_fee IS '第三方支付渠道对本次退款收取的手续费。当前样本为 0.00,用于通道成本核算。 | 来源: channel_fee';
|
||
COMMENT ON COLUMN dwd_refund.pay_time IS '退款在支付渠道/系统中发生的时间(退款完成时间),用于对账及按时间统计。 | 来源: pay_time';
|
||
COMMENT ON COLUMN dwd_refund.create_time IS '本条退款流水在系统内创建时间,用于区分记录生成时间与渠道时间。 | 来源: create_time';
|
||
COMMENT ON COLUMN dwd_refund.payment_method IS '支付方式枚举,指本次退款对应的原支付方式(如通道)。样本出现值 4,支付记录中有 {2,4},具体含义需参照支付方式配置表。 | 来源: payment_method';
|
||
COMMENT ON COLUMN dwd_refund.member_id IS '关联的会员 ID,对应会员档案表主键。样本为 0,表示未绑定会员。 | 来源: member_id | 角色: 外键';
|
||
COMMENT ON COLUMN dwd_refund.member_card_id IS '关联的会员卡账户 ID,对应会员卡账户/储值卡维度主键。样本为 0,当前没有“退到会员卡”的记录。 | 来源: member_card_id | 角色: 外键';
|
||
|
||
|
||
CREATE TABLE IF NOT EXISTS dwd_refund_Ex (
|
||
refund_id BIGINT,
|
||
tenant_name VARCHAR(64),
|
||
pay_sn BIGINT,
|
||
refund_amount NUMERIC(18,2),
|
||
round_amount NUMERIC(18,2),
|
||
balance_frozen_amount NUMERIC(18,2),
|
||
card_frozen_amount NUMERIC(18,2),
|
||
pay_status INTEGER,
|
||
action_type INTEGER,
|
||
is_revoke INTEGER,
|
||
is_delete INTEGER,
|
||
check_status INTEGER,
|
||
online_pay_channel INTEGER,
|
||
online_pay_type INTEGER,
|
||
pay_terminal INTEGER,
|
||
pay_config_id INTEGER,
|
||
cashier_point_id INTEGER,
|
||
operator_id BIGINT,
|
||
channel_payer_id VARCHAR(128),
|
||
channel_pay_no VARCHAR(128),
|
||
PRIMARY KEY (refund_id)
|
||
);
|
||
COMMENT ON COLUMN dwd_refund_Ex.refund_id IS '退款流水主键。每条退款记录唯一 ID(雪花ID风格长整型)。 | 来源: id | 角色: 主键';
|
||
COMMENT ON COLUMN dwd_refund_Ex.tenant_name IS '租户名称,例如“朗朗桌球”。与租户维度中的名称冗余。 | 来源: tenantName';
|
||
COMMENT ON COLUMN dwd_refund_Ex.pay_sn IS '支付流水内部序号。退款记录中样本全部为 0,未看到实际使用场景,含义未说明。 | 来源: pay_sn';
|
||
COMMENT ON COLUMN dwd_refund_Ex.refund_amount IS '本次退款金额(正数)设计字段,样本为 0.00,实际使用 pay_amount。 | 来源: refund_amount';
|
||
COMMENT ON COLUMN dwd_refund_Ex.round_amount IS '退款过程中的舍入/抹零金额。 | 来源: round_amount';
|
||
COMMENT ON COLUMN dwd_refund_Ex.balance_frozen_amount IS '与会员余额相关的冻结金额,样本为 0。 | 来源: balance_frozen_amount';
|
||
COMMENT ON COLUMN dwd_refund_Ex.card_frozen_amount IS '与某张会员卡余额相关的冻结金额,样本为 0。 | 来源: card_frozen_amount';
|
||
COMMENT ON COLUMN dwd_refund_Ex.pay_status IS '退款状态枚举。样本中全部为 2(成功/已完成)。 | 来源: pay_status';
|
||
COMMENT ON COLUMN dwd_refund_Ex.action_type IS '资金动作类型枚举。样本全部为 2(退款)。 | 来源: action_type';
|
||
COMMENT ON COLUMN dwd_refund_Ex.is_revoke IS '是否为撤销型退款:0=正常退款;1=撤销原支付。 | 来源: is_revoke';
|
||
COMMENT ON COLUMN dwd_refund_Ex.is_delete IS '逻辑删除标志:0=未删除;1=已逻辑删除。 | 来源: is_delete';
|
||
COMMENT ON COLUMN dwd_refund_Ex.check_status IS '审核状态。样本全部为 1(已审核/通过)。 | 来源: check_status';
|
||
COMMENT ON COLUMN dwd_refund_Ex.online_pay_channel IS '线上支付渠道枚举。样本中全部为 0(线下或默认)。 | 来源: online_pay_channel';
|
||
COMMENT ON COLUMN dwd_refund_Ex.online_pay_type IS '在线退款类型。样本全部为 0(原路退回)。 | 来源: online_pay_type';
|
||
COMMENT ON COLUMN dwd_refund_Ex.pay_terminal IS '退款终端类型。样本全部为 1(前台收银端)。 | 来源: pay_terminal';
|
||
COMMENT ON COLUMN dwd_refund_Ex.pay_config_id IS '支付配置 ID,例如某个具体支付通道(微信商户号、银联通道等)的配置主键。样本全部为 0。 | 来源: pay_config_id | 角色: 外键';
|
||
COMMENT ON COLUMN dwd_refund_Ex.cashier_point_id IS '收银点编号,例如前台1、前台2、自助机等。样本全部为 0。 | 来源: cashier_point_id';
|
||
COMMENT ON COLUMN dwd_refund_Ex.operator_id IS '执行退款操作的操作员 ID。样本全部为 0。 | 来源: operator_id | 角色: 外键';
|
||
COMMENT ON COLUMN dwd_refund_Ex.channel_payer_id IS '支付渠道侧的付款人标识,如 openid、银行卡号掩码等。样本全部为空字符串。 | 来源: channel_payer_id';
|
||
COMMENT ON COLUMN dwd_refund_Ex.channel_pay_no IS '第三方支付平台交易号(如微信支付单号、支付宝交易号等)。当前样本全部为空。 | 来源: channel_pay_no';
|