-- 作者：tianyu.chu
-- 日期：2026-05-09
-- 工单：(无)
-- 目的：用户维度 ful_d 全量快照建表（kb/24 §2 dim_usr_user_ful_d）
-- 状态：[草案]
-- 备注：base_user LEFT JOIN cert_info 合一；性别/生日仅取 cert（kb/24 §2.2）；
--       默认 ful_d，未来出"看历史属性变化"标签需求或全量快照存储 > 100GB 时迁 zip_d 双轨共存（kb/24 §1.2）；
--       字段类型对齐 ods（整数全 BIGINT，详见 kb/20 §8.4.1）

DROP TABLE IF EXISTS dim.dim_usr_user_ful_d;

CREATE EXTERNAL TABLE IF NOT EXISTS dim.dim_usr_user_ful_d (
    user_id                BIGINT         COMMENT '用户 id（PK，源 base_user.id）',
    appid                  STRING         COMMENT '所属程序',
    username               STRING         COMMENT '账号',
    code                   STRING         COMMENT '会员码',
    sex_cert               BIGINT         COMMENT '证件性别（源 cert_info.cert_sex）',
    birthday_cert          TIMESTAMP      COMMENT '证件生日（源 cert_info.cert_birthday）',
    cert_province          STRING         COMMENT '证件所在省',
    cert_city              STRING         COMMENT '证件所在市',
    is_cert                BOOLEAN        COMMENT '是否实名（cert_info 命中即 TRUE）',
    id_card                STRING         COMMENT '身份证号（已 md5）',
    face_verify            BIGINT         COMMENT '人脸识别通过标志',
    cancel_verify_num      BIGINT         COMMENT '重置实名次数',
    register_channel       STRING         COMMENT '注册渠道',
    register_addr          STRING         COMMENT '注册省区',
    register_ip_addr       STRING         COMMENT '注册 IP',
    reg_create_time        TIMESTAMP      COMMENT '注册时间（源 base_user.create_time）',
    login_addr             STRING         COMMENT '上次登陆省区',
    login_ip_addr          STRING         COMMENT '上次登陆 IP',
    level                  BIGINT         COMMENT '会员等级',
    member_level           BIGINT         COMMENT '会员等级（业务库重复字段，先全保留待澄清）',
    member_name            STRING         COMMENT '会员等级名称',
    growth_num             BIGINT         COMMENT '成长值',
    current_month_growth   BIGINT         COMMENT '当月成长值',
    member_keep_growth     BIGINT         COMMENT '保级所需成长值',
    member_init_flag       BIGINT         COMMENT '月初初始化标志',
    point                  BIGINT         COMMENT '积分',
    consume_amount_cny     DECIMAL(20,4)  COMMENT '业务库后端自带消费总额（口径未对齐数仓，保留作审计对账）',
    order_total_num        BIGINT         COMMENT '业务库后端自带订单总数（同上）',
    status                 BIGINT         COMMENT '用户状态',
    blacklist              BIGINT         COMMENT '黑名单标记',
    refuse_pick_up         BIGINT         COMMENT '是否拒绝自提',
    notify_flag            BIGINT         COMMENT '推送是否接受',
    open_invoice           BIGINT         COMMENT '开票权限',
    open_psd               BIGINT         COMMENT '支付开关',
    daily_limit            BIGINT         COMMENT '每日限额提醒',
    weekly_limit           BIGINT         COMMENT '每周限额提醒',
    monthly_limit          BIGINT         COMMENT '每月限额',
    last_update_time       TIMESTAMP      COMMENT '最近更新时间（源 base_user.update_time）',
    is_deleted             BOOLEAN        COMMENT '软删归一',
    etl_time               TIMESTAMP      COMMENT 'ETL 处理时间'
)
COMMENT '用户维度全量快照表'
PARTITIONED BY (dt STRING)
STORED AS ORC
LOCATION '/user/hive/warehouse/dim.db/dim_usr_user_ful_d';
