DROP TABLE IF EXISTS wx_buser;

CREATE TABLE `wx_buser` (
  `id` bigint(20) NOT NULL COMMENT '主键ID',
  `tenant_id` varchar(10) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '租户ID',
  `open_id` varchar(28) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '微信openId',
  `union_id` varchar(29) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '微信unionId',
  `nick_name` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '用户昵称',
  `gender` tinyint(4) DEFAULT '0' COMMENT '性别 0未知 1男 2女',
  `avatar_url` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '用户头像地址',
  `phone` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '用户绑定的手机号',
  `pure_phone` varchar(30) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '用户没有区号的手机号',
  `city` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '用户所在城市',
  `province` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '用户所在省份',
  `language` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '用户所在语言',
  `country_code` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '用户手机区号',
  `register_ip` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '用户注册IP',
  `verify_code_phone` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '手输验证后的手机号',
  `qrcode_source` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '注册时记录用户扫码渠道，如朋友圈广告',
  `scene` varchar(30) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码来源，小程序',
  `scene_address` varchar(30) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '渠道，小程序',
  `score` int(11) DEFAULT NULL COMMENT '成长值',
  `update_date` datetime DEFAULT NULL COMMENT '更新时间',
  `open_app_id` varchar(18) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `mp_open_id` varchar(28) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `mp_app_id` varchar(18) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `mp_subscribe` tinyint(2) DEFAULT NULL,
  `mp_subscribe_time` datetime DEFAULT NULL,
  `mp_subscribe_scene` varchar(30) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `subs_open_id` varchar(28) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `subs_app_id` varchar(18) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `subs_subscribe` tinyint(2) DEFAULT NULL,
  `subs_subscribe_time` datetime DEFAULT NULL,
  `subs_subscribe_scene` varchar(30) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `create_date` datetime DEFAULT NULL COMMENT '创建时间',
  `app_id` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '小程序的appId',
  `session_key` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'session key for 微信小程序',
  `token` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '用户登录用token',
  `expire_time` datetime DEFAULT NULL COMMENT '用户过期时间',
  `latitude` decimal(10,5) DEFAULT NULL COMMENT '维度',
  `longitude` decimal(10,5) DEFAULT NULL COMMENT '经度',
  `login_count` int(11) DEFAULT '0' COMMENT '登录次数',
  `extra_info` json DEFAULT NULL,
  `is_subscribe` tinyint(2) DEFAULT '0' COMMENT '是否关联公众号(0:否，1:关联)',
  `credit` int(11) DEFAULT '0' COMMENT '积分',
  `active_time` datetime DEFAULT NULL COMMENT '最后一次活跃时间',
  `user_id` bigint(20) DEFAULT 0 NOT NULL COMMENT '登录用户ID',
  PRIMARY KEY (`id`),
  UNIQUE KEY `id_UNIQUE` (`id`),
  KEY `open_id_index` (`tenant_id`,`open_id`),
  KEY `user_id_index` (`open_id`,`app_id`),
  KEY `union_id_index` (`tenant_id`,`union_id`),
  KEY `union_open_app_index` (`union_id`,`open_app_id`),
  KEY `open_app_index` (`open_id`,`app_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='B端微信用户信息';
