-- 登录用户表 (tz_login_user) 后续拓展用户信息表
CREATE TABLE `tz_user_login`
(
    `id`                bigint(20)   NOT NULL AUTO_INCREMENT COMMENT '用户ID',
    `mobile`            varchar(11)  NOT NULL COMMENT '手机',
    `password`          varchar(128) NOT NULL COMMENT '加密后的密码',
    `status`            tinyint(4)   NOT NULL COMMENT '帐号状态 (枚举 CommonStatusEnum)',
    `register_ip`       varchar(32)           DEFAULT NULL COMMENT '注册 IP',
    `register_terminal` tinyint(4)            DEFAULT NULL COMMENT '注册渠道 (枚举 TerminalEnum)',
    `register_date`     datetime              DEFAULT NULL COMMENT '注册时间',
    `login_ip`          varchar(32)           DEFAULT NULL COMMENT '最后登录IP',
    `login_date`        datetime              DEFAULT NULL COMMENT '最后登录时间',
    `login_terminal`    varchar(32)           DEFAULT NULL COMMENT '最后登录设备',
    `nickname`          varchar(64)           DEFAULT NULL COMMENT '用户昵称',
    `avatar`            varchar(512)          DEFAULT NULL COMMENT '用户头像',
    `remark`            varchar(512)          DEFAULT NULL COMMENT '用户备注',
    `tenant_id`         bigint(20)   NOT NULL COMMENT '租户ID',
    `create_time`       datetime     NOT NULL COMMENT '创建时间',
    `update_time`       datetime     NOT NULL COMMENT '最后更新时间',
    `creator`           varchar(64)  NOT NULL COMMENT '创建者',
    `updater`           varchar(64)  NOT NULL COMMENT '更新者',
    `deleted`           tinyint(1)   NOT NULL DEFAULT 0 COMMENT '是否删除',
    PRIMARY KEY (`id`),
    UNIQUE KEY `uk_mobile` (`mobile`)
) ENGINE = InnoDB
  DEFAULT CHARSET = utf8mb4 COMMENT ='登录用户表';

-- 会员信息表 (tz_user_member)
CREATE TABLE `tz_user_member`
(
    `id`          bigint(20)  NOT NULL AUTO_INCREMENT COMMENT '用户ID',
    `name`        varchar(64)          DEFAULT NULL COMMENT '真实名字',
    `sex`         tinyint              DEFAULT NULL COMMENT '性别 (枚举 SexEnum)',
    `birthday`    datetime             DEFAULT NULL COMMENT '出生日期',
    `area_id`     int                  DEFAULT NULL COMMENT '所在地 (关联 Area.id 字段)',
    `point`       int                  DEFAULT NULL COMMENT '积分',
    `tag_ids`     varchar(512)         DEFAULT NULL COMMENT '会员标签列表，以逗号分隔',
    `level_id`    bigint               DEFAULT NULL COMMENT '会员级别编号 (关联 MemberLevelDO.id 字段)',
    `experience`  int                  DEFAULT NULL COMMENT '会员经验',
    `group_id`    bigint               DEFAULT NULL COMMENT '用户分组编号 (关联 MemberGroupDO.id 字段)',
    `tenant_id`   bigint(20)  NOT NULL COMMENT '租户ID',
    `create_time` datetime    NOT NULL COMMENT '创建时间',
    `update_time` datetime    NOT NULL COMMENT '最后更新时间',
    `creator`     varchar(64) NOT NULL COMMENT '创建者',
    `updater`     varchar(64) NOT NULL COMMENT '更新者',
    `deleted`     tinyint(1)  NOT NULL DEFAULT 0 COMMENT '是否删除',
    PRIMARY KEY (`id`)
) ENGINE = InnoDB
  DEFAULT CHARSET = utf8mb4 COMMENT ='会员信息表';

-- 会员地址表 (tz_user_member_address)
CREATE TABLE `tz_user_member_address`
(
    `id`            bigint(20)  NOT NULL AUTO_INCREMENT COMMENT '用户编号',
    `name`          varchar(128)         DEFAULT NULL COMMENT '收件人名称',
    `mobile`        varchar(11)          DEFAULT NULL COMMENT '手机号',
    `areaId`        bigint(20)           DEFAULT NULL COMMENT '地区编号',
    `detailAddress` varchar(255)         DEFAULT NULL COMMENT '收件详细地址',
    `defaultStatus` int                  DEFAULT NULL COMMENT '是否默认',
    `tenant_id`     bigint(20)  NOT NULL COMMENT '租户ID',
    `create_time`   datetime    NOT NULL COMMENT '创建时间',
    `update_time`   datetime    NOT NULL COMMENT '最后更新时间',
    `creator`       varchar(64) NOT NULL COMMENT '创建者',
    `updater`       varchar(64) NOT NULL COMMENT '更新者',
    `deleted`       tinyint(1)  NOT NULL DEFAULT 0 COMMENT '是否删除',
    PRIMARY KEY (`id`)
) ENGINE = InnoDB
  DEFAULT CHARSET = utf8mb4 COMMENT ='会员地址表';

-- 会员等级表 (tz_user_member_level)
CREATE TABLE `tz_user_member_level`
(
    `id`               bigint(20)  NOT NULL AUTO_INCREMENT COMMENT 'ID',
    `level_name`       varchar(64)          DEFAULT NULL COMMENT '等级名称',
    `level`            int                  DEFAULT NULL COMMENT '性别 (枚举 SexEnum)',
    `experience`       int                  DEFAULT NULL COMMENT '会员经验',
    `discount_percent` int                  DEFAULT NULL COMMENT '享受折扣',
    `icon`             varchar(128)         DEFAULT NULL COMMENT '等级图标',
    `background_url`   varchar(128)         DEFAULT NULL COMMENT '等级背景图',
    `status`           int                  DEFAULT NULL COMMENT '状态',
    `tenant_id`        bigint(20)  NOT NULL COMMENT '租户ID',
    `create_time`      datetime    NOT NULL COMMENT '创建时间',
    `update_time`      datetime    NOT NULL COMMENT '最后更新时间',
    `creator`          varchar(64) NOT NULL COMMENT '创建者',
    `updater`          varchar(64) NOT NULL COMMENT '更新者',
    `deleted`          tinyint(1)  NOT NULL DEFAULT 0 COMMENT '是否删除',
    PRIMARY KEY (`id`)
) ENGINE = InnoDB
  DEFAULT CHARSET = utf8mb4 COMMENT ='会员等级表';

