完成模块2
This commit was merged in pull request #14.
This commit is contained in:
+86
@@ -0,0 +1,86 @@
|
||||
-- V10: 团课预约业务场景测试数据
|
||||
-- 测试场景:
|
||||
-- 1. 用户A刚刚注册,在没有任何会员卡的情况下申请团课预约
|
||||
-- 2. 用户B已有时长卡,但已经过期
|
||||
-- 3. 会员C有时长卡,未过期
|
||||
-- 4. 会员D有次数卡,但次数卡耗尽次数
|
||||
-- 5. 会员E有次数卡,且次数充足
|
||||
-- 6. 会员F有储值卡,但余额不足以支付其预约的团课
|
||||
-- 7. 会员G有储值卡,余额充足
|
||||
|
||||
-- ============================================
|
||||
-- 1. 创建测试会员用户 (A-G)
|
||||
-- ============================================
|
||||
|
||||
INSERT INTO member_user (member_no, nickname, phone, gender, is_deleted, created_at, updated_at) VALUES
|
||||
('MEM_TEST_A', '用户A_无卡新用户', '13800001001', 1, false, '2026-06-02 10:00:00', '2026-06-02 10:00:00'),
|
||||
('MEM_TEST_B', '用户B_过期时长卡', '13800001002', 1, false, '2026-05-01 10:00:00', '2026-05-01 10:00:00'),
|
||||
('MEM_TEST_C', '会员C_有效时长卡', '13800001003', 2, false, '2026-05-01 10:00:00', '2026-05-01 10:00:00'),
|
||||
('MEM_TEST_D', '会员D_次数用尽', '13800001004', 1, false, '2026-05-01 10:00:00', '2026-05-01 10:00:00'),
|
||||
('MEM_TEST_E', '会员E_次数充足', '13800001005', 2, false, '2026-05-01 10:00:00', '2026-05-01 10:00:00'),
|
||||
('MEM_TEST_F', '会员F_储值卡余额不足', '13800001006', 1, false, '2026-05-01 10:00:00', '2026-05-01 10:00:00'),
|
||||
('MEM_TEST_G', '会员G_储值卡余额充足', '13800001007', 2, false, '2026-05-01 10:00:00', '2026-05-01 10:00:00');
|
||||
|
||||
-- ============================================
|
||||
-- 2. 团课课程测试数据(用于预约测试)
|
||||
-- ============================================
|
||||
|
||||
-- 团课A: 收费类型为次数卡(点卡额度=1)
|
||||
INSERT INTO group_course (course_name, coach_id, course_type, start_time, end_time, max_members, current_members, status, location, description, point_card_amount, stored_value_amount, create_by, created_at, updated_at) VALUES
|
||||
('燃脂搏击_次数卡课程', 102, 2, '2026-06-10 19:30:00', '2026-06-10 20:30:00', 20, 0, '0', '综合训练区', '高强度间歇训练,配合音乐快速燃脂,消耗1次', 1, 0.00, 'admin', '2026-06-01 10:00:00', '2026-06-01 10:00:00');
|
||||
|
||||
-- 团课B: 收费类型为储值卡(储值额度=50.00)
|
||||
INSERT INTO group_course (course_name, coach_id, course_type, start_time, end_time, max_members, current_members, status, location, description, point_card_amount, stored_value_amount, create_by, created_at, updated_at) VALUES
|
||||
('高端普拉提_储值卡课程', 103, 1, '2026-06-11 19:00:00', '2026-06-11 20:00:00', 15, 0, '0', '普拉提教室', '精准训练核心肌群,消耗储值50元', 0, 20.00, 'admin', '2026-06-01 10:00:00', '2026-06-01 10:00:00');
|
||||
|
||||
-- ============================================
|
||||
-- 3. 会员卡类型定义
|
||||
-- ============================================
|
||||
|
||||
INSERT INTO member_card (member_card_name, member_card_type, member_card_price, member_card_validity_days, member_card_total_times, member_card_amount, member_card_status, extra_config, created_at, updated_at) VALUES
|
||||
('30天时长卡', 'TIME_CARD', 299.00, 30, NULL, NULL, 1, '{}', '2026-01-01 00:00:00', '2026-01-01 00:00:00'),
|
||||
('10次卡', 'COUNT_CARD', 499.00, NULL, 10, NULL, 1, '{}', '2026-01-01 00:00:00', '2026-01-01 00:00:00'),
|
||||
('储值卡500', 'STORED_VALUE_CARD', 500.00, NULL, NULL, 500.00, 1, '{}', '2026-01-01 00:00:00', '2026-01-01 00:00:00');
|
||||
|
||||
-- ============================================
|
||||
-- 4. 会员卡记录测试数据
|
||||
-- ============================================
|
||||
|
||||
-- 场景2: 用户B - 时长卡已过期 (expire_time < 当前时间)
|
||||
-- 购买于30天前,有效期30天,现已过期
|
||||
INSERT INTO member_card_record (member_id, member_card_id, status, remaining_times, remaining_amount, expire_time, purchase_time, version, card_composition, created_at, updated_at) VALUES
|
||||
((SELECT id FROM member_user WHERE member_no = 'MEM_TEST_B'), (SELECT member_card_id FROM member_card WHERE member_card_name = '30天时长卡'), 'EXPIRED', 0, 0.00, '2026-05-31 23:59:59', '2026-05-01 10:00:00', 0, '{}', '2026-05-01 10:00:00', '2026-06-02 10:00:00');
|
||||
|
||||
-- 场景3: 会员C - 时长卡未过期 (expire_time > 当前时间)
|
||||
-- 购买于今天,有效期30天,还有30天有效期
|
||||
INSERT INTO member_card_record (member_id, member_card_id, status, remaining_times, remaining_amount, expire_time, purchase_time, version, card_composition, created_at, updated_at) VALUES
|
||||
((SELECT id FROM member_user WHERE member_no = 'MEM_TEST_C'), (SELECT member_card_id FROM member_card WHERE member_card_name = '30天时长卡'), 'ACTIVE', 0, 0.00, '2026-07-02 23:59:59', '2026-06-02 10:00:00', 0, '{}', '2026-06-02 10:00:00', '2026-06-02 10:00:00');
|
||||
|
||||
-- 场景4: 会员D - 次数卡耗尽 (remaining_times = 0)
|
||||
INSERT INTO member_card_record (member_id, member_card_id, status, remaining_times, remaining_amount, expire_time, purchase_time, version, card_composition, created_at, updated_at) VALUES
|
||||
((SELECT id FROM member_user WHERE member_no = 'MEM_TEST_D'), (SELECT member_card_id FROM member_card WHERE member_card_name = '10次卡'), 'ACTIVE', 0, 0.00, '2026-12-31 23:59:59', '2026-05-01 10:00:00', 0, '{}', '2026-05-01 10:00:00', '2026-06-02 10:00:00');
|
||||
|
||||
-- 场景5: 会员E - 次数卡充足 (remaining_times >= point_card_amount)
|
||||
INSERT INTO member_card_record (member_id, member_card_id, status, remaining_times, remaining_amount, expire_time, purchase_time, version, card_composition, created_at, updated_at) VALUES
|
||||
((SELECT id FROM member_user WHERE member_no = 'MEM_TEST_E'), (SELECT member_card_id FROM member_card WHERE member_card_name = '10次卡'), 'ACTIVE', 5, 0.00, '2026-12-31 23:59:59', '2026-05-01 10:00:00', 0, '{}', '2026-05-01 10:00:00', '2026-06-02 10:00:00');
|
||||
|
||||
-- 场景6: 会员F - 储值卡余额不足 (remaining_amount < stored_value_amount of course)
|
||||
-- 团课B收费50元,但会员F储值卡只有30元
|
||||
INSERT INTO member_card_record (member_id, member_card_id, status, remaining_times, remaining_amount, expire_time, purchase_time, version, card_composition, created_at, updated_at) VALUES
|
||||
((SELECT id FROM member_user WHERE member_no = 'MEM_TEST_F'), (SELECT member_card_id FROM member_card WHERE member_card_name = '储值卡500'), 'ACTIVE', 0, 30.00, '2027-06-02 23:59:59', '2026-05-01 10:00:00', 0, '{}', '2026-05-01 10:00:00', '2026-06-02 10:00:00');
|
||||
|
||||
-- 场景7: 会员G - 储值卡余额充足 (remaining_amount >= stored_value_amount of course)
|
||||
INSERT INTO member_card_record (member_id, member_card_id, status, remaining_times, remaining_amount, expire_time, purchase_time, version, card_composition, created_at, updated_at) VALUES
|
||||
((SELECT id FROM member_user WHERE member_no = 'MEM_TEST_G'), (SELECT member_card_id FROM member_card WHERE member_card_name = '储值卡500'), 'ACTIVE', 0, 200.00, '2027-06-02 23:59:59', '2026-05-01 10:00:00', 0, '{}', '2026-05-01 10:00:00', '2026-06-02 10:00:00');
|
||||
|
||||
-- ============================================
|
||||
-- 5. 测试场景说明
|
||||
-- ============================================
|
||||
|
||||
-- 场景1: 用户A无会员卡 -> 预约团课时应提示"无可用会员卡"
|
||||
-- 场景2: 用户B时长卡已过期 -> 预约团课时应提示"会员卡已过期"
|
||||
-- 场景3: 会员C时长卡有效 -> 可以正常预约次数卡团课
|
||||
-- 场景4: 会员D次数为0 -> 预约团课时应提示"剩余次数不足"
|
||||
-- 场景5: 会员E次数充足 -> 可以正常预约次数卡团课
|
||||
-- 场景6: 会员F储值卡余额30元,团课需50元 -> 预约时应提示"余额不足"
|
||||
-- 场景7: 会员G储值卡余额200元,团课需50元 -> 可以正常预约储值卡团课
|
||||
+116
@@ -0,0 +1,116 @@
|
||||
-- V11: 团课预约取消业务场景测试数据
|
||||
-- 测试场景:
|
||||
-- 1. 用户张三使用时长卡预约了团课,需要取消预约
|
||||
-- 2. 用户李四使用次数卡预约了团课,需要取消预约
|
||||
-- 3. 用户王五使用储值卡预约了团课,需要取消预约
|
||||
|
||||
-- ============================================
|
||||
-- 1. 创建测试会员用户 (张三、李四、王五)
|
||||
-- ============================================
|
||||
|
||||
INSERT INTO member_user (member_no, nickname, phone, gender, is_deleted, created_at, updated_at) VALUES
|
||||
('MEM_TEST_ZHANG', '张三_时长卡用户', '13800002001', 1, false, '2026-06-02 10:00:00', '2026-06-02 10:00:00'),
|
||||
('MEM_TEST_LI', '李四_次数卡用户', '13800002002', 1, false, '2026-06-02 10:00:00', '2026-06-02 10:00:00'),
|
||||
('MEM_TEST_WANG', '王五_储值卡用户', '13800002003', 2, false, '2026-06-02 10:00:00', '2026-06-02 10:00:00');
|
||||
|
||||
-- ============================================
|
||||
-- 2. 确保会员卡类型已存在(如果不存在则创建)
|
||||
-- ============================================
|
||||
|
||||
-- 时长卡类型(30天)
|
||||
INSERT INTO member_card (member_card_name, member_card_type, member_card_price, member_card_validity_days, member_card_total_times, member_card_amount, member_card_status, extra_config, created_at, updated_at)
|
||||
SELECT '30天时长卡', 'TIME_CARD', 299.00, 30, NULL, NULL, 1, '{}', '2026-01-01 00:00:00', '2026-01-01 00:00:00'
|
||||
WHERE NOT EXISTS (SELECT 1 FROM member_card WHERE member_card_name = '30天时长卡');
|
||||
|
||||
-- 次数卡类型(10次)
|
||||
INSERT INTO member_card (member_card_name, member_card_type, member_card_price, member_card_validity_days, member_card_total_times, member_card_amount, member_card_status, extra_config, created_at, updated_at)
|
||||
SELECT '10次卡', 'COUNT_CARD', 499.00, NULL, 10, NULL, 1, '{}', '2026-01-01 00:00:00', '2026-01-01 00:00:00'
|
||||
WHERE NOT EXISTS (SELECT 1 FROM member_card WHERE member_card_name = '10次卡');
|
||||
|
||||
-- 储值卡类型(500元)
|
||||
INSERT INTO member_card (member_card_name, member_card_type, member_card_price, member_card_validity_days, member_card_total_times, member_card_amount, member_card_status, extra_config, created_at, updated_at)
|
||||
SELECT '储值卡500', 'STORED_VALUE_CARD', 500.00, NULL, NULL, 500.00, 1, '{}', '2026-01-01 00:00:00', '2026-01-01 00:00:00'
|
||||
WHERE NOT EXISTS (SELECT 1 FROM member_card WHERE member_card_name = '储值卡500');
|
||||
|
||||
-- ============================================
|
||||
-- 3. 为测试用户分配会员卡
|
||||
-- ============================================
|
||||
|
||||
-- 张三:时长卡(有效期内)
|
||||
INSERT INTO member_card_record (member_id, member_card_id, status, remaining_times, remaining_amount, expire_time, purchase_time, version, card_composition, created_at, updated_at) VALUES
|
||||
((SELECT id FROM member_user WHERE member_no = 'MEM_TEST_ZHANG'),
|
||||
(SELECT member_card_id FROM member_card WHERE member_card_name = '30天时长卡'),
|
||||
'ACTIVE', 0, 0.00, '2026-07-02 23:59:59', '2026-06-02 10:00:00', 0, '{}', '2026-06-02 10:00:00', '2026-06-02 10:00:00');
|
||||
|
||||
-- 李四:次数卡(剩余5次)
|
||||
INSERT INTO member_card_record (member_id, member_card_id, status, remaining_times, remaining_amount, expire_time, purchase_time, version, card_composition, created_at, updated_at) VALUES
|
||||
((SELECT id FROM member_user WHERE member_no = 'MEM_TEST_LI'),
|
||||
(SELECT member_card_id FROM member_card WHERE member_card_name = '10次卡'),
|
||||
'ACTIVE', 5, 0.00, '2026-12-31 23:59:59', '2026-05-01 10:00:00', 0, '{}', '2026-05-01 10:00:00', '2026-06-02 10:00:00');
|
||||
|
||||
-- 王五:储值卡(余额200元)
|
||||
INSERT INTO member_card_record (member_id, member_card_id, status, remaining_times, remaining_amount, expire_time, purchase_time, version, card_composition, created_at, updated_at) VALUES
|
||||
((SELECT id FROM member_user WHERE member_no = 'MEM_TEST_WANG'),
|
||||
(SELECT member_card_id FROM member_card WHERE member_card_name = '储值卡500'),
|
||||
'ACTIVE', 0, 200.00, '2027-06-02 23:59:59', '2026-05-01 10:00:00', 0, '{}', '2026-05-01 10:00:00', '2026-06-02 10:00:00');
|
||||
|
||||
-- ============================================
|
||||
-- 4. 创建用于取消预约测试的团课
|
||||
-- ============================================
|
||||
|
||||
-- 团课X: 时长卡可用课程(使用次数卡支付,时长卡会员可预约)
|
||||
INSERT INTO group_course (course_name, coach_id, course_type, start_time, end_time, max_members, current_members, status, location, description, point_card_amount, stored_value_amount, create_by, created_at, updated_at) VALUES
|
||||
('晚间瑜伽_取消测试', 101, 1, '2026-06-15 19:00:00', '2026-06-15 20:00:00', 20, 0, '0', '瑜伽教室', '适合所有级别的瑜伽课程,用于测试取消预约功能', 1, 30.00, 'admin', '2026-06-02 10:00:00', '2026-06-02 10:00:00');
|
||||
|
||||
-- ============================================
|
||||
-- 5. 创建已预约的记录(状态为0-已预约)
|
||||
-- ============================================
|
||||
|
||||
-- 张三使用时长卡预约团课(状态:已预约)
|
||||
INSERT INTO group_course_booking (course_id, member_id, member_card_id, booking_time, status, course_name, course_start_time, course_end_time, location, created_at, updated_at) VALUES
|
||||
((SELECT id FROM group_course WHERE course_name = '晚间瑜伽_取消测试'),
|
||||
(SELECT id FROM member_user WHERE member_no = 'MEM_TEST_ZHANG'),
|
||||
(SELECT id FROM member_card_record WHERE member_id = (SELECT id FROM member_user WHERE member_no = 'MEM_TEST_ZHANG')),
|
||||
'2026-06-02 11:00:00', '0', '晚间瑜伽_取消测试', '2026-06-15 19:00:00', '2026-06-15 20:00:00', '瑜伽教室',
|
||||
'2026-06-02 11:00:00', '2026-06-02 11:00:00');
|
||||
|
||||
-- 李四使用次数卡预约团课(状态:已预约)
|
||||
INSERT INTO group_course_booking (course_id, member_id, member_card_id, booking_time, status, course_name, course_start_time, course_end_time, location, created_at, updated_at) VALUES
|
||||
((SELECT id FROM group_course WHERE course_name = '晚间瑜伽_取消测试'),
|
||||
(SELECT id FROM member_user WHERE member_no = 'MEM_TEST_LI'),
|
||||
(SELECT id FROM member_card_record WHERE member_id = (SELECT id FROM member_user WHERE member_no = 'MEM_TEST_LI')),
|
||||
'2026-06-02 11:30:00', '0', '晚间瑜伽_取消测试', '2026-06-15 19:00:00', '2026-06-15 20:00:00', '瑜伽教室',
|
||||
'2026-06-02 11:30:00', '2026-06-02 11:30:00');
|
||||
|
||||
-- 王五使用储值卡预约团课(状态:已预约)
|
||||
INSERT INTO group_course_booking (course_id, member_id, member_card_id, booking_time, status, course_name, course_start_time, course_end_time, location, created_at, updated_at) VALUES
|
||||
((SELECT id FROM group_course WHERE course_name = '晚间瑜伽_取消测试'),
|
||||
(SELECT id FROM member_user WHERE member_no = 'MEM_TEST_WANG'),
|
||||
(SELECT id FROM member_card_record WHERE member_id = (SELECT id FROM member_user WHERE member_no = 'MEM_TEST_WANG')),
|
||||
'2026-06-02 12:00:00', '0', '晚间瑜伽_取消测试', '2026-06-15 19:00:00', '2026-06-15 20:00:00', '瑜伽教室',
|
||||
'2026-06-02 12:00:00', '2026-06-02 12:00:00');
|
||||
|
||||
-- ============================================
|
||||
-- 6. 更新团课当前预约人数
|
||||
-- ============================================
|
||||
|
||||
UPDATE group_course
|
||||
SET current_members = current_members + 3
|
||||
WHERE course_name = '晚间瑜伽_取消测试';
|
||||
|
||||
-- ============================================
|
||||
-- 测试数据说明
|
||||
-- ============================================
|
||||
-- 用户信息:
|
||||
-- 张三 (MEM_TEST_ZHANG): 13800002001 - 持有有效期内的时长卡
|
||||
-- 李四 (MEM_TEST_LI): 13800002002 - 持有次数卡(剩余5次)
|
||||
-- 王五 (MEM_TEST_WANG): 13800002003 - 持有储值卡(余额200元)
|
||||
|
||||
-- 测试场景:
|
||||
-- 1. 张三使用时长卡预约了团课 -> 取消预约 -> 应恢复时长卡状态,释放课程名额
|
||||
-- 2. 李四使用次数卡预约了团课 -> 取消预约 -> 应返还扣除的次数,释放课程名额
|
||||
-- 3. 王五使用储值卡预约了团课 -> 取消预约 -> 应返还扣除的金额,释放课程名额
|
||||
|
||||
-- 预约记录状态说明:
|
||||
-- status = '0' 表示已预约
|
||||
-- status = '1' 表示已取消(取消后应更新为此状态)
|
||||
+58
@@ -0,0 +1,58 @@
|
||||
-- V12: 团课预约时间冲突测试数据
|
||||
-- 测试场景:会员预约两个时间重叠的团课时,系统应检测到时间冲突并拒绝预约
|
||||
|
||||
-- ============================================
|
||||
-- 1. 创建测试会员
|
||||
-- ============================================
|
||||
|
||||
INSERT INTO member_user (member_no, nickname, phone, gender, is_deleted, created_at, updated_at) VALUES
|
||||
('MEM_TIME_CONFLICT', '时间冲突测试会员', '13800009999', 1, false, '2026-06-02 10:00:00', '2026-06-02 10:00:00');
|
||||
|
||||
-- ============================================
|
||||
-- 2. 创建时间冲突的团课
|
||||
-- ============================================
|
||||
|
||||
-- 团课A: 6月15日 13:00 - 15:00
|
||||
INSERT INTO group_course (course_name, coach_id, course_type, start_time, end_time, max_members, current_members, status, location, description, point_card_amount, stored_value_amount, create_by, created_at, updated_at) VALUES
|
||||
('时间冲突测试_A_13点-15点', 102, 2, '2026-06-15 13:00:00', '2026-06-15 15:00:00', 20, 0, '0', '综合训练区', '测试用团课A,用于验证时间冲突检测', 1, 0.00, 'admin', '2026-06-02 10:00:00', '2026-06-02 10:00:00');
|
||||
|
||||
-- 团课B: 6月15日 14:00 - 16:00 (与团课A时间重叠)
|
||||
INSERT INTO group_course (course_name, coach_id, course_type, start_time, end_time, max_members, current_members, status, location, description, point_card_amount, stored_value_amount, create_by, created_at, updated_at) VALUES
|
||||
('时间冲突测试_B_14点-16点', 103, 1, '2026-06-15 14:00:00', '2026-06-15 16:00:00', 15, 0, '0', '普拉提教室', '测试用团课B,与团课A时间重叠(14:00-15:00)', 1, 0.00, 'admin', '2026-06-02 10:00:00', '2026-06-02 10:00:00');
|
||||
|
||||
-- 团课C: 6月15日 10:00 - 12:00 (不冲突,作为对照)
|
||||
INSERT INTO group_course (course_name, coach_id, course_type, start_time, end_time, max_members, current_members, status, location, description, point_card_amount, stored_value_amount, create_by, created_at, updated_at) VALUES
|
||||
('时间冲突测试_C_10点-12点', 101, 1, '2026-06-15 10:00:00', '2026-06-15 12:00:00', 15, 0, '0', '瑜伽教室', '测试用团课C,与团课A/B不冲突', 1, 0.00, 'admin', '2026-06-02 10:00:00', '2026-06-02 10:00:00');
|
||||
|
||||
-- ============================================
|
||||
-- 3. 会员卡记录(用于预约)
|
||||
-- ============================================
|
||||
|
||||
-- 为时间冲突测试会员创建有效次数卡
|
||||
INSERT INTO member_card_record (member_id, member_card_id, status, remaining_times, remaining_amount, expire_time, purchase_time, version, card_composition, created_at, updated_at) VALUES
|
||||
((SELECT id FROM member_user WHERE member_no = 'MEM_TIME_CONFLICT'), (SELECT member_card_id FROM member_card WHERE member_card_name = '10次卡'), 'ACTIVE', 10, 0.00, '2026-12-31 23:59:59', '2026-06-02 10:00:00', 0, '{}', '2026-06-02 10:00:00', '2026-06-02 10:00:00');
|
||||
|
||||
-- ============================================
|
||||
-- 4. 测试场景说明
|
||||
-- ============================================
|
||||
--
|
||||
-- 测试步骤:
|
||||
-- 1. 使用会员 MEM_TIME_CONFLICT 预约团课A (course_name='时间冲突测试_A_13点-15点')
|
||||
-- → 预期:预约成功
|
||||
--
|
||||
-- 2. 使用会员 MEM_TIME_CONFLICT 预约团课B (course_name='时间冲突测试_B_14点-16点')
|
||||
-- → 预期:预约失败,提示时间冲突(14:00-15:00与已预约的团课A重叠)
|
||||
--
|
||||
-- 3. 使用会员 MEM_TIME_CONFLICT 预约团课C (course_name='时间冲突测试_C_10点-12点')
|
||||
-- → 预期:预约成功(与团课A时间不冲突)
|
||||
--
|
||||
-- 时间冲突判断逻辑:
|
||||
-- 新课程开始时间 < 已预约课程结束时间 AND 新课程结束时间 > 已预约课程开始时间
|
||||
-- 即:newStartTime < existingEndTime AND newEndTime > existingStartTime
|
||||
--
|
||||
-- 本测试数据中的时间关系:
|
||||
-- - 团课A: 13:00 - 15:00
|
||||
-- - 团课B: 14:00 - 16:00
|
||||
-- → 14:00 < 15:00 AND 16:00 > 13:00 → 冲突
|
||||
-- - 团课C: 10:00 - 12:00
|
||||
-- → 10:00 < 15:00 AND 12:00 > 13:00 → 12:00 > 13:00 不成立 → 不冲突
|
||||
+4
@@ -16,6 +16,8 @@ CREATE TABLE IF NOT EXISTS group_course (
|
||||
location VARCHAR(255),
|
||||
cover_image VARCHAR(500),
|
||||
description TEXT,
|
||||
point_card_amount INTEGER DEFAULT 1,
|
||||
stored_value_amount DECIMAL(10,2) DEFAULT 0,
|
||||
create_by VARCHAR(50),
|
||||
update_by VARCHAR(50),
|
||||
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
@@ -52,6 +54,8 @@ COMMENT ON COLUMN group_course.status IS '状态(0正常 1已取消 2已结束
|
||||
COMMENT ON COLUMN group_course.location IS '上课地点';
|
||||
COMMENT ON COLUMN group_course.cover_image IS '封面图URL';
|
||||
COMMENT ON COLUMN group_course.description IS '课程描述';
|
||||
COMMENT ON COLUMN group_course.point_card_amount IS '点卡额度(消耗次数)';
|
||||
COMMENT ON COLUMN group_course.stored_value_amount IS '储值卡额度(消耗金额)';
|
||||
COMMENT ON COLUMN group_course.create_by IS '创建人';
|
||||
COMMENT ON COLUMN group_course.update_by IS '更新人';
|
||||
COMMENT ON COLUMN group_course.created_at IS '创建时间';
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
-- 场景1: 0人预约,可预约(正常状态,6月15日,距开始还有14天)
|
||||
INSERT INTO group_course (course_name, coach_id, course_type, start_time, end_time, max_members, current_members, status, location, cover_image, description, create_by, created_at, updated_at) VALUES
|
||||
('极速燃脂单车', 104, 2, '2026-06-15 19:30:00', '2026-06-15 20:20:00', 25, 0, 0, '单车房', '/images/spinning.jpg', '跟随音乐节奏变换阻力和速度,体验爬坡与冲刺的快感,一节课消耗800大卡。', 'admin', '2026-06-01 11:00:00', '2026-06-01 11:00:00');
|
||||
('极速燃脂单车', 104, 2, '2026-06-02 16:45:00', '2026-06-15 20:20:00', 25, 0, 0, '单车房', '/images/spinning.jpg', '跟随音乐节奏变换阻力和速度,体验爬坡与冲刺的快感,一节课消耗800大卡。', 'admin', '2026-06-01 11:00:00', '2026-06-01 11:00:00');
|
||||
|
||||
-- 场景2: 已有人预约,可预约(正常状态,6月12日,5/15人)
|
||||
INSERT INTO group_course (course_name, coach_id, course_type, start_time, end_time, max_members, current_members, status, location, cover_image, description, create_by, created_at, updated_at) VALUES
|
||||
|
||||
Reference in New Issue
Block a user