edu_manage/script/sql/edu/schema.sql

703 lines
50 KiB
SQL
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

-- =====================================================================
-- FIGS 教育管理模块 - 教培机构业务库表结构
-- 数据库: ry-vue-plus与 RuoYi-Vue-Plus 共库)
-- 字符集: utf8mb4 / utf8mb4_unicode_ci
-- 设计理念DDD 限界上下文划分 + 多租户隔离
-- 1) edu_staff_* 员工上下文(顾问/管家/辅导老师/文书老师)
-- 2) edu_student_* 学生上下文(学生/家长/紧急联系人)
-- 3) edu_package_* 课包上下文课包SKU/价格策略)
-- 4) edu_contract_* 合同上下文(合同主表/课包明细/课时余额)
-- 5) edu_schedule_* 排课消课上下文(排课/签到/扣课时流水)
-- 6) edu_dict_* 业务字典(角色/状态/学科/年级/课程类型)
-- 7) edu_audit_* 操作审计
-- =====================================================================
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
-- =====================================================================
-- 一、字典表(业务通用枚举)
-- =====================================================================
DROP TABLE IF EXISTS `edu_dict`;
CREATE TABLE `edu_dict` (
`id` bigint NOT NULL COMMENT '主键',
`tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户ID',
`dict_type` varchar(64) NOT NULL COMMENT '字典类型(staff_role/subject/grade/course_type/... )',
`dict_label` varchar(64) NOT NULL COMMENT '字典项显示名',
`dict_value` varchar(64) NOT NULL COMMENT '字典项存储值',
`sort_order` int DEFAULT 0 COMMENT '排序',
`color` varchar(16) DEFAULT NULL COMMENT '标签颜色',
`is_default` char(1) DEFAULT 'N' COMMENT '是否默认 N/Y',
`status` char(1) DEFAULT '0' COMMENT '状态 0=启用 1=停用',
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
`create_dept` bigint DEFAULT NULL COMMENT '创建部门',
`create_by` bigint DEFAULT NULL COMMENT '创建人',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_by` bigint DEFAULT NULL COMMENT '更新人',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`id`) USING BTREE,
KEY `idx_tenant_type` (`tenant_id`, `dict_type`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='业务字典表';
-- =====================================================================
-- 二、员工上下文 staff
-- =====================================================================
-- 2.1 员工主表:覆盖顾问/管家/辅导老师/文书老师,用 role 区分
DROP TABLE IF EXISTS `edu_staff`;
CREATE TABLE `edu_staff` (
`id` bigint NOT NULL COMMENT '员工ID',
`tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户ID',
`user_id` bigint DEFAULT NULL COMMENT '关联系统用户ID(sys_user.user_id, 登录用)',
`staff_no` varchar(32) NOT NULL COMMENT '员工工号',
`name` varchar(64) NOT NULL COMMENT '员工姓名',
`role` varchar(32) NOT NULL COMMENT '角色 SALES=课程顾问 HOUSEKEEPER=管家(学管) TUTOR=辅导老师 DOC_WRITER=文书老师',
`phone` varchar(20) DEFAULT NULL COMMENT '联系电话',
`email` varchar(128) DEFAULT NULL COMMENT '邮箱',
`wechat` varchar(64) DEFAULT NULL COMMENT '微信号',
`gender` char(1) DEFAULT '0' COMMENT '性别 0=男 1=女 2=未知',
`id_card` varchar(32) DEFAULT NULL COMMENT '身份证',
`entry_date` date DEFAULT NULL COMMENT '入职日期',
`leave_date` date DEFAULT NULL COMMENT '离职日期',
`subject` varchar(32) DEFAULT NULL COMMENT '擅长学科(辅导老师用)',
`title` varchar(64) DEFAULT NULL COMMENT '头衔(高级/资深/普通)',
`max_students` int DEFAULT 0 COMMENT '最大带生数(管家上限)',
`commission_rate` decimal(5,2) DEFAULT 0.00 COMMENT '提成比例(顾问用 0~1)',
`dept_id` bigint DEFAULT NULL COMMENT '所属部门',
`intro` varchar(1000) DEFAULT NULL COMMENT '简介',
`avatar` varchar(500) DEFAULT NULL COMMENT '头像URL',
`status` char(1) DEFAULT '0' COMMENT '状态 0=在职 1=离职 2=休假',
`del_flag` char(1) DEFAULT '0' COMMENT '删除标志 0=存在 1=删除',
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
`create_dept` bigint DEFAULT NULL COMMENT '创建部门',
`create_by` bigint DEFAULT NULL COMMENT '创建者',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_by` bigint DEFAULT NULL COMMENT '更新者',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`id`) USING BTREE,
UNIQUE KEY `uk_tenant_no` (`tenant_id`, `staff_no`) USING BTREE,
KEY `idx_tenant_role` (`tenant_id`, `role`, `status`) USING BTREE,
KEY `idx_user` (`user_id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='员工主表(顾问/管家/辅导老师/文书老师)';
-- 2.2 员工-学生关系(一对多,一个学生有 4 类员工各一名)
DROP TABLE IF EXISTS `edu_staff_student`;
CREATE TABLE `edu_staff_student` (
`id` bigint NOT NULL COMMENT '主键',
`tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户ID',
`staff_id` bigint NOT NULL COMMENT '员工ID',
`student_id` bigint NOT NULL COMMENT '学生ID',
`staff_role` varchar(32) NOT NULL COMMENT '员工角色',
`bind_time` datetime DEFAULT NULL COMMENT '绑定时间',
`unbind_time` datetime DEFAULT NULL COMMENT '解绑时间',
`is_primary` char(1) DEFAULT 'Y' COMMENT '是否主责 Y/N',
`status` char(1) DEFAULT '0' COMMENT '状态 0=生效 1=失效',
`del_flag` char(1) DEFAULT '0' COMMENT '删除标志 0=存在 1=删除',
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
`create_dept` bigint DEFAULT NULL COMMENT '创建部门',
`create_by` bigint DEFAULT NULL COMMENT '创建者',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_by` bigint DEFAULT NULL COMMENT '更新者',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`id`) USING BTREE,
UNIQUE KEY `uk_tenant_staff_student_role` (`tenant_id`, `staff_id`, `student_id`, `staff_role`) USING BTREE,
KEY `idx_student` (`student_id`) USING BTREE,
KEY `idx_staff` (`staff_id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='员工-学生服务关系表';
-- =====================================================================
-- 三、学生上下文 student
-- =====================================================================
-- 3.1 学生主表
DROP TABLE IF EXISTS `edu_student`;
CREATE TABLE `edu_student` (
`id` bigint NOT NULL COMMENT '学生ID',
`tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户ID',
`student_no` varchar(32) NOT NULL COMMENT '学号',
`name` varchar(64) NOT NULL COMMENT '学生姓名',
`gender` char(1) DEFAULT '0' COMMENT '性别 0=男 1=女 2=未知',
`birthday` date DEFAULT NULL COMMENT '出生日期',
`id_card` varchar(32) DEFAULT NULL COMMENT '身份证号',
`phone` varchar(20) DEFAULT NULL COMMENT '联系电话',
`wechat` varchar(64) DEFAULT NULL COMMENT '微信号',
`email` varchar(128) DEFAULT NULL COMMENT '邮箱',
`school` varchar(128) DEFAULT NULL COMMENT '就读学校',
`grade` varchar(32) DEFAULT NULL COMMENT '年级(字典 edu_dict.dict_value, dict_type=grade)',
`target_school` varchar(128) DEFAULT NULL COMMENT '目标学校',
`subjects` varchar(255) DEFAULT NULL COMMENT '学习科目,逗号分隔',
`address` varchar(500) DEFAULT NULL COMMENT '家庭住址',
`avatar` varchar(500) DEFAULT NULL COMMENT '头像URL',
`source` varchar(32) DEFAULT NULL COMMENT '生源渠道(字典)',
`level` varchar(32) DEFAULT NULL COMMENT '学员等级(普通/VIP/钻石)',
`intent_level` varchar(16) DEFAULT NULL COMMENT '意向等级 A/B/C/D',
`first_visit_at` datetime DEFAULT NULL COMMENT '首次到访时间',
`enroll_at` datetime DEFAULT NULL COMMENT '报名时间',
`tags` varchar(255) DEFAULT NULL COMMENT '标签,逗号分隔',
`status` char(1) DEFAULT '0' COMMENT '状态 0=潜在 1=试听 2=已报名 3=结业 4=流失',
`del_flag` char(1) DEFAULT '0' COMMENT '删除标志 0=存在 1=删除',
`remark` varchar(1000) DEFAULT NULL COMMENT '备注',
`create_dept` bigint DEFAULT NULL COMMENT '创建部门',
`create_by` bigint DEFAULT NULL COMMENT '创建者',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_by` bigint DEFAULT NULL COMMENT '更新者',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`id`) USING BTREE,
UNIQUE KEY `uk_tenant_no` (`tenant_id`, `student_no`) USING BTREE,
KEY `idx_tenant_status` (`tenant_id`, `status`) USING BTREE,
KEY `idx_tenant_phone` (`tenant_id`, `phone`) USING BTREE,
KEY `idx_tenant_name` (`tenant_id`, `name`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='学生主表';
-- 3.2 家长表(一对多:一个学生多个家长)
DROP TABLE IF EXISTS `edu_student_parent`;
CREATE TABLE `edu_student_parent` (
`id` bigint NOT NULL COMMENT '主键',
`tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户ID',
`student_id` bigint NOT NULL COMMENT '学生ID',
`relation` varchar(16) NOT NULL COMMENT '与学生关系 FATHER/MOTHER/GRANDPA/GRANDMA/OTHER',
`name` varchar(64) NOT NULL COMMENT '家长姓名',
`phone` varchar(20) NOT NULL COMMENT '联系电话',
`wechat` varchar(64) DEFAULT NULL COMMENT '微信号',
`email` varchar(128) DEFAULT NULL COMMENT '邮箱',
`id_card` varchar(32) DEFAULT NULL COMMENT '身份证',
`occupation` varchar(64) DEFAULT NULL COMMENT '职业',
`is_primary` char(1) DEFAULT 'N' COMMENT '是否主联系人 Y/N',
`receive_notice` char(1) DEFAULT 'Y' COMMENT '是否接收通知 Y/N',
`del_flag` char(1) DEFAULT '0' COMMENT '删除标志 0=存在 1=删除',
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
`create_dept` bigint DEFAULT NULL COMMENT '创建部门',
`create_by` bigint DEFAULT NULL COMMENT '创建者',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_by` bigint DEFAULT NULL COMMENT '更新者',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`id`) USING BTREE,
KEY `idx_student` (`student_id`) USING BTREE,
KEY `idx_tenant_phone` (`tenant_id`, `phone`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='学生家长表';
-- 3.3 紧急联系人
DROP TABLE IF EXISTS `edu_student_emergency`;
CREATE TABLE `edu_student_emergency` (
`id` bigint NOT NULL COMMENT '主键',
`tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户ID',
`student_id` bigint NOT NULL COMMENT '学生ID',
`name` varchar(64) NOT NULL COMMENT '紧急联系人姓名',
`relation` varchar(16) NOT NULL COMMENT '关系',
`phone` varchar(20) NOT NULL COMMENT '联系电话',
`remark` varchar(255) DEFAULT NULL COMMENT '备注',
`del_flag` char(1) DEFAULT '0' COMMENT '删除标志 0=存在 1=删除',
`create_dept` bigint DEFAULT NULL COMMENT '创建部门',
`create_by` bigint DEFAULT NULL COMMENT '创建者',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_by` bigint DEFAULT NULL COMMENT '更新者',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`id`) USING BTREE,
KEY `idx_student` (`student_id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='学生紧急联系人';
-- =====================================================================
-- 四、课包上下文 course-package
-- =====================================================================
-- 4.1 课包SKU主表售卖单元
DROP TABLE IF EXISTS `edu_course_package`;
CREATE TABLE `edu_course_package` (
`id` bigint NOT NULL COMMENT '课包ID',
`tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户ID',
`package_code` varchar(32) NOT NULL COMMENT '课包编码',
`package_name` varchar(128) NOT NULL COMMENT '课包名称',
`package_type` varchar(32) NOT NULL COMMENT '课包类型 EXPERIENCE=体验课 PACKAGE=课包 SINGLE=单课时 COURSE=全期',
`subject` varchar(32) DEFAULT NULL COMMENT '学科',
`grade` varchar(32) DEFAULT NULL COMMENT '适用年级',
`total_hours` decimal(10,2) NOT NULL COMMENT '总课时(小时)',
`lesson_count` int NOT NULL COMMENT '总课次',
`valid_days` int DEFAULT 365 COMMENT '有效期(天)',
`max_students` int DEFAULT 1 COMMENT '单次课最大上课人数 1=一对一',
`list_price` decimal(12,2) NOT NULL COMMENT '挂牌价(元)',
`sale_price` decimal(12,2) NOT NULL COMMENT '销售价(元)',
`cost_price` decimal(12,2) DEFAULT 0.00 COMMENT '成本价(元)',
`gift_hours` decimal(10,2) DEFAULT 0.00 COMMENT '赠送课时',
`hours_per_lesson` decimal(6,2) DEFAULT 1.00 COMMENT '每课时小时数(消课用)',
`description` varchar(2000) DEFAULT NULL COMMENT '课包说明',
`cover_url` varchar(500) DEFAULT NULL COMMENT '封面图',
`is_hot` char(1) DEFAULT 'N' COMMENT '是否热门 N/Y',
`is_gift` char(1) DEFAULT 'N' COMMENT '是否赠送包 N/Y',
`status` char(1) DEFAULT '0' COMMENT '状态 0=上架 1=下架',
`del_flag` char(1) DEFAULT '0' COMMENT '删除标志 0=存在 1=删除',
`sale_start_at` date DEFAULT NULL COMMENT '售卖开始',
`sale_end_at` date DEFAULT NULL COMMENT '售卖结束',
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
`create_dept` bigint DEFAULT NULL COMMENT '创建部门',
`create_by` bigint DEFAULT NULL COMMENT '创建者',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_by` bigint DEFAULT NULL COMMENT '更新者',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`id`) USING BTREE,
UNIQUE KEY `uk_tenant_code` (`tenant_id`, `package_code`) USING BTREE,
KEY `idx_tenant_type_status` (`tenant_id`, `package_type`, `status`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='课包SKU主表';
-- 4.2 课包价格策略(折扣/优惠)
DROP TABLE IF EXISTS `edu_course_package_strategy`;
CREATE TABLE `edu_course_package_strategy` (
`id` bigint NOT NULL COMMENT '主键',
`tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户ID',
`package_id` bigint NOT NULL COMMENT '课包ID',
`strategy_name` varchar(128) NOT NULL COMMENT '策略名',
`strategy_type` varchar(32) NOT NULL COMMENT '类型 DISCOUNT=打折 REDUCE=减现 GIFT=加赠 CASHBACK=返现',
`condition_type` varchar(32) DEFAULT NULL COMMENT '触发条件 AMOUNT/COUNT/NONE',
`condition_value` decimal(12,2) DEFAULT NULL COMMENT '条件值',
`discount_rate` decimal(5,2) DEFAULT 1.00 COMMENT '折扣率 0~1',
`reduce_amount` decimal(12,2) DEFAULT 0.00 COMMENT '减现金额',
`gift_hours` decimal(10,2) DEFAULT 0.00 COMMENT '加赠课时',
`cashback_amount` decimal(12,2) DEFAULT 0.00 COMMENT '返现金额',
`priority` int DEFAULT 0 COMMENT '优先级(数字越大越优先)',
`start_at` datetime DEFAULT NULL COMMENT '生效开始',
`end_at` datetime DEFAULT NULL COMMENT '生效结束',
`status` char(1) DEFAULT '0' COMMENT '状态 0=启用 1=停用',
`del_flag` char(1) DEFAULT '0' COMMENT '删除标志 0=存在 1=删除',
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
`create_dept` bigint DEFAULT NULL COMMENT '创建部门',
`create_by` bigint DEFAULT NULL COMMENT '创建者',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_by` bigint DEFAULT NULL COMMENT '更新者',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`id`) USING BTREE,
KEY `idx_tenant_package` (`tenant_id`, `package_id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='课包价格策略表';
-- =====================================================================
-- 五、合同上下文 contract
-- =====================================================================
-- 5.1 合同主表
DROP TABLE IF EXISTS `edu_contract`;
CREATE TABLE `edu_contract` (
`id` bigint NOT NULL COMMENT '合同ID',
`tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户ID',
`contract_no` varchar(32) NOT NULL COMMENT '合同编号(业务流水号)',
`student_id` bigint NOT NULL COMMENT '学生ID',
`contract_type` varchar(32) NOT NULL COMMENT '合同类型 ENROLL=报名续费 ADDON=补购 REFUND=退费 TRANSFER=转课',
`parent_contract_id` bigint DEFAULT NULL COMMENT '原合同ID(续费/补购/退费时关联)',
`sign_date` date NOT NULL COMMENT '签约日期',
`effective_date` date DEFAULT NULL COMMENT '生效日期',
`expire_date` date DEFAULT NULL COMMENT '到期日期',
`total_amount` decimal(14,2) NOT NULL DEFAULT 0.00 COMMENT '合同总金额(应收)',
`discount_amount` decimal(14,2) NOT NULL DEFAULT 0.00 COMMENT '优惠金额',
`paid_amount` decimal(14,2) NOT NULL DEFAULT 0.00 COMMENT '实收金额',
`refund_amount` decimal(14,2) NOT NULL DEFAULT 0.00 COMMENT '退费金额',
`total_hours` decimal(10,2) NOT NULL DEFAULT 0.00 COMMENT '合同总课时',
`used_hours` decimal(10,2) NOT NULL DEFAULT 0.00 COMMENT '已消耗课时',
`remain_hours` decimal(10,2) NOT NULL DEFAULT 0.00 COMMENT '剩余课时',
`gift_hours` decimal(10,2) NOT NULL DEFAULT 0.00 COMMENT '赠送课时(不计入应收)',
`payment_method` varchar(32) DEFAULT NULL COMMENT '支付方式 CASH/WECHAT/ALIPAY/BANK/CARD',
`payment_status` char(1) DEFAULT '0' COMMENT '支付状态 0=未支付 1=部分支付 2=已支付 3=已退费',
`status` char(1) DEFAULT '0' COMMENT '合同状态 0=草稿 1=待生效 2=执行中 3=已结清 4=已退费 5=已转课 9=作废',
`del_flag` char(1) DEFAULT '0' COMMENT '删除标志 0=存在 1=删除',
`sales_id` bigint DEFAULT NULL COMMENT '课程顾问ID(edu_staff.id)',
`housekeeper_id` bigint DEFAULT NULL COMMENT '管家ID(edu_staff.id)',
`sign_user_id` bigint DEFAULT NULL COMMENT '签约负责人ID(edu_staff.id)',
`sign_location` varchar(255) DEFAULT NULL COMMENT '签约地点',
`sign_image_url` varchar(1000) DEFAULT NULL COMMENT '合同扫描件URL',
`description` varchar(2000) DEFAULT NULL COMMENT '合同说明',
`signed_at` datetime DEFAULT NULL COMMENT '签约时间',
`activated_at` datetime DEFAULT NULL COMMENT '激活时间',
`finished_at` datetime DEFAULT NULL COMMENT '结清时间',
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
`create_dept` bigint DEFAULT NULL COMMENT '创建部门',
`create_by` bigint DEFAULT NULL COMMENT '创建者',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_by` bigint DEFAULT NULL COMMENT '更新者',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`id`) USING BTREE,
UNIQUE KEY `uk_tenant_no` (`tenant_id`, `contract_no`) USING BTREE,
KEY `idx_tenant_student` (`tenant_id`, `student_id`) USING BTREE,
KEY `idx_tenant_status` (`tenant_id`, `status`) USING BTREE,
KEY `idx_tenant_sales` (`tenant_id`, `sales_id`) USING BTREE,
KEY `idx_tenant_housekeeper` (`tenant_id`, `housekeeper_id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='学员合同主表';
-- 5.2 合同课包明细(一个合同可包含多个课包)
DROP TABLE IF EXISTS `edu_contract_package`;
CREATE TABLE `edu_contract_package` (
`id` bigint NOT NULL COMMENT '明细ID',
`tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户ID',
`contract_id` bigint NOT NULL COMMENT '合同ID',
`package_id` bigint NOT NULL COMMENT '课包ID',
`package_name` varchar(128) NOT NULL COMMENT '课包名(快照)',
`package_type` varchar(32) NOT NULL COMMENT '课包类型(快照)',
`total_hours` decimal(10,2) NOT NULL COMMENT '购买课时',
`used_hours` decimal(10,2) NOT NULL DEFAULT 0.00 COMMENT '已消耗',
`remain_hours` decimal(10,2) NOT NULL COMMENT '剩余',
`gift_hours` decimal(10,2) NOT NULL DEFAULT 0.00 COMMENT '赠送课时',
`list_price` decimal(12,2) NOT NULL COMMENT '原价(快照)',
`sale_price` decimal(12,2) NOT NULL COMMENT '成交价(快照)',
`discount_amount` decimal(14,2) NOT NULL DEFAULT 0.00 COMMENT '优惠金额',
`final_amount` decimal(14,2) NOT NULL COMMENT '明细金额',
`strategy_id` bigint DEFAULT NULL COMMENT '使用的策略ID',
`strategy_snapshot` varchar(2000) DEFAULT NULL COMMENT '策略快照JSON',
`expire_date` date DEFAULT NULL COMMENT '本课包到期日',
`status` char(1) DEFAULT '0' COMMENT '状态 0=正常 1=已转出 2=已退费',
`del_flag` char(1) DEFAULT '0' COMMENT '删除标志 0=存在 1=删除',
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
`create_dept` bigint DEFAULT NULL COMMENT '创建部门',
`create_by` bigint DEFAULT NULL COMMENT '创建者',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_by` bigint DEFAULT NULL COMMENT '更新者',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`id`) USING BTREE,
KEY `idx_tenant_contract` (`tenant_id`, `contract_id`) USING BTREE,
KEY `idx_tenant_package` (`tenant_id`, `package_id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='合同课包明细';
-- 5.3 合同赠送课时明细(合同内单独的赠送,不走付费课包)
DROP TABLE IF EXISTS `edu_contract_gift`;
CREATE TABLE `edu_contract_gift` (
`id` bigint NOT NULL COMMENT '主键',
`tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户ID',
`contract_id` bigint NOT NULL COMMENT '合同ID',
`gift_type` varchar(32) NOT NULL COMMENT '赠送类型 HOURS=课时 LESSON_COUNT=课次',
`gift_hours` decimal(10,2) NOT NULL DEFAULT 0.00 COMMENT '赠送课时',
`gift_count` int NOT NULL DEFAULT 0 COMMENT '赠送课次',
`used_hours` decimal(10,2) NOT NULL DEFAULT 0.00 COMMENT '已使用',
`remain_hours` decimal(10,2) NOT NULL DEFAULT 0.00 COMMENT '剩余',
`reason` varchar(255) DEFAULT NULL COMMENT '赠送原因(活动/推荐/老带新)',
`expire_date` date DEFAULT NULL COMMENT '到期日期',
`status` char(1) DEFAULT '0' COMMENT '状态 0=正常 1=失效',
`del_flag` char(1) DEFAULT '0' COMMENT '删除标志 0=存在 1=删除',
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
`create_dept` bigint DEFAULT NULL COMMENT '创建部门',
`create_by` bigint DEFAULT NULL COMMENT '创建者',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_by` bigint DEFAULT NULL COMMENT '更新者',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`id`) USING BTREE,
KEY `idx_tenant_contract` (`tenant_id`, `contract_id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='合同赠送课时明细';
-- 5.4 合同续费/退费/转课 流水
DROP TABLE IF EXISTS `edu_contract_log`;
CREATE TABLE `edu_contract_log` (
`id` bigint NOT NULL COMMENT '主键',
`tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户ID',
`contract_id` bigint NOT NULL COMMENT '合同ID',
`action` varchar(32) NOT NULL COMMENT '动作 CREATE/ACTIVATE/PAY/REFUND/TRANSFER/RENEW/EXPIRE/VOID',
`amount` decimal(14,2) NOT NULL DEFAULT 0.00 COMMENT '本次金额(正=收款/负=退款)',
`hours_delta` decimal(10,2) NOT NULL DEFAULT 0.00 COMMENT '课时变动(正=增加/负=减少)',
`ref_contract_id` bigint DEFAULT NULL COMMENT '关联合同ID(退费/转课/续费关联)',
`operator_id` bigint DEFAULT NULL COMMENT '操作人(员工ID)',
`operator_name` varchar(64) DEFAULT NULL COMMENT '操作人姓名',
`reason` varchar(500) DEFAULT NULL COMMENT '原因',
`attachments` varchar(2000) DEFAULT NULL COMMENT '附件JSON',
`log_time` datetime DEFAULT NULL COMMENT '操作时间',
`create_dept` bigint DEFAULT NULL COMMENT '创建部门',
`create_by` bigint DEFAULT NULL COMMENT '创建者',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_by` bigint DEFAULT NULL COMMENT '更新者',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`id`) USING BTREE,
KEY `idx_tenant_contract` (`tenant_id`, `contract_id`) USING BTREE,
KEY `idx_tenant_action` (`tenant_id`, `action`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='合同操作流水';
-- 5.5 合同缴费计划(分期付款时生成, 对标 edu_contract_milestone)
DROP TABLE IF EXISTS `edu_contract_payment_plan`;
CREATE TABLE `edu_contract_payment_plan` (
`id` bigint NOT NULL COMMENT '主键',
`tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户ID',
`contract_id` bigint NOT NULL COMMENT '合同ID',
`installment_no` int NOT NULL COMMENT '期次号 1/2/3',
`plan_amount` decimal(14,2) NOT NULL COMMENT '本期应收金额',
`plan_date` date NOT NULL COMMENT '本期应付日期',
`paid_amount` decimal(14,2) NOT NULL DEFAULT 0.00 COMMENT '本期实收金额',
`paid_date` date DEFAULT NULL COMMENT '实际收款日期',
`payment_method` varchar(32) DEFAULT NULL COMMENT '本期支付方式 CASH/WECHAT/ALIPAY/BANK/CARD',
`status` char(1) DEFAULT '0' COMMENT '状态 0=待收 1=已收 4=已作废',
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
`del_flag` char(1) DEFAULT '0' COMMENT '删除标志 0=存在 1=删除',
`create_dept` bigint DEFAULT NULL COMMENT '创建部门',
`create_by` bigint DEFAULT NULL COMMENT '创建者',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_by` bigint DEFAULT NULL COMMENT '更新者',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`id`) USING BTREE,
UNIQUE KEY `uk_tenant_contract_no` (`tenant_id`, `contract_id`, `installment_no`) USING BTREE,
KEY `idx_tenant_contract` (`tenant_id`, `contract_id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='合同缴费计划(分期)';
-- =====================================================================
-- 六、排课消课上下文 schedule
-- =====================================================================
-- 6.1 排课主表
DROP TABLE IF EXISTS `edu_lesson_schedule`;
CREATE TABLE `edu_lesson_schedule` (
`id` bigint NOT NULL COMMENT '排课ID',
`tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户ID',
`schedule_no` varchar(32) NOT NULL COMMENT '排课单号',
`student_id` bigint NOT NULL COMMENT '学生ID',
`contract_id` bigint DEFAULT NULL COMMENT '合同ID(可选,排课时可不绑定)',
`tutor_id` bigint NOT NULL COMMENT '辅导老师ID',
`subject` varchar(32) NOT NULL COMMENT '学科',
`lesson_type` varchar(32) NOT NULL COMMENT '课型 ONE_ON_ONE=1V1 SMALL_CLASS=小班 LARGE_CLASS=大班 EXPERIENCE=体验',
`class_name` varchar(128) DEFAULT NULL COMMENT '班级名称(小班用)',
`lesson_date` date NOT NULL COMMENT '上课日期',
`start_time` datetime NOT NULL COMMENT '上课开始',
`end_time` datetime NOT NULL COMMENT '上课结束',
`duration_hours` decimal(6,2) NOT NULL COMMENT '本节课时长(小时)',
`classroom` varchar(128) DEFAULT NULL COMMENT '教室/线上链接',
`lesson_content` varchar(2000) DEFAULT NULL COMMENT '本次课内容',
`homework` varchar(2000) DEFAULT NULL COMMENT '本次作业',
`max_students` int DEFAULT 1 COMMENT '本课最大人数',
`enrolled_count` int DEFAULT 0 COMMENT '已报名人数',
`status` char(1) DEFAULT '0' COMMENT '状态 0=待上课 1=已签到 2=已消课 3=请假 4=取消 5=旷课',
`check_in_at` datetime DEFAULT NULL COMMENT '签到时间',
`check_out_at` datetime DEFAULT NULL COMMENT '下课时间',
`consume_hours` decimal(8,2) DEFAULT 0.00 COMMENT '本次实际消课时',
`consume_rate` decimal(5,2) DEFAULT 1.00 COMMENT '消课比例 体验=0.5/正课=1/1v1=2',
`comment` varchar(2000) DEFAULT NULL COMMENT '课堂点评',
`del_flag` char(1) DEFAULT '0' COMMENT '删除标志 0=存在 1=删除',
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
`create_dept` bigint DEFAULT NULL COMMENT '创建部门',
`create_by` bigint DEFAULT NULL COMMENT '创建者',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_by` bigint DEFAULT NULL COMMENT '更新者',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`id`) USING BTREE,
UNIQUE KEY `uk_tenant_no` (`tenant_id`, `schedule_no`) USING BTREE,
KEY `idx_tenant_student_date` (`tenant_id`, `student_id`, `lesson_date`) USING BTREE,
KEY `idx_tenant_tutor_date` (`tenant_id`, `tutor_id`, `lesson_date`) USING BTREE,
KEY `idx_tenant_status_date` (`tenant_id`, `status`, `lesson_date`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='排课主表';
-- 6.2 排课-学生关联(小班课多人)
DROP TABLE IF EXISTS `edu_lesson_student`;
CREATE TABLE `edu_lesson_student` (
`id` bigint NOT NULL COMMENT '主键',
`tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户ID',
`schedule_id` bigint NOT NULL COMMENT '排课ID',
`student_id` bigint NOT NULL COMMENT '学生ID',
`contract_id` bigint DEFAULT NULL COMMENT '扣课时使用的合同ID',
`package_id` bigint DEFAULT NULL COMMENT '扣课时使用的课包ID',
`hours_should` decimal(8,2) NOT NULL COMMENT '应扣课时',
`hours_actual` decimal(8,2) NOT NULL DEFAULT 0.00 COMMENT '实扣课时',
`consume_rate` decimal(5,2) DEFAULT 1.00 COMMENT '消课比例',
`status` char(1) DEFAULT '0' COMMENT '状态 0=待上课 1=已签到 2=已消课 3=请假 4=取消 5=旷课',
`check_in_at` datetime DEFAULT NULL COMMENT '签到',
`check_out_at` datetime DEFAULT NULL COMMENT '下课',
`reason` varchar(255) DEFAULT NULL COMMENT '请假/取消原因',
`del_flag` char(1) DEFAULT '0' COMMENT '删除标志 0=存在 1=删除',
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
`create_dept` bigint DEFAULT NULL COMMENT '创建部门',
`create_by` bigint DEFAULT NULL COMMENT '创建者',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_by` bigint DEFAULT NULL COMMENT '更新者',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`id`) USING BTREE,
UNIQUE KEY `uk_tenant_schedule_student` (`tenant_id`, `schedule_id`, `student_id`) USING BTREE,
KEY `idx_tenant_student` (`tenant_id`, `student_id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='排课-学生关联表(消课流水前置)';
-- 6.3 课时消耗流水(核心账本)
DROP TABLE IF EXISTS `edu_hours_log`;
CREATE TABLE `edu_hours_log` (
`id` bigint NOT NULL COMMENT '主键',
`tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户ID',
`log_no` varchar(32) NOT NULL COMMENT '流水号',
`student_id` bigint NOT NULL COMMENT '学生ID',
`contract_id` bigint DEFAULT NULL COMMENT '合同ID',
`package_id` bigint DEFAULT NULL COMMENT '课包ID',
`contract_package_id` bigint DEFAULT NULL COMMENT '合同课包明细ID',
`gift_id` bigint DEFAULT NULL COMMENT '赠送ID(扣赠送课时时)',
`schedule_id` bigint DEFAULT NULL COMMENT '排课ID',
`lesson_student_id` bigint DEFAULT NULL COMMENT '排课-学生ID',
`business_type` varchar(32) NOT NULL COMMENT '业务类型 CONSUME/PURCHASE/REFUND/TRANSFER_OUT/TRANSFER_IN/GIFT/EXPIRE/ADJUST',
`direction` char(1) NOT NULL COMMENT '方向 - =扣减 + =增加',
`hours` decimal(10,2) NOT NULL COMMENT '本次变动课时(正数)',
`before_hours` decimal(10,2) NOT NULL COMMENT '变更前',
`after_hours` decimal(10,2) NOT NULL COMMENT '变更后',
`rate` decimal(5,2) DEFAULT 1.00 COMMENT '消课比例',
`reason` varchar(500) DEFAULT NULL COMMENT '原因',
`operator_id` bigint DEFAULT NULL COMMENT '操作人ID',
`operator_name` varchar(64) DEFAULT NULL COMMENT '操作人姓名',
`log_time` datetime DEFAULT NULL COMMENT '业务时间',
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
`create_dept` bigint DEFAULT NULL COMMENT '创建部门',
`create_by` bigint DEFAULT NULL COMMENT '创建者',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_by` bigint DEFAULT NULL COMMENT '更新者',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`id`) USING BTREE,
UNIQUE KEY `uk_tenant_log_no` (`tenant_id`, `log_no`) USING BTREE,
KEY `idx_tenant_student_biz` (`tenant_id`, `student_id`, `business_type`) USING BTREE,
KEY `idx_tenant_contract` (`tenant_id`, `contract_id`) USING BTREE,
KEY `idx_tenant_schedule` (`tenant_id`, `schedule_id`) USING BTREE,
KEY `idx_tenant_time` (`tenant_id`, `log_time`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='课时账本流水(双向)';
-- =====================================================================
-- 七、操作审计
-- =====================================================================
DROP TABLE IF EXISTS `edu_audit_log`;
CREATE TABLE `edu_audit_log` (
`id` bigint NOT NULL COMMENT '主键',
`tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户ID',
`business_type` varchar(32) NOT NULL COMMENT '业务模块 STUDENT/STAFF/PACKAGE/CONTRACT/SCHEDULE',
`action` varchar(64) NOT NULL COMMENT '动作',
`entity_id` bigint DEFAULT NULL COMMENT '业务实体ID',
`entity_no` varchar(64) DEFAULT NULL COMMENT '业务单号',
`before_json` text DEFAULT NULL COMMENT '变更前快照',
`after_json` text DEFAULT NULL COMMENT '变更后快照',
`diff_json` text DEFAULT NULL COMMENT '差异',
`operator_id` bigint DEFAULT NULL COMMENT '操作人ID',
`operator_name` varchar(64) DEFAULT NULL COMMENT '操作人姓名',
`client_ip` varchar(64) DEFAULT NULL COMMENT '客户端IP',
`operate_time` datetime DEFAULT NULL COMMENT '操作时间',
`cost_ms` bigint DEFAULT NULL COMMENT '耗时ms',
`success` char(1) DEFAULT 'Y' COMMENT '是否成功 Y/N',
`error_msg` varchar(2000) DEFAULT NULL COMMENT '错误信息',
`create_dept` bigint DEFAULT NULL COMMENT '创建部门',
`create_by` bigint DEFAULT NULL COMMENT '创建者',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_by` bigint DEFAULT NULL COMMENT '更新者',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`id`) USING BTREE,
KEY `idx_tenant_biz_entity` (`tenant_id`, `business_type`, `entity_id`) USING BTREE,
KEY `idx_tenant_operator_time` (`tenant_id`, `operator_id`, `operate_time`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='业务审计日志';
-- =====================================================================
-- 八、初始数据:业务字典
-- =====================================================================
INSERT INTO `edu_dict`(`id`,`tenant_id`,`dict_type`,`dict_label`,`dict_value`,`sort_order`,`is_default`,`status`) VALUES
(1,'000000','staff_role','课程顾问','SALES',1,'N','0'),
(2,'000000','staff_role','管家(学管)','HOUSEKEEPER',2,'N','0'),
(3,'000000','staff_role','辅导老师','TUTOR',3,'N','0'),
(4,'000000','staff_role','文书老师','DOC_WRITER',4,'N','0'),
(10,'000000','package_type','体验课','EXPERIENCE',1,'N','0'),
(11,'000000','package_type','课包','PACKAGE',2,'N','0'),
(12,'000000','package_type','单课时','SINGLE',3,'N','0'),
(13,'000000','package_type','全期课程','COURSE',4,'N','0'),
(20,'000000','contract_type','报名合同','ENROLL',1,'N','0'),
(21,'000000','contract_type','续费合同','RENEW',2,'N','0'),
(22,'000000','contract_type','补购合同','ADDON',3,'N','0'),
(23,'000000','contract_type','退费合同','REFUND',4,'N','0'),
(24,'000000','contract_type','转课合同','TRANSFER',5,'N','0'),
(30,'000000','contract_status','草稿','0',1,'Y','0'),
(31,'000000','contract_status','待生效','1',2,'N','0'),
(32,'000000','contract_status','执行中','2',3,'N','0'),
(33,'000000','contract_status','已结清','3',4,'N','0'),
(34,'000000','contract_status','已退费','4',5,'N','0'),
(35,'000000','contract_status','已转课','5',6,'N','0'),
(36,'000000','contract_status','已作废','9',7,'N','0'),
(40,'000000','payment_status','未支付','0',1,'Y','0'),
(41,'000000','payment_status','部分支付','1',2,'N','0'),
(42,'000000','payment_status','已支付','2',3,'N','0'),
(43,'000000','payment_status','已退费','3',4,'N','0'),
(50,'000000','lesson_type','一对一','ONE_ON_ONE',1,'N','0'),
(51,'000000','lesson_type','小班课','SMALL_CLASS',2,'N','0'),
(52,'000000','lesson_type','大班课','LARGE_CLASS',3,'N','0'),
(53,'000000','lesson_type','体验课','EXPERIENCE',4,'N','0'),
(60,'000000','schedule_status','待上课','0',1,'Y','0'),
(61,'000000','schedule_status','已签到','1',2,'N','0'),
(62,'000000','schedule_status','已消课','2',3,'N','0'),
(63,'000000','schedule_status','请假','3',4,'N','0'),
(64,'000000','schedule_status','已取消','4',5,'N','0'),
(65,'000000','schedule_status','旷课','5',6,'N','0'),
(70,'000000','student_status','潜在','0',1,'N','0'),
(71,'000000','student_status','试听','1',2,'N','0'),
(72,'000000','student_status','已报名','2',3,'Y','0'),
(73,'000000','student_status','结业','3',4,'N','0'),
(74,'000000','student_status','流失','4',5,'N','0'),
(80,'000000','payment_method','现金','CASH',1,'N','0'),
(81,'000000','payment_method','微信','WECHAT',2,'N','0'),
(82,'000000','payment_method','支付宝','ALIPAY',3,'N','0'),
(83,'000000','payment_method','银行卡','BANK',4,'N','0'),
(84,'000000','payment_method','信用卡','CARD',5,'N','0'),
(90,'000000','parent_relation','父亲','FATHER',1,'N','0'),
(91,'000000','parent_relation','母亲','MOTHER',2,'N','0'),
(92,'000000','parent_relation','爷爷/外公','GRANDPA',3,'N','0'),
(93,'000000','parent_relation','奶奶/外婆','GRANDMA',4,'N','0'),
(94,'000000','parent_relation','其他','OTHER',5,'N','0'),
(100,'000000','hours_biz_type','购买','PURCHASE',1,'N','0'),
(101,'000000','hours_biz_type','消课','CONSUME',2,'N','0'),
(102,'000000','hours_biz_type','退费','REFUND',3,'N','0'),
(103,'000000','hours_biz_type','转出','TRANSFER_OUT',4,'N','0'),
(104,'000000','hours_biz_type','转入','TRANSFER_IN',5,'N','0'),
(105,'000000','hours_biz_type','赠送','GIFT',6,'N','0'),
(106,'000000','hours_biz_type','过期','EXPIRE',7,'N','0'),
(107,'000000','hours_biz_type','手动调整','ADJUST',8,'N','0'),
(297,'000000','payment_plan_status','待收','0',1,'Y','0'),
(298,'000000','payment_plan_status','已收','1',2,'N','0'),
(299,'000000','payment_plan_status','已作废','4',3,'N','0');
-- =====================================================================
-- 九、菜单与权限(注入 ruoyi 的 sys_menu
-- =====================================================================
-- 一级菜单:教务管理
INSERT INTO `sys_menu`(`menu_id`,`menu_name`,`parent_id`,`order_num`,`path`,`component`,`is_frame`,`is_cache`,`menu_type`,`visible`,`status`,`perms`,`icon`,`create_by`,`create_time`,`remark`)
VALUES (2000,'教务管理',0,5,'edu','Layout',1,0,'M','0','0',NULL,'education','1',NOW(),'教务管理目录')
,(2001,'学生管理',2000,1,'student','edu/student/index',1,0,'C','0','0','edu:student:list','user','1',NOW(),'学生管理菜单')
,(2002,'课包管理',2000,2,'package','edu/package/index',1,0,'C','0','0','edu:package:list','shopping','1',NOW(),'课包管理菜单')
,(2003,'合同管理',2000,3,'contract','edu/contract/index',1,0,'C','0','0','edu:contract:list','document','1',NOW(),'合同管理菜单')
,(2004,'排课消课',2000,4,'schedule','edu/schedule/index',1,0,'C','0','0','edu:schedule:list','calendar','1',NOW(),'排课消课菜单')
,(2005,'员工管理',2000,5,'staff','edu/staff/index',1,0,'C','0','0','edu:staff:list','peoples','1',NOW(),'员工管理菜单')
;
-- 学生管理按钮
INSERT INTO `sys_menu`(`menu_id`,`menu_name`,`parent_id`,`order_num`,`path`,`component`,`is_frame`,`is_cache`,`menu_type`,`visible`,`status`,`perms`,`icon`,`create_by`,`create_time`,`remark`) VALUES
(2010,'学生查询',2001,1,'','',1,0,'F','0','0','edu:student:query','#',1,NOW(),''),
(2011,'学生新增',2001,2,'','',1,0,'F','0','0','edu:student:add','#',1,NOW(),''),
(2012,'学生修改',2001,3,'','',1,0,'F','0','0','edu:student:edit','#',1,NOW(),''),
(2013,'学生删除',2001,4,'','',1,0,'F','0','0','edu:student:remove','#',1,NOW(),''),
(2014,'学生导出',2001,5,'','',1,0,'F','0','0','edu:student:export','#',1,NOW(),''),
(2015,'家长管理',2001,6,'','',1,0,'F','0','0','edu:student:parent','#',1,NOW(),'');
-- 课包管理按钮
INSERT INTO `sys_menu`(`menu_id`,`menu_name`,`parent_id`,`order_num`,`path`,`component`,`is_frame`,`is_cache`,`menu_type`,`visible`,`status`,`perms`,`icon`,`create_by`,`create_time`,`remark`) VALUES
(2020,'课包查询',2002,1,'','',1,0,'F','0','0','edu:package:query','#',1,NOW(),''),
(2021,'课包新增',2002,2,'','',1,0,'F','0','0','edu:package:add','#',1,NOW(),''),
(2022,'课包修改',2002,3,'','',1,0,'F','0','0','edu:package:edit','#',1,NOW(),''),
(2023,'课包删除',2002,4,'','',1,0,'F','0','0','edu:package:remove','#',1,NOW(),''),
(2024,'课包上架',2002,5,'','',1,0,'F','0','0','edu:package:onSale','#',1,NOW(),''),
(2025,'价格策略',2002,6,'','',1,0,'F','0','0','edu:package:strategy','#',1,NOW(),'');
-- 合同管理按钮
INSERT INTO `sys_menu`(`menu_id`,`menu_name`,`parent_id`,`order_num`,`path`,`component`,`is_frame`,`is_cache`,`menu_type`,`visible`,`status`,`perms`,`icon`,`create_by`,`create_time`,`remark`) VALUES
(2030,'合同查询',2003,1,'','',1,0,'F','0','0','edu:contract:query','#',1,NOW(),''),
(2031,'合同新增',2003,2,'','',1,0,'F','0','0','edu:contract:add','#',1,NOW(),''),
(2032,'合同修改',2003,3,'','',1,0,'F','0','0','edu:contract:edit','#',1,NOW(),''),
(2033,'合同删除',2003,4,'','',1,0,'F','0','0','edu:contract:remove','#',1,NOW(),''),
(2034,'合同激活',2003,5,'','',1,0,'F','0','0','edu:contract:activate','#',1,NOW(),''),
(2035,'合同退费',2003,6,'','',1,0,'F','0','0','edu:contract:refund','#',1,NOW(),''),
(2036,'合同转课',2003,7,'','',1,0,'F','0','0','edu:contract:transfer','#',1,NOW(),''),
(2037,'合同续费',2003,8,'','',1,0,'F','0','0','edu:contract:renew','#',1,NOW(),''),
(2038,'合同导出',2003,9,'','',1,0,'F','0','0','edu:contract:export','#',1,NOW(),'');
-- 排课消课按钮
INSERT INTO `sys_menu`(`menu_id`,`menu_name`,`parent_id`,`order_num`,`path`,`component`,`is_frame`,`is_cache`,`menu_type`,`visible`,`status`,`perms`,`icon`,`create_by`,`create_time`,`remark`) VALUES
(2040,'排课查询',2004,1,'','',1,0,'F','0','0','edu:schedule:query','#',1,NOW(),''),
(2041,'新增排课',2004,2,'','',1,0,'F','0','0','edu:schedule:add','#',1,NOW(),''),
(2042,'修改排课',2004,3,'','',1,0,'F','0','0','edu:schedule:edit','#',1,NOW(),''),
(2043,'删除排课',2004,4,'','',1,0,'F','0','0','edu:schedule:remove','#',1,NOW(),''),
(2044,'学生签到',2004,5,'','',1,0,'F','0','0','edu:schedule:checkIn','#',1,NOW(),''),
(2045,'课后消课',2004,6,'','',1,0,'F','0','0','edu:schedule:consume','#',1,NOW(),''),
(2046,'学生请假',2004,7,'','',1,0,'F','0','0','edu:schedule:leave','#',1,NOW(),''),
(2047,'导出课表',2004,8,'','',1,0,'F','0','0','edu:schedule:export','#',1,NOW(),'');
-- 员工管理按钮
INSERT INTO `sys_menu`(`menu_id`,`menu_name`,`parent_id`,`order_num`,`path`,`component`,`is_frame`,`is_cache`,`menu_type`,`visible`,`status`,`perms`,`icon`,`create_by`,`create_time`,`remark`) VALUES
(2050,'员工查询',2005,1,'','',1,0,'F','0','0','edu:staff:query','#',1,NOW(),''),
(2051,'员工新增',2005,2,'','',1,0,'F','0','0','edu:staff:add','#',1,NOW(),''),
(2052,'员工修改',2005,3,'','',1,0,'F','0','0','edu:staff:edit','#',1,NOW(),''),
(2053,'员工删除',2005,4,'','',1,0,'F','0','0','edu:staff:remove','#',1,NOW(),''),
(2054,'员工导出',2005,5,'','',1,0,'F','0','0','edu:staff:export','#',1,NOW(),''),
(2055,'学生分配',2005,6,'','',1,0,'F','0','0','edu:staff:assign','#',1,NOW(),'');
SET FOREIGN_KEY_CHECKS = 1;