-- 会员体系初始化脚本 -- 执行说明: -- 1. 本脚本只新增会员体系核心表,不影响现有后台管理员与代理业务表。 -- 2. 后续当订单、白名单、钱包正式切换到会员主账号时,再补业务迁移脚本。 CREATE TABLE IF NOT EXISTS `xxk_member_user` ( `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键ID', `username` VARCHAR(64) NOT NULL COMMENT '用户名', `nickname` VARCHAR(64) DEFAULT NULL COMMENT '昵称', `password` VARCHAR(255) DEFAULT NULL COMMENT '密码', `avatar` VARCHAR(255) DEFAULT NULL COMMENT '头像', `mobile` VARCHAR(20) NOT NULL COMMENT '手机号', `email` VARCHAR(128) DEFAULT NULL COMMENT '邮箱', `status` TINYINT NOT NULL DEFAULT 1 COMMENT '状态(1正常 0禁用)', `source` VARCHAR(32) NOT NULL DEFAULT 'MANUAL' COMMENT '注册来源', `wx_openid` VARCHAR(64) DEFAULT NULL COMMENT '微信openid', `wx_unionid` VARCHAR(64) DEFAULT NULL COMMENT '微信unionid', `last_login_time` DATETIME DEFAULT NULL COMMENT '最后登录时间', `last_login_ip` VARCHAR(64) DEFAULT NULL COMMENT '最后登录IP', `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注', `create_by` BIGINT DEFAULT NULL COMMENT '创建人ID', `update_by` BIGINT DEFAULT NULL COMMENT '更新人ID', `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', `is_deleted` TINYINT NOT NULL DEFAULT 0 COMMENT '是否删除(0否 1是)', PRIMARY KEY (`id`), UNIQUE KEY `uk_xxk_member_user_mobile` (`mobile`), UNIQUE KEY `uk_xxk_member_user_username` (`username`), KEY `idx_xxk_member_user_status` (`status`), KEY `idx_xxk_member_user_source` (`source`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='会员主账号表'; CREATE TABLE IF NOT EXISTS `xxk_member_profile` ( `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键ID', `member_user_id` BIGINT NOT NULL COMMENT '会员ID', `agent_level` TINYINT NOT NULL DEFAULT 2 COMMENT '代理级别(1一级代理 2二级代理)', `company_name` VARCHAR(128) DEFAULT NULL COMMENT '公司名称', `contact_name` VARCHAR(64) DEFAULT NULL COMMENT '联系人', `contact_wechat` VARCHAR(64) DEFAULT NULL COMMENT '联系微信', `email` VARCHAR(128) DEFAULT NULL COMMENT '联系邮箱', `qq` VARCHAR(32) DEFAULT NULL COMMENT 'QQ', `address` VARCHAR(255) DEFAULT NULL COMMENT '地址', `industry` VARCHAR(64) DEFAULT NULL COMMENT '行业', `realname_status` TINYINT NOT NULL DEFAULT 0 COMMENT '实名状态(0未认证 1已认证)', `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注', `create_by` BIGINT DEFAULT NULL COMMENT '创建人ID', `update_by` BIGINT DEFAULT NULL COMMENT '更新人ID', `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', `is_deleted` TINYINT NOT NULL DEFAULT 0 COMMENT '是否删除(0否 1是)', PRIMARY KEY (`id`), UNIQUE KEY `uk_xxk_member_profile_user` (`member_user_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='会员资料表'; CREATE TABLE IF NOT EXISTS `xxk_member_wallet` ( `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键ID', `member_user_id` BIGINT NOT NULL COMMENT '会员ID', `balance` DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '余额', `frozen_balance` DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '冻结金额', `total_recharge_amount` DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '累计充值金额', `total_consume_amount` DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '累计消费金额', `total_refund_amount` DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '累计退款金额', `status` TINYINT NOT NULL DEFAULT 1 COMMENT '状态(1正常 0禁用)', `create_by` BIGINT DEFAULT NULL COMMENT '创建人ID', `update_by` BIGINT DEFAULT NULL COMMENT '更新人ID', `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', `is_deleted` TINYINT NOT NULL DEFAULT 0 COMMENT '是否删除(0否 1是)', PRIMARY KEY (`id`), UNIQUE KEY `uk_xxk_member_wallet_user` (`member_user_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='会员钱包表'; CREATE TABLE IF NOT EXISTS `xxk_member_login_log` ( `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键ID', `member_user_id` BIGINT DEFAULT NULL COMMENT '会员ID', `mobile` VARCHAR(20) DEFAULT NULL COMMENT '登录手机号', `login_type` VARCHAR(32) NOT NULL COMMENT '登录类型', `login_ip` VARCHAR(64) DEFAULT NULL COMMENT '登录IP', `login_region` VARCHAR(128) DEFAULT NULL COMMENT '登录地区', `device_info` VARCHAR(255) DEFAULT NULL COMMENT '设备信息', `status` TINYINT NOT NULL DEFAULT 1 COMMENT '登录结果(1成功 0失败)', `message` VARCHAR(255) DEFAULT NULL COMMENT '结果说明', `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', PRIMARY KEY (`id`), KEY `idx_xxk_member_login_log_user` (`member_user_id`), KEY `idx_xxk_member_login_log_mobile` (`mobile`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='会员登录日志表';