Files
Neo-ZQYY/docs/database/ddl/etl_feiqiu__app.sql
2026-03-15 10:15:02 +08:00

1190 lines
25 KiB
SQL
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
-- =============================================================================
-- etl_feiqiu / appRLS 视图层)
-- 生成日期2026-03-15
-- 来源:测试库(通过脚本自动导出)
-- =============================================================================
CREATE SCHEMA IF NOT EXISTS app;
-- 视图
CREATE OR REPLACE VIEW app.v_assistant AS
SELECT assistant_id,
tenant_id,
site_id,
real_name,
nickname,
mobile,
level,
assistant_status,
leave_status
FROM core.dim_assistant a;
;
CREATE OR REPLACE VIEW app.v_assistant_daily AS
SELECT id,
site_id,
tenant_id,
assistant_id,
assistant_nickname,
stat_date,
total_service_count,
total_hours,
base_hours,
bonus_hours,
room_hours,
total_ledger_amount,
unique_customers,
unique_tables,
created_at
FROM dws.dws_assistant_daily_detail d;
;
CREATE OR REPLACE VIEW app.v_cfg_assistant_level_price AS
SELECT price_id,
level_code,
level_name,
base_course_price,
bonus_course_price,
effective_from,
effective_to,
description,
created_at,
updated_at
FROM dws.cfg_assistant_level_price;
;
CREATE OR REPLACE VIEW app.v_cfg_bonus_rules AS
SELECT rule_id,
rule_type,
rule_code,
rule_name,
threshold_hours,
rank_position,
bonus_amount,
is_cumulative,
priority,
effective_from,
effective_to,
description,
created_at,
updated_at
FROM dws.cfg_bonus_rules;
;
CREATE OR REPLACE VIEW app.v_cfg_index_parameters AS
SELECT param_id,
index_type,
param_name,
param_value,
description,
effective_from,
effective_to,
created_at,
updated_at
FROM dws.cfg_index_parameters;
;
CREATE OR REPLACE VIEW app.v_cfg_performance_tier AS
SELECT tier_id,
tier_code,
tier_name,
tier_level,
min_hours,
max_hours,
base_deduction,
bonus_deduction_ratio,
vacation_days,
vacation_unlimited,
is_new_hire_tier,
effective_from,
effective_to,
description,
created_at,
updated_at
FROM dws.cfg_performance_tier;
;
CREATE OR REPLACE VIEW app.v_dim_assistant AS
SELECT assistant_id,
user_id,
assistant_no,
real_name,
nickname,
mobile,
tenant_id,
site_id,
team_id,
team_name,
level,
entry_time,
resign_time,
leave_status,
assistant_status,
scd2_start_time,
scd2_end_time,
scd2_is_current,
scd2_version
FROM dwd.dim_assistant
WHERE (site_id = (current_setting('app.current_site_id'::text))::bigint);
;
CREATE OR REPLACE VIEW app.v_dim_member AS
SELECT member_id,
system_member_id,
tenant_id,
register_site_id,
mobile,
nickname,
member_card_grade_code,
member_card_grade_name,
create_time,
update_time,
pay_money_sum,
recharge_money_sum,
scd2_start_time,
scd2_end_time,
scd2_is_current,
scd2_version,
birthday
FROM dwd.dim_member
WHERE (register_site_id = (current_setting('app.current_site_id'::text))::bigint);
;
CREATE OR REPLACE VIEW app.v_dim_member_card_account AS
SELECT member_card_id,
tenant_id,
register_site_id,
tenant_member_id,
system_member_id,
card_type_id,
member_card_grade_code,
member_card_grade_code_name,
member_card_type_name,
member_name,
member_mobile,
balance,
start_time,
end_time,
last_consume_time,
status,
is_delete,
principal_balance,
member_grade,
scd2_start_time,
scd2_end_time,
scd2_is_current,
scd2_version
FROM dwd.dim_member_card_account
WHERE (register_site_id = (current_setting('app.current_site_id'::text))::bigint);
;
CREATE OR REPLACE VIEW app.v_dim_staff AS
SELECT staff_id,
staff_name,
alias_name,
mobile,
gender,
job,
tenant_id,
site_id,
system_role_id,
staff_identity,
status,
leave_status,
entry_time,
resign_time,
is_delete,
scd2_start_time,
scd2_end_time,
scd2_is_current,
scd2_version
FROM dwd.dim_staff
WHERE (site_id = (current_setting('app.current_site_id'::text))::bigint);
;
CREATE OR REPLACE VIEW app.v_dim_staff_ex AS
SELECT staff_id,
avatar,
job_num,
account_status,
rank_id,
rank_name,
new_rank_id,
new_staff_identity,
is_reserve,
shop_name,
site_label,
tenant_org_id,
system_user_id,
cashier_point_id,
cashier_point_name,
group_id,
group_name,
staff_profile_id,
auth_code,
auth_code_create,
ding_talk_synced,
salary_grant_enabled,
entry_type,
entry_sign_status,
resign_sign_status,
criticism_status,
create_time,
user_roles,
scd2_start_time,
scd2_end_time,
scd2_is_current,
scd2_version
FROM dwd.dim_staff_ex;
;
CREATE OR REPLACE VIEW app.v_dim_table AS
SELECT table_id,
site_id,
table_name,
site_table_area_id,
site_table_area_name,
tenant_table_area_id,
table_price,
order_id,
scd2_start_time,
scd2_end_time,
scd2_is_current,
scd2_version
FROM dwd.dim_table
WHERE (site_id = (current_setting('app.current_site_id'::text))::bigint);
;
CREATE OR REPLACE VIEW app.v_dwd_assistant_service_log AS
SELECT assistant_service_id,
order_trade_no,
order_settle_id,
order_pay_id,
order_assistant_id,
order_assistant_type,
tenant_id,
site_id,
site_table_id,
tenant_member_id,
system_member_id,
assistant_no,
nickname,
site_assistant_id,
user_id,
assistant_team_id,
person_org_id,
assistant_level,
level_name,
skill_id,
skill_name,
ledger_unit_price,
ledger_amount,
projected_income,
coupon_deduct_money,
income_seconds,
real_use_seconds,
add_clock,
create_time,
start_use_time,
last_use_time,
is_delete,
real_service_money
FROM dwd.dwd_assistant_service_log
WHERE (site_id = (current_setting('app.current_site_id'::text))::bigint);
;
CREATE OR REPLACE VIEW app.v_dwd_recharge_order AS
SELECT recharge_order_id,
tenant_id,
site_id,
member_id,
member_name_snapshot,
member_phone_snapshot,
tenant_member_card_id,
member_card_type_name,
settle_relate_id,
settle_type,
settle_name,
is_first,
pay_amount,
refund_amount,
point_amount,
cash_amount,
payment_method,
create_time,
pay_time,
pl_coupon_sale_amount,
mervou_sales_amount,
electricity_money,
real_electricity_money,
electricity_adjust_money
FROM dwd.dwd_recharge_order
WHERE (site_id = (current_setting('app.current_site_id'::text))::bigint);
;
CREATE OR REPLACE VIEW app.v_dwd_settlement_head AS
SELECT order_settle_id,
tenant_id,
site_id,
site_name,
table_id,
settle_name,
order_trade_no,
create_time,
pay_time,
settle_type,
revoke_order_id,
member_id,
member_name,
member_phone,
member_card_account_id,
member_card_type_name,
is_bind_member,
member_discount_amount,
consume_money,
table_charge_money,
goods_money,
real_goods_money,
assistant_pd_money,
assistant_cx_money,
adjust_amount,
pay_amount,
balance_amount,
recharge_card_amount,
gift_card_amount,
coupon_amount,
rounding_amount,
point_amount,
electricity_money,
real_electricity_money,
electricity_adjust_money,
pl_coupon_sale_amount,
mervou_sales_amount
FROM dwd.dwd_settlement_head
WHERE (site_id = (current_setting('app.current_site_id'::text))::bigint);
;
CREATE OR REPLACE VIEW app.v_dwd_store_goods_sale AS
SELECT store_goods_sale_id,
order_trade_no,
order_settle_id,
order_pay_id,
order_goods_id,
site_id,
tenant_id,
site_goods_id,
tenant_goods_id,
tenant_goods_category_id,
tenant_goods_business_id,
site_table_id,
ledger_name,
ledger_group_name,
ledger_unit_price,
ledger_count,
ledger_amount,
discount_money,
real_goods_money,
cost_money,
ledger_status,
is_delete,
create_time,
coupon_share_money,
discount_price
FROM dwd.dwd_store_goods_sale
WHERE (site_id = (current_setting('app.current_site_id'::text))::bigint);
;
CREATE OR REPLACE VIEW app.v_dwd_table_fee_log AS
SELECT table_fee_log_id,
order_trade_no,
order_settle_id,
order_pay_id,
tenant_id,
site_id,
site_table_id,
site_table_area_id,
site_table_area_name,
tenant_table_area_id,
member_id,
ledger_name,
ledger_unit_price,
ledger_count,
ledger_amount,
real_table_charge_money,
coupon_promotion_amount,
member_discount_amount,
adjust_amount,
real_table_use_seconds,
add_clock_seconds,
start_use_time,
ledger_end_time,
create_time,
ledger_status,
is_single_order,
is_delete,
activity_discount_amount,
real_service_money
FROM dwd.dwd_table_fee_log
WHERE (site_id = (current_setting('app.current_site_id'::text))::bigint);
;
CREATE OR REPLACE VIEW app.v_dws_assistant_customer_stats AS
SELECT id,
site_id,
tenant_id,
assistant_id,
assistant_nickname,
member_id,
member_nickname,
member_mobile,
stat_date,
first_service_date,
last_service_date,
total_service_count,
total_service_hours,
total_service_amount,
service_count_7d,
service_count_10d,
service_count_15d,
service_count_30d,
service_count_60d,
service_count_90d,
service_hours_7d,
service_hours_10d,
service_hours_15d,
service_hours_30d,
service_hours_60d,
service_hours_90d,
service_amount_7d,
service_amount_10d,
service_amount_15d,
service_amount_30d,
service_amount_60d,
service_amount_90d,
days_since_last,
is_active_7d,
is_active_30d,
created_at,
updated_at
FROM dws.dws_assistant_customer_stats
WHERE (site_id = (current_setting('app.current_site_id'::text))::bigint);
;
CREATE OR REPLACE VIEW app.v_dws_assistant_daily_detail AS
SELECT id,
site_id,
tenant_id,
assistant_id,
assistant_nickname,
stat_date,
assistant_level_code,
assistant_level_name,
total_service_count,
base_service_count,
bonus_service_count,
room_service_count,
total_seconds,
base_seconds,
bonus_seconds,
room_seconds,
total_hours,
base_hours,
bonus_hours,
room_hours,
total_ledger_amount,
base_ledger_amount,
bonus_ledger_amount,
room_ledger_amount,
unique_customers,
unique_tables,
trashed_seconds,
trashed_count,
created_at,
updated_at,
penalty_minutes,
penalty_reason,
is_exempt,
per_hour_contribution
FROM dws.dws_assistant_daily_detail
WHERE (site_id = (current_setting('app.current_site_id'::text))::bigint);
;
CREATE OR REPLACE VIEW app.v_dws_assistant_finance_analysis AS
SELECT id,
site_id,
tenant_id,
stat_date,
assistant_id,
assistant_nickname,
revenue_total,
revenue_base,
revenue_bonus,
revenue_room,
cost_daily,
gross_profit,
gross_margin,
service_count,
service_hours,
room_service_count,
room_service_hours,
unique_customers,
created_at,
updated_at
FROM dws.dws_assistant_finance_analysis
WHERE (site_id = (current_setting('app.current_site_id'::text))::bigint);
;
CREATE OR REPLACE VIEW app.v_dws_assistant_monthly_summary AS
SELECT id,
site_id,
tenant_id,
assistant_id,
assistant_nickname,
stat_month,
assistant_level_code,
assistant_level_name,
hire_date,
is_new_hire,
work_days,
total_service_count,
base_service_count,
bonus_service_count,
room_service_count,
total_hours,
base_hours,
bonus_hours,
room_hours,
effective_hours,
trashed_hours,
total_ledger_amount,
base_ledger_amount,
bonus_ledger_amount,
room_ledger_amount,
unique_customers,
unique_tables,
avg_service_seconds,
tier_id,
tier_code,
tier_name,
rank_by_hours,
rank_with_ties,
created_at,
updated_at
FROM dws.dws_assistant_monthly_summary
WHERE (site_id = (current_setting('app.current_site_id'::text))::bigint);
;
CREATE OR REPLACE VIEW app.v_dws_assistant_order_contribution AS
SELECT contribution_id,
site_id,
tenant_id,
assistant_id,
assistant_nickname,
stat_date,
order_gross_revenue,
order_net_revenue,
time_weighted_revenue,
time_weighted_net_revenue,
order_count,
total_service_seconds,
created_at,
updated_at
FROM dws.dws_assistant_order_contribution
WHERE (site_id = (current_setting('app.current_site_id'::text))::bigint);
;
CREATE OR REPLACE VIEW app.v_dws_assistant_recharge_commission AS
SELECT id,
site_id,
tenant_id,
assistant_id,
assistant_nickname,
commission_month,
recharge_order_id,
recharge_order_no,
recharge_amount,
commission_amount,
commission_ratio,
import_batch_no,
import_file_name,
import_time,
import_user,
remark,
created_at,
updated_at
FROM dws.dws_assistant_recharge_commission
WHERE (site_id = (current_setting('app.current_site_id'::text))::bigint);
;
CREATE OR REPLACE VIEW app.v_dws_assistant_salary_calc AS
SELECT id,
site_id,
tenant_id,
assistant_id,
assistant_nickname,
salary_month,
assistant_level_code,
assistant_level_name,
hire_date,
is_new_hire,
effective_hours,
base_hours,
bonus_hours,
room_hours,
tier_id,
tier_code,
tier_name,
rank_with_ties,
base_course_price,
bonus_course_price,
base_deduction,
bonus_deduction_ratio,
base_income,
bonus_income,
room_income,
total_course_income,
sprint_bonus,
top_rank_bonus,
recharge_commission,
other_bonus,
total_bonus,
gross_salary,
vacation_days,
vacation_unlimited,
calc_notes,
created_at,
updated_at
FROM dws.dws_assistant_salary_calc
WHERE (site_id = (current_setting('app.current_site_id'::text))::bigint);
;
CREATE OR REPLACE VIEW app.v_dws_finance_daily_summary AS
SELECT id,
site_id,
tenant_id,
stat_date,
gross_amount,
table_fee_amount,
goods_amount,
assistant_pd_amount,
assistant_cx_amount,
discount_total,
discount_groupbuy,
discount_vip,
discount_gift_card,
discount_manual,
discount_rounding,
discount_other,
confirmed_income,
cash_inflow_total,
cash_pay_amount,
groupbuy_pay_amount,
platform_settlement_amount,
platform_fee_amount,
recharge_cash_inflow,
card_consume_total,
recharge_card_consume AS cash_card_consume,
gift_card_consume,
cash_outflow_total,
cash_balance_change,
recharge_count,
recharge_total,
recharge_cash,
recharge_gift,
first_recharge_count,
first_recharge_amount,
renewal_count,
renewal_amount,
order_count,
member_order_count,
guest_order_count,
avg_order_amount,
created_at,
updated_at
FROM dws.dws_finance_daily_summary
WHERE (site_id = (current_setting('app.current_site_id'::text))::bigint);
;
CREATE OR REPLACE VIEW app.v_dws_finance_discount_detail AS
SELECT id,
site_id,
tenant_id,
stat_date,
discount_type_code,
discount_type_name,
discount_amount,
discount_ratio,
usage_count,
affected_orders,
created_at,
updated_at
FROM dws.dws_finance_discount_detail
WHERE (site_id = (current_setting('app.current_site_id'::text))::bigint);
;
CREATE OR REPLACE VIEW app.v_dws_finance_expense_summary AS
SELECT id,
site_id,
tenant_id,
expense_month,
expense_type_code,
expense_type_name,
expense_category,
expense_amount,
expense_detail,
import_batch_no,
import_file_name,
import_time,
import_user,
remark,
created_at,
updated_at
FROM dws.dws_finance_expense_summary
WHERE (site_id = (current_setting('app.current_site_id'::text))::bigint);
;
CREATE OR REPLACE VIEW app.v_dws_finance_income_structure AS
SELECT id,
site_id,
tenant_id,
stat_date,
structure_type,
category_code,
category_name,
income_amount,
income_ratio,
order_count,
duration_minutes,
created_at,
updated_at
FROM dws.dws_finance_income_structure
WHERE (site_id = (current_setting('app.current_site_id'::text))::bigint);
;
CREATE OR REPLACE VIEW app.v_dws_finance_recharge_summary AS
SELECT id,
site_id,
tenant_id,
stat_date,
recharge_count,
recharge_total,
recharge_cash,
recharge_gift,
first_recharge_count,
first_recharge_cash,
first_recharge_gift,
first_recharge_total,
renewal_count,
renewal_cash,
renewal_gift,
renewal_total,
recharge_member_count,
new_member_count,
total_card_balance,
cash_card_balance,
gift_card_balance,
created_at,
updated_at
FROM dws.dws_finance_recharge_summary
WHERE (site_id = (current_setting('app.current_site_id'::text))::bigint);
;
CREATE OR REPLACE VIEW app.v_dws_member_assistant_intimacy AS
SELECT intimacy_id,
site_id,
tenant_id,
member_id,
assistant_id,
session_count,
total_duration_minutes,
basic_session_count,
incentive_session_count,
days_since_last_session,
attributed_recharge_count,
attributed_recharge_amount,
score_frequency,
score_recency,
score_recharge,
score_duration,
burst_multiplier,
raw_score,
display_score,
calc_time,
calc_version,
created_at,
updated_at
FROM dws.dws_member_assistant_intimacy
WHERE (site_id = (current_setting('app.current_site_id'::text))::bigint);
;
CREATE OR REPLACE VIEW app.v_dws_member_assistant_relation_index AS
SELECT relation_id,
site_id,
tenant_id,
member_id,
assistant_id,
session_count,
total_duration_minutes,
basic_session_count,
incentive_session_count,
days_since_last_session,
rs_f,
rs_d,
rs_r,
rs_raw,
rs_display,
os_share,
os_label,
os_rank,
ms_f_short,
ms_f_long,
ms_raw,
ms_display,
ml_order_count,
ml_allocated_amount,
ml_raw,
ml_display,
calc_time,
created_at,
updated_at
FROM dws.dws_member_assistant_relation_index
WHERE (site_id = (current_setting('app.current_site_id'::text))::bigint);
;
CREATE OR REPLACE VIEW app.v_dws_member_consumption_summary AS
SELECT id,
site_id,
tenant_id,
member_id,
stat_date,
member_nickname,
member_mobile,
card_grade_name,
register_date,
first_consume_date,
last_consume_date,
total_visit_count,
total_consume_amount,
total_recharge_amount,
total_table_fee,
total_goods_amount,
total_assistant_amount,
visit_count_7d,
visit_count_10d,
visit_count_15d,
visit_count_30d,
visit_count_60d,
visit_count_90d,
consume_amount_7d,
consume_amount_10d,
consume_amount_15d,
consume_amount_30d,
consume_amount_60d,
consume_amount_90d,
cash_card_balance,
gift_card_balance,
total_card_balance,
days_since_last,
is_active_7d,
is_active_30d,
is_active_90d,
customer_tier,
created_at,
updated_at,
recharge_count_30d,
recharge_count_60d,
recharge_count_90d,
recharge_amount_30d,
recharge_amount_60d,
recharge_amount_90d,
avg_ticket_amount
FROM dws.dws_member_consumption_summary
WHERE (site_id = (current_setting('app.current_site_id'::text))::bigint);
;
CREATE OR REPLACE VIEW app.v_dws_member_newconv_index AS
SELECT newconv_id,
site_id,
tenant_id,
member_id,
status,
segment,
member_create_time,
first_visit_time,
last_visit_time,
last_recharge_time,
t_v,
t_r,
t_a,
visits_14d,
visits_60d,
visits_total,
spend_30d,
spend_180d,
sv_balance,
recharge_60d_amt,
interval_count,
need_new,
salvage_new,
recharge_new,
value_new,
welcome_new,
raw_score_welcome,
raw_score_convert,
raw_score,
display_score_welcome,
display_score_convert,
display_score,
last_wechat_touch_time,
calc_time,
calc_version,
created_at,
updated_at
FROM dws.dws_member_newconv_index
WHERE (site_id = (current_setting('app.current_site_id'::text))::bigint);
;
CREATE OR REPLACE VIEW app.v_dws_member_recall_index AS
SELECT recall_id,
site_id,
tenant_id,
member_id,
days_since_last_visit,
visit_interval_median,
visit_interval_mad,
days_since_first_visit,
days_since_last_recharge,
visits_last_14_days,
visits_last_60_days,
score_overdue,
score_new_bonus,
score_recharge_bonus,
score_hot_drop,
raw_score,
display_score,
calc_time,
calc_version,
created_at,
updated_at
FROM dws.dws_member_recall_index
WHERE (site_id = (current_setting('app.current_site_id'::text))::bigint);
;
CREATE OR REPLACE VIEW app.v_dws_member_visit_detail AS
SELECT id,
site_id,
tenant_id,
member_id,
order_settle_id,
visit_date,
visit_time,
member_nickname,
member_mobile,
member_birthday,
table_id,
table_name,
area_name,
area_category,
table_fee,
goods_amount,
assistant_amount,
total_consume,
total_discount,
actual_pay,
cash_pay,
balance_pay AS cash_card_pay,
gift_card_pay,
groupbuy_pay,
table_duration_min,
assistant_duration_min,
assistant_services,
created_at,
updated_at
FROM dws.dws_member_visit_detail
WHERE (site_id = (current_setting('app.current_site_id'::text))::bigint);
;
CREATE OR REPLACE VIEW app.v_dws_member_winback_index AS
SELECT winback_id,
site_id,
tenant_id,
member_id,
status,
segment,
member_create_time,
first_visit_time,
last_visit_time,
last_recharge_time,
t_v,
t_r,
t_a,
visits_14d,
visits_60d,
visits_total,
spend_30d,
spend_180d,
sv_balance,
recharge_60d_amt,
interval_count,
overdue_old,
drop_old,
recharge_old,
value_old,
raw_score,
display_score,
last_wechat_touch_time,
calc_time,
calc_version,
created_at,
updated_at,
overdue_cdf_p,
ideal_interval_days,
ideal_next_visit_date
FROM dws.dws_member_winback_index
WHERE (site_id = (current_setting('app.current_site_id'::text))::bigint);
;
CREATE OR REPLACE VIEW app.v_dws_order_summary AS
SELECT site_id,
order_settle_id,
order_trade_no,
order_date,
tenant_id,
member_id,
member_flag,
recharge_order_flag,
item_count,
total_item_quantity,
table_fee_amount,
assistant_service_amount,
goods_amount,
group_amount,
total_coupon_deduction,
member_discount_amount,
manual_discount_amount,
order_original_amount,
order_final_amount,
stored_card_deduct,
external_paid_amount,
total_paid_amount,
book_table_flow,
book_assistant_flow,
book_goods_flow,
book_group_flow,
book_order_flow,
order_effective_consume_cash,
order_effective_recharge_cash,
order_effective_flow,
refund_amount,
net_income,
created_at,
updated_at
FROM dws.dws_order_summary
WHERE (site_id = (current_setting('app.current_site_id'::text))::bigint);
;
CREATE OR REPLACE VIEW app.v_dws_platform_settlement AS
SELECT id,
site_id,
tenant_id,
settlement_date,
platform_type,
platform_name,
platform_order_no,
order_settle_id,
settlement_amount,
commission_amount,
service_fee,
gross_amount,
import_batch_no,
import_file_name,
import_time,
import_user,
remark,
created_at,
updated_at
FROM dws.dws_platform_settlement
WHERE (site_id = (current_setting('app.current_site_id'::text))::bigint);
;
CREATE OR REPLACE VIEW app.v_finance_daily AS
SELECT id,
site_id,
tenant_id,
stat_date,
gross_amount,
table_fee_amount,
goods_amount,
assistant_pd_amount,
assistant_cx_amount,
discount_total,
confirmed_income,
cash_inflow_total,
recharge_count,
recharge_total,
order_count,
member_order_count,
guest_order_count,
avg_order_amount,
created_at
FROM dws.dws_finance_daily_summary f;
;
CREATE OR REPLACE VIEW app.v_member AS
SELECT member_id,
system_member_id,
tenant_id,
register_site_id AS site_id,
mobile,
nickname,
member_card_grade_name,
status
FROM core.dim_member m;
;
CREATE OR REPLACE VIEW app.v_member_consumption AS
SELECT id,
site_id,
tenant_id,
member_id,
stat_date,
member_nickname,
card_grade_name,
total_visit_count,
total_consume_amount,
total_recharge_amount,
last_consume_date,
first_consume_date,
days_since_last,
customer_tier,
created_at
FROM dws.dws_member_consumption_summary mc;
;
CREATE OR REPLACE VIEW app.v_order_summary AS
SELECT site_id,
order_settle_id,
order_trade_no,
order_date,
tenant_id,
member_id,
member_flag,
order_original_amount,
order_final_amount,
total_paid_amount,
refund_amount,
net_income,
created_at
FROM dws.dws_order_summary os;
;
CREATE OR REPLACE VIEW app.v_site AS
SELECT site_id,
tenant_id,
shop_name,
site_label,
shop_status
FROM core.dim_site s;
;