| | |
| | | (2117, 2110, '解绑微信', 'member_user_unbind_wechat', 'B', NULL, NULL, NULL, 7, 1, 1, 'member:user:unbind-wechat', '解绑微信按钮', 0), |
| | | (3000, 0, '课程与学习', 'live_root', 'M', '/live', NULL, 'read', 300, 1, 1, NULL, '课程与学习模块', 0), |
| | | (3050, 3000, '课程管理', 'live_course_manage_root', 'M', '/live/course', NULL, NULL, 10, 1, 1, NULL, '课程管理目录', 0), |
| | | (3060, 3050, '养身直播', 'live_course_broadcast_manage', 'C', '/live/course/broadcast', 'Live/BroadcastList', NULL, 10, 1, 1, 'live:course:view', '养身直播菜单', 0), |
| | | (3061, 3060, '直播详情', 'live_course_detail', 'B', NULL, NULL, NULL, 1, 1, 1, 'live:course:detail', '养身直播详情按钮', 0), |
| | | (3062, 3060, '编辑直播', 'live_course_edit', 'B', NULL, NULL, NULL, 2, 1, 1, 'live:course:edit', '养身直播编辑按钮', 0), |
| | | (3063, 3060, '启用禁用直播', 'live_course_status', 'B', NULL, NULL, NULL, 3, 1, 1, 'live:course:status', '养身直播状态按钮', 0), |
| | | (3060, 3050, '养生直播', 'live_course_broadcast_manage', 'C', '/live/course/broadcast', 'Live/BroadcastList', NULL, 10, 1, 1, 'live:course:view', '养生直播菜单', 0), |
| | | (3061, 3060, '直播详情', 'live_course_detail', 'B', NULL, NULL, NULL, 1, 1, 1, 'live:course:detail', '养生直播详情按钮', 0), |
| | | (3062, 3060, '编辑直播', 'live_course_edit', 'B', NULL, NULL, NULL, 2, 1, 1, 'live:course:edit', '养生直播编辑按钮', 0), |
| | | (3063, 3060, '启用禁用直播', 'live_course_status', 'B', NULL, NULL, NULL, 3, 1, 1, 'live:course:status', '养生直播状态按钮', 0), |
| | | (3070, 3060, '场次管理', 'live_session_manage', 'B', NULL, NULL, NULL, 10, 1, 1, 'live:session:detail', '直播场次管理权限', 0), |
| | | (3071, 3060, '新增场次', 'live_session_add', 'B', NULL, NULL, NULL, 11, 1, 1, 'live:session:add', '直播场次新增按钮', 0), |
| | | (3072, 3060, '编辑场次', 'live_session_edit', 'B', NULL, NULL, NULL, 12, 1, 1, 'live:session:edit', '直播场次编辑按钮', 0), |
| | |
| | | (3102, 3100, '编辑授课专家', 'live_expert_edit', 'B', NULL, NULL, NULL, 2, 1, 1, 'live:expert:edit', '授课专家编辑按钮', 0), |
| | | (3103, 3100, '启用禁用授课专家', 'live_expert_status', 'B', NULL, NULL, NULL, 3, 1, 1, 'live:expert:status', '授课专家状态按钮', 0), |
| | | (3104, 3100, '删除授课专家', 'live_expert_delete', 'B', NULL, NULL, NULL, 4, 1, 1, 'live:expert:delete', '授课专家删除按钮', 0), |
| | | (3110, 3050, '养身课程', 'live_health_course_manage', 'C', '/live/course/health', 'Live/HealthCourseList', NULL, 40, 1, 1, 'live:health-course:view', '养身课程菜单', 0), |
| | | (3111, 3110, '养身课程详情', 'live_health_course_detail', 'B', NULL, NULL, NULL, 1, 1, 1, 'live:health-course:detail', '养身课程详情按钮', 0), |
| | | (3112, 3110, '新增养身课程', 'live_health_course_add', 'B', NULL, NULL, NULL, 2, 1, 1, 'live:health-course:add', '养身课程新增按钮', 0), |
| | | (3113, 3110, '编辑养身课程', 'live_health_course_edit', 'B', NULL, NULL, NULL, 3, 1, 1, 'live:health-course:edit', '养身课程编辑按钮', 0), |
| | | (3114, 3110, '删除养身课程', 'live_health_course_delete', 'B', NULL, NULL, NULL, 4, 1, 1, 'live:health-course:delete', '养身课程删除按钮', 0), |
| | | (3115, 3110, '启用禁用养身课程', 'live_health_course_status', 'B', NULL, NULL, NULL, 5, 1, 1, 'live:health-course:status', '养身课程状态按钮', 0), |
| | | (3116, 3110, '导出养身课程', 'live_health_course_export', 'B', NULL, NULL, NULL, 6, 1, 1, 'live:health-course:export', '养身课程导出按钮', 0), |
| | | (3117, 3110, '新增视频课程', 'live_health_course_video_add', 'B', NULL, NULL, NULL, 7, 1, 1, 'live:health-course:video:add', '养身课程视频新增按钮', 0), |
| | | (3118, 3110, '编辑视频课程', 'live_health_course_video_edit', 'B', NULL, NULL, NULL, 8, 1, 1, 'live:health-course:video:edit', '养身课程视频编辑按钮', 0), |
| | | (3119, 3110, '删除视频课程', 'live_health_course_video_delete', 'B', NULL, NULL, NULL, 9, 1, 1, 'live:health-course:video:delete', '养身课程视频删除按钮', 0), |
| | | (3110, 3050, '养生课程', 'live_health_course_manage', 'C', '/live/course/health', 'Live/HealthCourseList', NULL, 40, 1, 1, 'live:health-course:view', '养生课程菜单', 0), |
| | | (3111, 3110, '养生课程详情', 'live_health_course_detail', 'B', NULL, NULL, NULL, 1, 1, 1, 'live:health-course:detail', '养生课程详情按钮', 0), |
| | | (3112, 3110, '新增养生课程', 'live_health_course_add', 'B', NULL, NULL, NULL, 2, 1, 1, 'live:health-course:add', '养生课程新增按钮', 0), |
| | | (3113, 3110, '编辑养生课程', 'live_health_course_edit', 'B', NULL, NULL, NULL, 3, 1, 1, 'live:health-course:edit', '养生课程编辑按钮', 0), |
| | | (3114, 3110, '删除养生课程', 'live_health_course_delete', 'B', NULL, NULL, NULL, 4, 1, 1, 'live:health-course:delete', '养生课程删除按钮', 0), |
| | | (3115, 3110, '启用禁用养生课程', 'live_health_course_status', 'B', NULL, NULL, NULL, 5, 1, 1, 'live:health-course:status', '养生课程状态按钮', 0), |
| | | (3116, 3110, '导出养生课程', 'live_health_course_export', 'B', NULL, NULL, NULL, 6, 1, 1, 'live:health-course:export', '养生课程导出按钮', 0), |
| | | (3117, 3110, '新增视频课程', 'live_health_course_video_add', 'B', NULL, NULL, NULL, 7, 1, 1, 'live:health-course:video:add', '养生课程视频新增按钮', 0), |
| | | (3118, 3110, '编辑视频课程', 'live_health_course_video_edit', 'B', NULL, NULL, NULL, 8, 1, 1, 'live:health-course:video:edit', '养生课程视频编辑按钮', 0), |
| | | (3119, 3110, '删除视频课程', 'live_health_course_video_delete', 'B', NULL, NULL, NULL, 9, 1, 1, 'live:health-course:video:delete', '养生课程视频删除按钮', 0), |
| | | (3120, 3050, '健康科普', 'live_health_popularization_manage', 'C', '/live/course/health-popularization', 'Live/HealthPopularizationList', NULL, 50, 1, 1, 'live:health-popularization:view', '健康科普菜单', 0), |
| | | (3121, 3120, '新增健康科普', 'live_health_popularization_add', 'B', NULL, NULL, NULL, 1, 1, 1, 'live:health-popularization:add', '健康科普新增按钮', 0), |
| | | (3122, 3120, '编辑健康科普', 'live_health_popularization_edit', 'B', NULL, NULL, NULL, 2, 1, 1, 'live:health-popularization:edit', '健康科普编辑按钮', 0), |
| | | (3123, 3120, '删除健康科普', 'live_health_popularization_delete', 'B', NULL, NULL, NULL, 3, 1, 1, 'live:health-popularization:delete', '健康科普删除按钮', 0), |
| | | (4000, 0, '交易与财务', 'trade_root', 'M', '/trade', NULL, 'moneyCollect', 400, 1, 1, NULL, '交易与财务模块', 0), |
| | | (4100, 4000, '订单', 'trade_order_group', 'M', '/trade/order', NULL, NULL, 10, 1, 1, NULL, '订单目录', 0), |
| | | (4130, 4100, '养生课程购买订单', 'trade_health_course_purchase_order', 'C', '/trade/order/course-purchase', 'Trade/CoursePurchase', NULL, 8, 1, 1, 'course:purchase-order:view', '养生课程购买订单菜单', 0), |
| | | (4131, 4130, '导出养生课程购买订单', 'trade_health_course_purchase_order_export', 'B', NULL, NULL, NULL, 1, 1, 1, 'course:purchase-order:export', '养生课程购买订单导出按钮', 0), |
| | | (4132, 4130, '退款养生课程购买订单', 'trade_health_course_purchase_order_refund', 'B', NULL, NULL, NULL, 2, 1, 1, 'course:purchase-order:refund', '养生课程购买订单退款按钮', 0), |
| | | (4133, 4130, '删除养生课程购买订单', 'trade_health_course_purchase_order_delete', 'B', NULL, NULL, NULL, 3, 1, 1, 'course:purchase-order:delete', '养生课程购买订单删除按钮', 0), |
| | | (4120, 4100, '会员购买订单', 'trade_member_purchase_order', 'C', '/trade/order/member-purchase', 'Trade/MemberPurchase', NULL, 9, 1, 1, 'member:purchase-order:view', '会员购买订单菜单', 0), |
| | | (4121, 4120, '导出会员购买订单', 'trade_member_purchase_order_export', 'B', NULL, NULL, NULL, 1, 1, 1, 'member:purchase-order:export', '会员购买订单导出按钮', 0), |
| | | (4122, 4120, '退款会员购买订单', 'trade_member_purchase_order_refund', 'B', NULL, NULL, NULL, 2, 1, 1, 'member:purchase-order:refund', '会员购买订单退款按钮', 0), |
| | | (4123, 4120, '删除会员购买订单', 'trade_member_purchase_order_delete', 'B', NULL, NULL, NULL, 3, 1, 1, 'member:purchase-order:delete', '会员购买订单删除按钮', 0), |
| | | (4110, 4100, '积分兑换', 'trade_points_exchange', 'C', '/trade/order/points-exchange', 'Trade/PointsExchange', NULL, 10, 1, 1, 'points:exchange:view', '积分兑换菜单', 0), |
| | | (4111, 4110, '兑换详情', 'trade_points_exchange_detail', 'B', NULL, NULL, NULL, 1, 1, 1, 'points:exchange:detail', '积分兑换详情按钮', 0), |
| | | (4112, 4110, '积分兑换发货', 'trade_points_exchange_ship', 'B', NULL, NULL, NULL, 2, 1, 1, 'points:exchange:ship', '积分兑换发货按钮', 0), |
| | | (4113, 4110, '积分兑换删除', 'trade_points_exchange_delete', 'B', NULL, NULL, NULL, 3, 1, 1, 'points:exchange:delete', '积分兑换删除按钮', 0), |
| | | (4114, 4110, '积分兑换导出', 'trade_points_exchange_export', 'B', NULL, NULL, NULL, 4, 1, 1, 'points:exchange:export', '积分兑换导出按钮', 0), |
| | | (4200, 4000, '财务流水', 'trade_finance_flow_group', 'M', '/trade/flow', NULL, NULL, 20, 1, 1, NULL, '财务流水目录', 0), |
| | | (4210, 4200, '积分收支明细', 'trade_points_ledger', 'C', '/trade/flow/points-ledger', 'Trade/PointsLedger', NULL, 10, 1, 1, 'points:ledger:view', '积分收支明细菜单', 0), |
| | | (4220, 4200, '支付流水', 'trade_payment_flow', 'C', '/trade/flow/payment-flow', 'Trade/PaymentFlow', NULL, 10, 1, 1, 'payment:flow:view', '支付流水菜单', 0), |
| | | (4221, 4220, '导出支付流水', 'trade_payment_flow_export', 'B', NULL, NULL, NULL, 1, 1, 1, 'payment:flow:export', '支付流水导出按钮', 0), |
| | | (4230, 4200, '退费流水', 'trade_refund_flow', 'C', '/trade/flow/refund-flow', 'Trade/RefundFlow', NULL, 20, 1, 1, 'refund:flow:view', '退费流水菜单', 0), |
| | | (4231, 4230, '导出退费流水', 'trade_refund_flow_export', 'B', NULL, NULL, NULL, 1, 1, 1, 'refund:flow:export', '退费流水导出按钮', 0), |
| | | (4210, 4200, '积分收支明细', 'trade_points_ledger', 'C', '/trade/flow/points-ledger', 'Trade/PointsLedger', NULL, 30, 1, 1, 'points:ledger:view', '积分收支明细菜单', 0), |
| | | (4211, 4210, '导出积分收支明细', 'trade_points_ledger_export', 'B', NULL, NULL, NULL, 1, 1, 1, 'points:ledger:export', '积分收支明细导出按钮', 0); |
| | | |
| | | INSERT IGNORE INTO `sys_role_menu` (`role_id`, `menu_id`) |
| | |
| | | (1, 3080), (1, 3081), (1, 3082), (1, 3090), (1, 3091), (1, 3092), (1, 3093), |
| | | (1, 3100), (1, 3101), (1, 3102), (1, 3103), (1, 3104), |
| | | (1, 3110), (1, 3111), (1, 3112), (1, 3113), (1, 3114), (1, 3115), (1, 3116), (1, 3117), (1, 3118), (1, 3119), |
| | | (1, 4000), (1, 4100), (1, 4110), (1, 4111), (1, 4112), (1, 4113), (1, 4114), |
| | | (1, 4200), (1, 4210), (1, 4211); |
| | | (1, 3120), (1, 3121), (1, 3122), (1, 3123), |
| | | (1, 4000), (1, 4100), (1, 4110), (1, 4111), (1, 4112), (1, 4113), (1, 4114), (1, 4120), (1, 4121), (1, 4122), (1, 4123), (1, 4130), (1, 4131), (1, 4132), (1, 4133), |
| | | (1, 4200), (1, 4210), (1, 4211), (1, 4220), (1, 4221), (1, 4230), (1, 4231); |
| | | |
| | | -- ---------------------------- |
| | | -- 养生直播:专家(最小) |
| | |
| | | (1, 69.00, 30, 1, 199.00, 90, 1, 0); |
| | | |
| | | -- ---------------------------- |
| | | -- 会员购买订单 |
| | | -- ---------------------------- |
| | | CREATE TABLE IF NOT EXISTS `tcm_member_purchase_order` ( |
| | | `id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT, |
| | | `order_no` VARCHAR(32) NOT NULL COMMENT '订单编号', |
| | | `app_user_id` BIGINT UNSIGNED NOT NULL COMMENT '用户ID', |
| | | `user_nickname` VARCHAR(64) DEFAULT NULL COMMENT '用户昵称快照', |
| | | `user_phone` VARCHAR(20) DEFAULT NULL COMMENT '用户手机号快照', |
| | | `member_type` VARCHAR(32) NOT NULL COMMENT '会员类型:MONTH_CARD月卡 QUARTER_CARD季卡', |
| | | `member_days` INT NOT NULL COMMENT '会员时长天数快照', |
| | | `order_amount` DECIMAL(10,2) NOT NULL COMMENT '订单金额快照', |
| | | `payment_method` VARCHAR(32) NOT NULL COMMENT '付款方式:WECHAT微信 ALIPAY支付宝', |
| | | `refund_amount` DECIMAL(10,2) DEFAULT NULL COMMENT '退款金额', |
| | | `refund_remark` VARCHAR(255) DEFAULT NULL COMMENT '退款备注', |
| | | `status` VARCHAR(32) NOT NULL COMMENT '订单状态:WAITING_PAYMENT待支付 PAID已支付 REFUNDED已退款 CANCELLED已取消', |
| | | `paid_at` DATETIME DEFAULT NULL COMMENT '支付时间', |
| | | `refunded_at` DATETIME DEFAULT NULL COMMENT '退款时间', |
| | | `cancelled_at` DATETIME DEFAULT NULL COMMENT '取消时间', |
| | | `deleted` TINYINT(1) NOT NULL DEFAULT 0, |
| | | `created_by` VARCHAR(64) NOT NULL DEFAULT '系统初始化' COMMENT '创建人', |
| | | `updated_by` VARCHAR(64) NOT NULL DEFAULT '系统初始化' COMMENT '更新人', |
| | | `created_at` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, |
| | | `updated_at` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, |
| | | PRIMARY KEY (`id`), |
| | | UNIQUE KEY `uk_member_purchase_order_no` (`order_no`), |
| | | KEY `idx_member_purchase_order_user` (`app_user_id`), |
| | | KEY `idx_member_purchase_order_status` (`status`), |
| | | KEY `idx_member_purchase_order_member_type` (`member_type`), |
| | | KEY `idx_member_purchase_order_payment_method` (`payment_method`) |
| | | ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='会员购买订单表'; |
| | | |
| | | INSERT IGNORE INTO `tcm_member_purchase_order` |
| | | (`id`, `order_no`, `app_user_id`, `user_nickname`, `user_phone`, `member_type`, `member_days`, `order_amount`, |
| | | `payment_method`, `refund_amount`, `refund_remark`, `status`, `paid_at`, `refunded_at`, `cancelled_at`, `deleted`) |
| | | VALUES |
| | | (1, 'MPO202310130001', 200, '王美丽', '14712346905', 'MONTH_CARD', 30, 251.50, 'ALIPAY', NULL, NULL, 'PAID', |
| | | '2023-10-13 18:00:00', NULL, NULL, 0), |
| | | (2, 'MPO202310130002', 200, '王美丽', '14712346905', 'QUARTER_CARD', 90, 251.50, 'WECHAT', 251.50, '用户申请退款', |
| | | 'REFUNDED', '2023-10-12 15:20:00', '2023-10-13 09:15:00', NULL, 0), |
| | | (3, 'MPO202310130003', 200, '王美丽', '14712346905', 'MONTH_CARD', 30, 69.00, 'WECHAT', NULL, NULL, 'WAITING_PAYMENT', |
| | | NULL, NULL, NULL, 0), |
| | | (4, 'MPO202310130004', 200, '王美丽', '14712346905', 'QUARTER_CARD', 90, 199.00, 'ALIPAY', NULL, NULL, 'CANCELLED', |
| | | NULL, NULL, '2023-10-11 08:30:00', 0); |
| | | |
| | | -- ---------------------------- |
| | | -- 课程购买订单 |
| | | -- ---------------------------- |
| | | CREATE TABLE IF NOT EXISTS `tcm_course_purchase_order` ( |
| | | `id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT, |
| | | `order_no` VARCHAR(32) NOT NULL COMMENT '订单编号', |
| | | `app_user_id` BIGINT UNSIGNED NOT NULL COMMENT '用户ID', |
| | | `user_nickname` VARCHAR(64) DEFAULT NULL COMMENT '用户昵称快照', |
| | | `user_phone` VARCHAR(20) DEFAULT NULL COMMENT '用户手机号快照', |
| | | `course_type` VARCHAR(32) NOT NULL COMMENT '课程类型:HEALTH_COURSE养生课程,可扩展', |
| | | `purchase_target_type` VARCHAR(32) NOT NULL COMMENT '购买对象类型:COURSE整课 COURSE_CHAPTER课程小节', |
| | | `course_id` BIGINT UNSIGNED NOT NULL COMMENT '课程ID', |
| | | `course_video_id` BIGINT UNSIGNED DEFAULT NULL COMMENT '课程小节ID(整课购买为空)', |
| | | `product_name_snapshot` VARCHAR(255) NOT NULL COMMENT '商品名称快照:整课=课程名称 小节=课程名称-小节名称', |
| | | `course_title_snapshot` VARCHAR(128) NOT NULL COMMENT '课程名称快照', |
| | | `chapter_name_snapshot` VARCHAR(128) DEFAULT NULL COMMENT '小节名称快照', |
| | | `cover_img_snapshot` VARCHAR(255) DEFAULT NULL COMMENT '课程封面图快照', |
| | | `order_amount` DECIMAL(10,2) NOT NULL COMMENT '订单金额快照', |
| | | `payment_method` VARCHAR(32) NOT NULL COMMENT '付款方式:WECHAT微信 ALIPAY支付宝', |
| | | `refund_amount` DECIMAL(10,2) DEFAULT NULL COMMENT '退款金额', |
| | | `refund_remark` VARCHAR(255) DEFAULT NULL COMMENT '退款备注', |
| | | `status` VARCHAR(32) NOT NULL COMMENT '订单状态:WAITING_PAYMENT待支付 PAID已支付 REFUNDED已退款 CANCELLED已取消', |
| | | `paid_at` DATETIME DEFAULT NULL COMMENT '支付时间', |
| | | `refunded_at` DATETIME DEFAULT NULL COMMENT '退款时间', |
| | | `cancelled_at` DATETIME DEFAULT NULL COMMENT '取消时间', |
| | | `deleted` TINYINT(1) NOT NULL DEFAULT 0, |
| | | `created_by` VARCHAR(64) NOT NULL DEFAULT '系统初始化' COMMENT '创建人', |
| | | `updated_by` VARCHAR(64) NOT NULL DEFAULT '系统初始化' COMMENT '更新人', |
| | | `created_at` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, |
| | | `updated_at` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, |
| | | PRIMARY KEY (`id`), |
| | | UNIQUE KEY `uk_course_purchase_order_no` (`order_no`), |
| | | KEY `idx_course_purchase_order_user` (`app_user_id`), |
| | | KEY `idx_course_purchase_order_status` (`status`), |
| | | KEY `idx_course_purchase_order_course_type` (`course_type`), |
| | | KEY `idx_course_purchase_order_target_type` (`purchase_target_type`), |
| | | KEY `idx_course_purchase_order_course` (`course_id`), |
| | | KEY `idx_course_purchase_order_course_video` (`course_video_id`), |
| | | KEY `idx_course_purchase_order_payment_method` (`payment_method`) |
| | | ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='课程购买订单表'; |
| | | |
| | | -- ---------------------------- |
| | | -- 支付流水 |
| | | -- ---------------------------- |
| | | CREATE TABLE IF NOT EXISTS `tcm_payment_flow` ( |
| | | `id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT, |
| | | `flow_no` VARCHAR(64) NOT NULL COMMENT '平台流水号', |
| | | `business_type` VARCHAR(32) NOT NULL COMMENT '业务类型:COURSE_PURCHASE课程购买 MEMBER_PURCHASE会员购买', |
| | | `business_order_id` BIGINT UNSIGNED NOT NULL COMMENT '业务订单ID', |
| | | `business_order_no` VARCHAR(32) NOT NULL COMMENT '业务订单编号', |
| | | `flow_type` VARCHAR(32) NOT NULL COMMENT '流水类型:PAYMENT支付 REFUND退款', |
| | | `trade_status` VARCHAR(32) NOT NULL COMMENT '交易状态:SUCCESS成功 REFUNDED已退款', |
| | | `app_user_id` BIGINT UNSIGNED NOT NULL COMMENT '用户ID', |
| | | `user_nickname` VARCHAR(64) DEFAULT NULL COMMENT '用户昵称快照', |
| | | `user_phone` VARCHAR(20) DEFAULT NULL COMMENT '用户手机号快照', |
| | | `product_name_snapshot` VARCHAR(255) NOT NULL COMMENT '商品名称快照', |
| | | `payment_method` VARCHAR(32) NOT NULL COMMENT '支付方式:WECHAT微信 ALIPAY支付宝', |
| | | `transaction_amount` DECIMAL(10,2) NOT NULL COMMENT '交易金额', |
| | | `third_party_trade_no` VARCHAR(64) DEFAULT NULL COMMENT '第三方支付单号', |
| | | `third_party_refund_no` VARCHAR(64) DEFAULT NULL COMMENT '第三方退款单号', |
| | | `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注', |
| | | `trade_time` DATETIME NOT NULL COMMENT '交易时间', |
| | | `source_type` VARCHAR(32) NOT NULL COMMENT '来源类型:COURSE_PAYMENT课程支付 COURSE_REFUND课程退款 MEMBER_PAYMENT会员支付 MEMBER_REFUND会员退款', |
| | | `source_id` BIGINT UNSIGNED NOT NULL COMMENT '来源记录ID', |
| | | `deleted` TINYINT(1) NOT NULL DEFAULT 0, |
| | | `created_by` VARCHAR(64) NOT NULL DEFAULT '系统初始化' COMMENT '创建人', |
| | | `updated_by` VARCHAR(64) NOT NULL DEFAULT '系统初始化' COMMENT '更新人', |
| | | `created_at` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, |
| | | `updated_at` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, |
| | | PRIMARY KEY (`id`), |
| | | UNIQUE KEY `uk_payment_flow_no` (`flow_no`), |
| | | UNIQUE KEY `uk_payment_flow_source` (`source_type`, `source_id`), |
| | | KEY `idx_payment_flow_business_order` (`business_type`, `business_order_id`), |
| | | KEY `idx_payment_flow_business_order_no` (`business_order_no`), |
| | | KEY `idx_payment_flow_user` (`app_user_id`), |
| | | KEY `idx_payment_flow_flow_type` (`flow_type`), |
| | | KEY `idx_payment_flow_trade_status` (`trade_status`), |
| | | KEY `idx_payment_flow_payment_method` (`payment_method`), |
| | | KEY `idx_payment_flow_trade_time` (`trade_time`) |
| | | ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='支付流水表'; |
| | | |
| | | -- ---------------------------- |
| | | -- 会员介绍配置 |
| | | -- ---------------------------- |
| | | CREATE TABLE IF NOT EXISTS `tcm_member_intro_config` ( |
| | |
| | | (6, 'DIFFICULTY', '困难', 30, 0); |
| | | |
| | | -- ---------------------------- |
| | | -- 养身课程 |
| | | -- 养生课程 |
| | | -- ---------------------------- |
| | | CREATE TABLE IF NOT EXISTS `tcm_health_course` ( |
| | | `id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '养身课程ID', |
| | | `id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '养生课程ID', |
| | | `title` VARCHAR(128) NOT NULL COMMENT '课程名称', |
| | | `level_category_id` BIGINT UNSIGNED NOT NULL COMMENT '养身等级分类ID', |
| | | `level_category_id` BIGINT UNSIGNED NOT NULL COMMENT '养生等级分类ID', |
| | | `difficulty_category_id` BIGINT UNSIGNED NOT NULL COMMENT '难度分类ID', |
| | | `expert_id` BIGINT UNSIGNED NOT NULL COMMENT '授课专家ID', |
| | | `sale_price` DECIMAL(10,2) NOT NULL DEFAULT 0.00 COMMENT '课程售价', |
| | |
| | | KEY `idx_health_course_status` (`status`), |
| | | KEY `idx_health_course_home_recommend` (`is_home_recommend`), |
| | | KEY `idx_health_course_created_at` (`created_at`) |
| | | ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='养身课程表'; |
| | | ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='养生课程表'; |
| | | |
| | | INSERT IGNORE INTO `tcm_health_course` |
| | | (`id`, `title`, `level_category_id`, `difficulty_category_id`, `expert_id`, `sale_price`, `summary`, `target_users`, `cover_img`, `banner_imgs`, `content`, `base_sales_count`, `real_sales_count`, `learn_user_count`, `favorite_count`, `total_duration_seconds`, `video_count`, `status`, `is_home_recommend`, `sort`, `deleted`) |
| | | VALUES |
| | | (1, '中医针灸资格证', 1, 4, 10, 599.80, '面向针灸入门与基础提升的系统课程。', '针灸初学者、养身爱好者', |
| | | (1, '中医针灸资格证', 1, 4, 10, 599.80, '面向针灸入门与基础提升的系统课程。', '针灸初学者、养生爱好者', |
| | | 'https://example.com/health/course-1-cover.png', |
| | | JSON_ARRAY('https://example.com/health/course-1-banner-1.png', 'https://example.com/health/course-1-banner-2.png', 'https://example.com/health/course-1-banner-3.png'), |
| | | '<p>课程介绍:覆盖针灸基础理论、常见穴位与实操思路。</p>', |
| | |
| | | |
| | | CREATE TABLE IF NOT EXISTS `tcm_health_course_video` ( |
| | | `id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '视频小节ID', |
| | | `course_id` BIGINT UNSIGNED NOT NULL COMMENT '所属养身课程ID', |
| | | `course_type` TINYINT NOT NULL DEFAULT 1 COMMENT '课程类型:1养生课程', |
| | | `course_id` BIGINT UNSIGNED NOT NULL COMMENT '所属养生课程ID', |
| | | `chapter_name` VARCHAR(128) NOT NULL COMMENT '小节名称', |
| | | `chapter_remark` VARCHAR(500) DEFAULT NULL COMMENT '小节备注', |
| | | `video_source_type` TINYINT NOT NULL DEFAULT 1 COMMENT '视频来源:1视频地址 2本地上传', |
| | | `video_url` VARCHAR(512) DEFAULT NULL COMMENT '视频地址', |
| | | `video_file_name` VARCHAR(255) DEFAULT NULL COMMENT '本地上传原始文件名', |
| | | `duration_seconds` INT NOT NULL DEFAULT 0 COMMENT '视频时长(秒)', |
| | | `sale_type` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '售价类型:0免费 1收费', |
| | | `sale_price` DECIMAL(10,2) NOT NULL DEFAULT 0.00 COMMENT '小节售价', |
| | | `play_count` INT NOT NULL DEFAULT 0 COMMENT '播放次数', |
| | | `sort` INT NOT NULL DEFAULT 0 COMMENT '排序值', |
| | | `status` TINYINT(1) NOT NULL DEFAULT 1 COMMENT '状态:1启用 0禁用', |
| | | `deleted` TINYINT(1) NOT NULL DEFAULT 0, |
| | |
| | | PRIMARY KEY (`id`), |
| | | KEY `idx_health_course_video_course_sort` (`course_id`, `sort`), |
| | | KEY `idx_health_course_video_status` (`course_id`, `status`), |
| | | KEY `idx_health_course_video_sale_type` (`sale_type`) |
| | | ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='养身课程视频小节表'; |
| | | KEY `idx_health_course_video_type_status` (`course_type`, `status`) |
| | | ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='养生课程视频小节表'; |
| | | |
| | | INSERT IGNORE INTO `tcm_health_course_video` |
| | | (`id`, `course_id`, `chapter_name`, `chapter_remark`, `video_url`, `duration_seconds`, `sale_type`, `sale_price`, `play_count`, `sort`, `status`, `deleted`) |
| | | (`id`, `course_type`, `course_id`, `chapter_name`, `video_source_type`, `video_url`, `video_file_name`, `duration_seconds`, `sale_price`, `sort`, `status`, `deleted`) |
| | | VALUES |
| | | (1, 1, '方剂学', '赠送添加视频课程页,需自动传入课程', 'https://example.com/health/course-1-video-1.mp4', 238, 0, 0.00, 358, 10, 1, 0), |
| | | (2, 1, '药剂学', '系统课程配套讲解', 'https://example.com/health/course-1-video-2.mp4', 238, 1, 5999.99, 358, 20, 1, 0), |
| | | (3, 1, '方剂学进阶', '面向基础学习后的专题补充', 'https://example.com/health/course-1-video-3.mp4', 642, 1, 5999.99, 358, 30, 1, 0); |
| | | (1, 1, 1, '方剂学', 1, 'https://example.com/health/course-1-video-1.mp4', NULL, 238, 0.00, 10, 1, 0), |
| | | (2, 1, 1, '药剂学', 1, 'https://example.com/health/course-1-video-2.mp4', NULL, 238, 5999.99, 20, 1, 0), |
| | | (3, 1, 1, '方剂学进阶', 1, 'https://example.com/health/course-1-video-3.mp4', NULL, 642, 5999.99, 30, 1, 0); |
| | | |
| | | CREATE TABLE IF NOT EXISTS `tcm_health_popularization` ( |
| | | `id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '健康科普ID', |
| | | `title` VARCHAR(128) NOT NULL COMMENT '标题', |
| | | `cover_img` VARCHAR(255) NOT NULL COMMENT '封面图', |
| | | `content_type` TINYINT(1) NOT NULL DEFAULT 1 COMMENT '内容类型:1图文 2视频', |
| | | `content` LONGTEXT DEFAULT NULL COMMENT '图文内容', |
| | | `video_url` VARCHAR(512) DEFAULT NULL COMMENT '视频地址', |
| | | `video_file_name` VARCHAR(255) DEFAULT NULL COMMENT '视频文件名', |
| | | `status` TINYINT(1) NOT NULL DEFAULT 1 COMMENT '状态:1启用 0禁用', |
| | | `is_home_recommend` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '首页推荐:1是 0否', |
| | | `click_count` INT NOT NULL DEFAULT 0 COMMENT '点击量', |
| | | `sort` INT NOT NULL DEFAULT 0 COMMENT '排序值', |
| | | `deleted` TINYINT(1) NOT NULL DEFAULT 0, |
| | | `created_by` VARCHAR(64) NOT NULL DEFAULT '系统初始化' COMMENT '创建人', |
| | | `updated_by` VARCHAR(64) NOT NULL DEFAULT '系统初始化' COMMENT '更新人', |
| | | `created_at` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, |
| | | `updated_at` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, |
| | | PRIMARY KEY (`id`), |
| | | KEY `idx_health_popularization_type` (`content_type`), |
| | | KEY `idx_health_popularization_status` (`status`), |
| | | KEY `idx_health_popularization_home_recommend` (`is_home_recommend`), |
| | | KEY `idx_health_popularization_created_at` (`created_at`) |
| | | ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='健康科普表'; |
| | | |
| | | INSERT IGNORE INTO `tcm_health_popularization` |
| | | (`id`, `title`, `cover_img`, `content_type`, `content`, `video_url`, `video_file_name`, `status`, `is_home_recommend`, `click_count`, `sort`, `deleted`) |
| | | VALUES |
| | | (1, '春季养肝小常识', 'https://example.com/health/popularization-1-cover.png', 1, |
| | | '<p>春季宜养肝,规律作息、清淡饮食、适度运动有助于保持身体平衡。</p>', NULL, NULL, 1, 1, 153, 10, 0), |
| | | (2, '穴位按摩入门视频', 'https://example.com/health/popularization-2-cover.png', 2, |
| | | NULL, 'https://example.com/health/popularization-2-video.mp4', '穴位按摩入门.mp4', 1, 0, 89, 20, 0); |
| | | |
| | | INSERT IGNORE INTO `tcm_course_purchase_order` |
| | | (`id`, `order_no`, `app_user_id`, `user_nickname`, `user_phone`, `course_type`, `purchase_target_type`, `course_id`, |
| | | `course_video_id`, `product_name_snapshot`, `course_title_snapshot`, `chapter_name_snapshot`, `cover_img_snapshot`, |
| | | `order_amount`, `payment_method`, `refund_amount`, `refund_remark`, `status`, `paid_at`, `refunded_at`, `cancelled_at`, `deleted`) |
| | | VALUES |
| | | (1, 'CPO202310130001', 200, '王美丽', '14712346905', 'HEALTH_COURSE', 'COURSE', 1, |
| | | NULL, '中医针灸资格证', '中医针灸资格证', NULL, 'https://example.com/health/course-1-cover.png', |
| | | 599.80, 'ALIPAY', NULL, NULL, 'PAID', '2023-10-13 18:00:00', NULL, NULL, 0), |
| | | (2, 'CPO202310130002', 200, '王美丽', '14712346905', 'HEALTH_COURSE', 'COURSE_CHAPTER', 1, |
| | | 2, '中医针灸资格证-药剂学', '中医针灸资格证', '药剂学', 'https://example.com/health/course-1-cover.png', |
| | | 5999.99, 'WECHAT', 5999.99, '用户申请退款', 'REFUNDED', '2023-10-12 15:20:00', '2023-10-13 09:15:00', NULL, 0), |
| | | (3, 'CPO202310130003', 200, '王美丽', '14712346905', 'HEALTH_COURSE', 'COURSE_CHAPTER', 1, |
| | | 3, '中医针灸资格证-方剂学进阶', '中医针灸资格证', '方剂学进阶', 'https://example.com/health/course-1-cover.png', |
| | | 5999.99, 'WECHAT', NULL, NULL, 'WAITING_PAYMENT', NULL, NULL, NULL, 0), |
| | | (4, 'CPO202310130004', 200, '王美丽', '14712346905', 'HEALTH_COURSE', 'COURSE', 1, |
| | | NULL, '中医针灸资格证', '中医针灸资格证', NULL, 'https://example.com/health/course-1-cover.png', |
| | | 599.80, 'ALIPAY', NULL, NULL, 'CANCELLED', NULL, NULL, '2023-10-11 08:30:00', 0); |
| | | |
| | | CREATE TABLE IF NOT EXISTS `tcm_live_course` ( |
| | | `id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '直播课程ID', |