-- =============================================================================
-- 商户经营账号 biz_merchant_account
-- 用途：商家端登录账号，一商户一商户管理员（shop_id=NULL）
-- 创建时机：平台新增商户绑定时 / C端入驻公示完成后绑定申请会员/商户管理员添加员工账号时
-- =============================================================================
CREATE TABLE IF NOT EXISTS `biz_merchant_account` (
  `account_id` bigint(20) NOT NULL COMMENT '经营账号ID，与 sys_user.user_id 一致',
  `merchant_id` bigint(20) NOT NULL COMMENT '所属商户ID（biz_merchant.merchant_id）',
  `shop_id` bigint(20) DEFAULT NULL COMMENT '店铺ID；NULL=商户管理员',
  `del_flag` char(1) NOT NULL DEFAULT '0' COMMENT '删除标志：0存在 2逻辑删除（末店删除后一般仍保留）',
  `create_by` varchar(64) DEFAULT '' COMMENT '创建者',
  `create_time` datetime DEFAULT NULL COMMENT '创建时间',
  `update_by` varchar(64) DEFAULT '' COMMENT '更新者',
  `update_time` datetime DEFAULT NULL COMMENT '更新时间'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='商户经营账号（商家端登录，一商户一套）';

-- =============================================================================
-- 店铺 biz_shop
-- 用途：商户下的经营店铺；不含经营账号字段（见 biz_merchant_account）
-- 说明：添加店铺须商户已有经营账号；shop_status/shop_phone 选填
-- =============================================================================
CREATE TABLE IF NOT EXISTS `biz_shop` (
  `shop_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '店铺ID，主键',
  `merchant_id` bigint(20) NOT NULL COMMENT '所属商户ID（创建后不可变更）',
  `shop_name` varchar(128) NOT NULL COMMENT '店铺名称；平台内未删除店铺唯一',
  `shop_avatar` varchar(512) NOT NULL COMMENT '店铺头像/Logo URL',
  `shop_status` char(1) DEFAULT '0' COMMENT '店铺状态：0开业 1停业；选填，未传默认0',
  `shop_desc` varchar(1000) DEFAULT NULL COMMENT '店铺简介，选填',
  `shop_phone` varchar(20) DEFAULT NULL COMMENT '联系电话/商家电话，选填；有值时校验格式',
  `del_flag` char(1) NOT NULL DEFAULT '0' COMMENT '删除标志：0存在 2逻辑删除',
  `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 (`shop_id`),
  KEY `idx_merchant_id` (`merchant_id`,`del_flag`),
  KEY `idx_shop_status` (`shop_status`,`del_flag`),
  KEY `idx_create_time` (`create_time`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='店铺（不含经营账号，账号见 biz_merchant_account）';

-- =============================================================================
-- 店铺角色 biz_shop_role
-- 用途：管理店铺的角色
-- =============================================================================
CREATE TABLE IF NOT EXISTS `biz_shop_role` (
  `shop_id` bigint(20) NOT NULL COMMENT '店铺ID（biz_shop.shop_id）',
  `role_id` bigint(20) NOT NULL COMMENT '角色ID（sys_role.role_id）',
  PRIMARY KEY (`shop_id`, `role_id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='店铺角色（一个店铺可以创建多个角色）';
