-- =============================================================================
-- C 端会员 biz_member（与 sys_user 复用）
-- 映射：member_id = user_id；手机号=phonenumber；会员名称=user_name；昵称=nick_name；
--       邮箱=email；性别=sex；密码=password；头像=avatar；状态=status
-- 注册：先 insert sys_user（分配 role_key=member），再 insert biz_member（member_id = user_id）
-- =============================================================================
CREATE TABLE IF NOT EXISTS `biz_member` (
  `member_id` bigint(20) NOT NULL COMMENT '会员ID，与 sys_user.user_id 一致',
  `member_level` tinyint(4) DEFAULT NULL COMMENT '会员等级（biz_member_level.level_no，选填）',
  `order_count` int(11) NOT NULL DEFAULT '0' COMMENT '已完成订单笔数',
  `total_amount` decimal(12,2) NOT NULL DEFAULT '0.00' COMMENT '已完成实付合计（元）',
  `register_time` datetime NOT NULL COMMENT '注册时间',
  `wx_openid` varchar(64) DEFAULT NULL COMMENT '微信 openid（JSAPI 支付 payer.openid）',
  `create_by` varchar(64) DEFAULT '' COMMENT '创建者',
  `create_time` datetime DEFAULT NULL COMMENT '创建时间',
  `update_by` varchar(64) DEFAULT '' COMMENT '更新者',
  `update_time` datetime DEFAULT NULL COMMENT '更新时间',
  `remark` varchar(500) DEFAULT NULL COMMENT '备注',
  PRIMARY KEY (`member_id`),
  UNIQUE KEY `uk_wx_openid` (`wx_openid`),
  KEY `idx_register` (`register_time`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='C端会员扩展表（账号信息在 sys_user）';

-- 会员收货地址
CREATE TABLE IF NOT EXISTS `biz_member_address` (
  `address_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '地址ID，主键',
  `member_id` bigint(20) NOT NULL COMMENT '会员ID（biz_member.member_id = sys_user.user_id）',
  `consignee_name` varchar(64) NOT NULL COMMENT '收货人姓名',
  `mobile` varchar(20) NOT NULL COMMENT '收货联系电话',
  `region_code` varchar(64) NOT NULL DEFAULT '' COMMENT '省市区编码（区县级 code）',
  `region_name` varchar(128) NOT NULL DEFAULT '' COMMENT '省市区名称（省/市/区 / 拼接）',
  `detail_address` varchar(256) NOT NULL COMMENT '详细地址',
  `is_default` char(1) NOT NULL DEFAULT '0' COMMENT '是否默认地址：0否 1是',
  `del_flag` char(1) NOT NULL DEFAULT '0' COMMENT '删除标志：0存在 2逻辑删除',
  `create_time` datetime DEFAULT NULL COMMENT '创建时间',
  `update_time` datetime DEFAULT NULL COMMENT '更新时间',
  PRIMARY KEY (`address_id`),
  KEY `idx_member` (`member_id`,`del_flag`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='会员收货地址';
