-- ============================================================
-- 脚本名称：pangu_member.sql
-- 功能说明：会员管理模块数据库脚本
-- 作    者：湖北新华业务中台研发团队
-- 创建时间：2026-01-31
-- ============================================================

-- 创建会员表
CREATE TABLE IF NOT EXISTS `pg_member` (
  `member_id` bigint NOT NULL AUTO_INCREMENT COMMENT '会员ID',
  `member_code` varchar(32) NOT NULL COMMENT '会员编号',
  `phone` varchar(20) NOT NULL COMMENT '手机号',
  `password` varchar(100) DEFAULT NULL COMMENT '密码',
  `nickname` varchar(50) DEFAULT NULL COMMENT '昵称',
  `avatar` varchar(255) DEFAULT NULL COMMENT '头像URL',
  `gender` char(1) DEFAULT '0' COMMENT '性别（0未知 1男 2女）',
  `birthday` date DEFAULT NULL COMMENT '出生日期',
  `identity_type` char(1) NOT NULL DEFAULT '1' COMMENT '身份类型（1家长 2教师）',
  `open_id` varchar(100) DEFAULT NULL COMMENT '微信OpenID',
  `union_id` varchar(100) DEFAULT NULL COMMENT '微信UnionID',
  `region_id` bigint DEFAULT NULL COMMENT '所属区域ID（教师必填）',
  `school_id` bigint DEFAULT NULL COMMENT '所属学校ID（教师必填）',
  `school_grade_id` bigint DEFAULT NULL COMMENT '所属学校年级ID（教师必填）',
  `school_class_id` bigint DEFAULT NULL COMMENT '所属学校班级ID（教师必填）',
  `register_source` char(1) DEFAULT '1' COMMENT '注册来源（1小程序 2H5 3后台 4导入）',
  `register_time` datetime DEFAULT NULL COMMENT '注册时间',
  `last_login_time` datetime DEFAULT NULL COMMENT '最后登录时间',
  `last_login_ip` varchar(50) DEFAULT NULL COMMENT '最后登录IP',
  `login_count` int DEFAULT 0 COMMENT '登录次数',
  `status` char(1) DEFAULT '0' COMMENT '状态（0正常 1停用）',
  `create_by` varchar(64) DEFAULT '' COMMENT '创建者',
  `create_time` datetime DEFAULT NULL COMMENT '创建时间',
  `update_by` varchar(64) DEFAULT '' COMMENT '更新者',
  `update_time` datetime DEFAULT NULL COMMENT '更新时间',
  `del_flag` char(1) DEFAULT '0' COMMENT '删除标志（0存在 1删除）',
  `remark` varchar(500) DEFAULT NULL COMMENT '备注',
  PRIMARY KEY (`member_id`),
  UNIQUE KEY `uk_member_code` (`member_code`),
  UNIQUE KEY `uk_phone` (`phone`),
  KEY `idx_open_id` (`open_id`),
  KEY `idx_school_id` (`school_id`),
  KEY `idx_identity_type` (`identity_type`),
  KEY `idx_register_time` (`register_time`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='会员表';

-- 插入测试数据
INSERT INTO pg_member (member_code, phone, password, nickname, gender, identity_type, register_source, register_time, status, create_by, create_time, del_flag) VALUES
('JS1738339200001', '13207166213', '$2a$10$7JB720yubVSZvUI0rEqK/.VqGOZTH.ulu33dHOiBE8ByOhJIrdAu2', '张三家长', '1', '1', '1', NOW(), '0', 'admin', NOW(), '0'),
('JS1738339200002', '13807166214', '$2a$10$7JB720yubVSZvUI0rEqK/.VqGOZTH.ulu33dHOiBE8ByOhJIrdAu2', '李老师', '2', '2', '1', NOW(), '0', 'admin', NOW(), '0');

-- 更新教师会员的学校信息（假设已有学校数据）
-- UPDATE pg_member SET region_id = 111, school_id = 1, school_grade_id = 1, school_class_id = 1 
-- WHERE member_code = 'JS1738339200002';
