|
@@ -1091,7 +1091,7 @@ CREATE TABLE IF NOT EXISTS products (
|
|
|
domain VARCHAR(32) COMMENT '五维领域: action/mind/body/wisdom/wealth',
|
|
domain VARCHAR(32) COMMENT '五维领域: action/mind/body/wisdom/wealth',
|
|
|
dimension_weights JSON DEFAULT NULL COMMENT '五维权重百分比: {"body":0,"mind":0,"wisdom":0,"action":0,"wealth":0}',
|
|
dimension_weights JSON DEFAULT NULL COMMENT '五维权重百分比: {"body":0,"mind":0,"wisdom":0,"action":0,"wealth":0}',
|
|
|
profit_rate INT DEFAULT 0 COMMENT '平台利润率(千分比)',
|
|
profit_rate INT DEFAULT 0 COMMENT '平台利润率(千分比)',
|
|
|
- delivery_method TINYINT DEFAULT 1 COMMENT '配送方式: 1=快递 2=自提 3=两者皆可',
|
|
|
|
|
|
|
+ delivery_method TINYINT DEFAULT 1 COMMENT '配送方式: 1=快递 2=自提 3=两者皆可 4=线上-可选人 5=线上-单人',
|
|
|
purchase_count_threshold INT DEFAULT 0 COMMENT '最小购买数量限制',
|
|
purchase_count_threshold INT DEFAULT 0 COMMENT '最小购买数量限制',
|
|
|
category_id BIGINT COMMENT '商品类目ID',
|
|
category_id BIGINT COMMENT '商品类目ID',
|
|
|
distribution_system_id BIGINT COMMENT '销售体系ID',
|
|
distribution_system_id BIGINT COMMENT '销售体系ID',
|
|
@@ -1204,6 +1204,15 @@ CREATE TABLE IF NOT EXISTS product_orders (
|
|
|
points_cost INT DEFAULT 0 COMMENT '积分抵扣金额(分)',
|
|
points_cost INT DEFAULT 0 COMMENT '积分抵扣金额(分)',
|
|
|
money_amount INT DEFAULT 0 COMMENT '现金支付金额(分)',
|
|
money_amount INT DEFAULT 0 COMMENT '现金支付金额(分)',
|
|
|
consignee_id BIGINT COMMENT '收货人ID',
|
|
consignee_id BIGINT COMMENT '收货人ID',
|
|
|
|
|
+ pickup_location_id BIGINT COMMENT '自取地点ID',
|
|
|
|
|
+ pickup_location_snapshot TEXT COMMENT '自取地点快照(JSON)',
|
|
|
|
|
+ time_slot_id BIGINT COMMENT '所选时间段ID',
|
|
|
|
|
+ time_slot_snapshot TEXT COMMENT '时间段快照(JSON)',
|
|
|
|
|
+ service_person_id BIGINT COMMENT '所选服务者ID(deliveryMethod=4)',
|
|
|
|
|
+ service_person_snapshot TEXT COMMENT '服务者快照(JSON)',
|
|
|
|
|
+ fulfill_status VARCHAR(32) DEFAULT 'pending' COMMENT '履约状态: pending/confirmed_by_vendor/received_by_user/completed',
|
|
|
|
|
+ fulfill_confirmed_at DATETIME COMMENT '供应商确认时间',
|
|
|
|
|
+ received_at DATETIME COMMENT '用户确认收货时间',
|
|
|
purchase_info TEXT COMMENT '购买信息JSON: {id_card, hand_signature, ...}',
|
|
purchase_info TEXT COMMENT '购买信息JSON: {id_card, hand_signature, ...}',
|
|
|
provision_status VARCHAR(32) COMMENT '活动provision状态: unprovisioned(待审核)/provisioned(已发货)/signed_in(已签到)/completed(已完成)/cancelled(审核拒绝)',
|
|
provision_status VARCHAR(32) COMMENT '活动provision状态: unprovisioned(待审核)/provisioned(已发货)/signed_in(已签到)/completed(已完成)/cancelled(审核拒绝)',
|
|
|
auditor_id BIGINT COMMENT '审核人ID',
|
|
auditor_id BIGINT COMMENT '审核人ID',
|
|
@@ -1219,6 +1228,89 @@ audit_reason TEXT COMMENT '审核拒绝原因',
|
|
|
INDEX idx_supply_system_id (supply_system_id)
|
|
INDEX idx_supply_system_id (supply_system_id)
|
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='商品订单表';
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='商品订单表';
|
|
|
|
|
|
|
|
|
|
+-- 商品自取地点表
|
|
|
|
|
+CREATE TABLE IF NOT EXISTS product_pickup_locations (
|
|
|
|
|
+ id BIGINT AUTO_INCREMENT PRIMARY KEY COMMENT '主键',
|
|
|
|
|
+ product_id BIGINT NOT NULL COMMENT '所属商品ID',
|
|
|
|
|
+ name VARCHAR(100) NOT NULL COMMENT '地点名称',
|
|
|
|
|
+ address VARCHAR(500) NOT NULL COMMENT '详细地址',
|
|
|
|
|
+ longitude DECIMAL(10,7) COMMENT '经度',
|
|
|
|
|
+ latitude DECIMAL(10,7) COMMENT '纬度',
|
|
|
|
|
+ contact_name VARCHAR(50) COMMENT '联系人',
|
|
|
|
|
+ contact_phone VARCHAR(20) COMMENT '联系电话',
|
|
|
|
|
+ sort_order INT DEFAULT 0 COMMENT '排序',
|
|
|
|
|
+ enabled TINYINT DEFAULT 1 COMMENT '启用: 0/1',
|
|
|
|
|
+ created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
|
|
|
|
|
+ updated_at DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
|
|
|
|
+ INDEX idx_product_id (product_id)
|
|
|
|
|
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='商品自取地点';
|
|
|
|
|
+
|
|
|
|
|
+-- 自取时间段模板表
|
|
|
|
|
+CREATE TABLE IF NOT EXISTS product_pickup_time_slots (
|
|
|
|
|
+ id BIGINT AUTO_INCREMENT PRIMARY KEY COMMENT '主键',
|
|
|
|
|
+ location_id BIGINT NOT NULL COMMENT '所属地点ID',
|
|
|
|
|
+ start_time TIME NOT NULL COMMENT '开始时间 HH:MM',
|
|
|
|
|
+ end_time TIME NOT NULL COMMENT '结束时间 HH:MM',
|
|
|
|
|
+ weekday TINYINT COMMENT '周几(1-7), null=按具体日期',
|
|
|
|
|
+ specific_date DATE COMMENT '具体日期, null=按周循环',
|
|
|
|
|
+ max_capacity INT DEFAULT 1 COMMENT '该时段最大接待人数',
|
|
|
|
|
+ booked_count INT DEFAULT 0 COMMENT '已预订数',
|
|
|
|
|
+ enabled TINYINT DEFAULT 1,
|
|
|
|
|
+ created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
|
|
|
|
|
+ updated_at DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
|
|
|
|
+ INDEX idx_location_id (location_id),
|
|
|
|
|
+ INDEX idx_specific_date (specific_date)
|
|
|
|
|
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='自取时间段模板';
|
|
|
|
|
+
|
|
|
|
|
+-- 商品线上服务者表
|
|
|
|
|
+CREATE TABLE IF NOT EXISTS product_service_persons (
|
|
|
|
|
+ id BIGINT AUTO_INCREMENT PRIMARY KEY COMMENT '主键',
|
|
|
|
|
+ product_id BIGINT NOT NULL COMMENT '所属商品ID',
|
|
|
|
|
+ user_id BIGINT NOT NULL COMMENT '服务者用户ID(关联users表)',
|
|
|
|
|
+ name VARCHAR(50) NOT NULL COMMENT '展示名称',
|
|
|
|
|
+ title VARCHAR(100) COMMENT '头衔(如高级营养师)',
|
|
|
|
|
+ intro TEXT COMMENT '个人介绍',
|
|
|
|
|
+ avatar VARCHAR(500) COMMENT '头像URL',
|
|
|
|
|
+ price INT NOT NULL COMMENT '该人专属价格(分)',
|
|
|
|
|
+ original_price INT COMMENT '原价(分)',
|
|
|
|
|
+ sort_order INT DEFAULT 0,
|
|
|
|
|
+ enabled TINYINT DEFAULT 1,
|
|
|
|
|
+ created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
|
|
|
|
|
+ updated_at DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
|
|
|
|
+ INDEX idx_product_id (product_id),
|
|
|
|
|
+ INDEX idx_user_id (user_id)
|
|
|
|
|
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='商品线上服务者';
|
|
|
|
|
+
|
|
|
|
|
+-- 服务者可预约时间段表
|
|
|
|
|
+CREATE TABLE IF NOT EXISTS product_service_person_slots (
|
|
|
|
|
+ id BIGINT AUTO_INCREMENT PRIMARY KEY COMMENT '主键',
|
|
|
|
|
+ person_id BIGINT NOT NULL COMMENT '所属服务者ID',
|
|
|
|
|
+ start_time DATETIME NOT NULL COMMENT '开始时间',
|
|
|
|
|
+ end_time DATETIME NOT NULL COMMENT '结束时间',
|
|
|
|
|
+ max_capacity INT DEFAULT 1 COMMENT '容量',
|
|
|
|
|
+ booked_count INT DEFAULT 0 COMMENT '已预订数',
|
|
|
|
|
+ enabled TINYINT DEFAULT 1,
|
|
|
|
|
+ created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
|
|
|
|
|
+ updated_at DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
|
|
|
|
+ INDEX idx_person_id (person_id),
|
|
|
|
|
+ INDEX idx_start_time (start_time)
|
|
|
|
|
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='服务者可预约时间段';
|
|
|
|
|
+
|
|
|
|
|
+-- 单人线上服务时间段表
|
|
|
|
|
+CREATE TABLE IF NOT EXISTS product_online_slots (
|
|
|
|
|
+ id BIGINT AUTO_INCREMENT PRIMARY KEY COMMENT '主键',
|
|
|
|
|
+ product_id BIGINT NOT NULL COMMENT '所属商品ID',
|
|
|
|
|
+ start_time DATETIME NOT NULL COMMENT '开始时间',
|
|
|
|
|
+ end_time DATETIME NOT NULL COMMENT '结束时间',
|
|
|
|
|
+ max_capacity INT DEFAULT 1 COMMENT '容量',
|
|
|
|
|
+ booked_count INT DEFAULT 0 COMMENT '已预订数',
|
|
|
|
|
+ enabled TINYINT DEFAULT 1,
|
|
|
|
|
+ created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
|
|
|
|
|
+ updated_at DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
|
|
|
|
+ INDEX idx_product_id (product_id),
|
|
|
|
|
+ INDEX idx_start_time (start_time)
|
|
|
|
|
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='单人线上服务时间段';
|
|
|
|
|
+
|
|
|
-- =============================================
|
|
-- =============================================
|
|
|
-- 系统配置与内容表
|
|
-- 系统配置与内容表
|
|
|
-- =============================================
|
|
-- =============================================
|
|
@@ -3519,6 +3611,45 @@ CREATE TABLE IF NOT EXISTS membership_levels (
|
|
|
UNIQUE KEY uk_level_code (level_code)
|
|
UNIQUE KEY uk_level_code (level_code)
|
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='会员等级配置';
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='会员等级配置';
|
|
|
|
|
|
|
|
|
|
+-- ============================================================
|
|
|
|
|
+-- 会员权益配置表(会员等级独立权益管理)
|
|
|
|
|
+-- ============================================================
|
|
|
|
|
+CREATE TABLE IF NOT EXISTS membership_benefits (
|
|
|
|
|
+ id BIGINT AUTO_INCREMENT PRIMARY KEY,
|
|
|
|
|
+ level_code VARCHAR(50) NOT NULL COMMENT '会员等级: FREE/BASIC/PROFESSIONAL/ENTERPRISE',
|
|
|
|
|
+ benefit_code VARCHAR(50) NOT NULL COMMENT '权益编码: AI_CHAT,FAMILY_MEMBERS等',
|
|
|
|
|
+ benefit_name VARCHAR(100) NOT NULL COMMENT '权益名称',
|
|
|
|
|
+ benefit_desc VARCHAR(500) COMMENT '权益描述',
|
|
|
|
|
+ icon VARCHAR(50) COMMENT '图标emoji',
|
|
|
|
|
+ bg_color VARCHAR(20) COMMENT '背景色',
|
|
|
|
|
+ sort_order INT DEFAULT 0 COMMENT '排序顺序',
|
|
|
|
|
+ created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
|
|
|
|
|
+ updated_at DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
|
|
|
|
+ UNIQUE KEY uk_level_benefit (level_code, benefit_code),
|
|
|
|
|
+ INDEX idx_level (level_code)
|
|
|
|
|
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='会员权益配置';
|
|
|
|
|
+
|
|
|
|
|
+-- 会员权益种子数据
|
|
|
|
|
+INSERT IGNORE INTO membership_benefits (level_code, benefit_code, benefit_name, benefit_desc, icon, bg_color, sort_order) VALUES
|
|
|
|
|
+('FREE', 'NO_BENEFIT', '暂无会员权益', '开通会员解锁更多权益', '🔒', '#F3F4F6', 0),
|
|
|
|
|
+('FREE', 'UPGRADE_HINT', '升级会员', '开通会员享专属权益', '👑', '#FEF3C7', 99),
|
|
|
|
|
+('FAMILY', 'AI_CHAT', 'AI 健康顾问', '7×24 小时不限次数问答', '🤖', '#DBEAFE', 1),
|
|
|
|
|
+('FAMILY', 'FAMILY_MEMBERS', '家庭档案管理', '管理最多 10 位家庭成员', '👨👩👧👦', '#D1FAE5', 2),
|
|
|
|
|
+('FAMILY', 'HEALTH_PLAN', '月度健康计划', '个性化健康改善方案', '📋', '#FEF3C7', 3),
|
|
|
|
|
+('FAMILY', 'REPORT_READING', '报告智能解读', '体检/菌群/测评报告 AI 解读', '📊', '#FCE7F3', 4),
|
|
|
|
|
+('FAMILY', 'MANAGER_SERVICE', '专属健康教练服务', '认证健康教练月度随访', '👨🏫', '#FFEDD5', 5),
|
|
|
|
|
+('FAMILY', 'PRODUCT_DISCOUNT', '商品会员折扣', '全场商品 8-9 折优惠', '🛒', '#E0E7FF', 6),
|
|
|
|
|
+('FAMILY', 'COUPON_ACCESS', '优惠券使用权限', '可使用平台优惠券享更多优惠', '🎫', '#FEE2E2', 7),
|
|
|
|
|
+('PREMIUM', 'AI_CHAT', 'AI 健康顾问', '7×24 小时不限次数问答', '🤖', '#DBEAFE', 1),
|
|
|
|
|
+('PREMIUM', 'FAMILY_MEMBERS', '家庭档案管理', '管理最多 20 位家庭成员', '👨👩👧👦', '#D1FAE5', 2),
|
|
|
|
|
+('PREMIUM', 'HEALTH_PLAN', '月度健康计划', '个性化健康改善方案 + 定制营养建议', '📋', '#FEF3C7', 3),
|
|
|
|
|
+('PREMIUM', 'REPORT_READING', '报告智能解读', '体检/菌群/测评报告 AI 深度解读', '📊', '#FCE7F3', 4),
|
|
|
|
|
+('PREMIUM', 'MANAGER_SERVICE', '专属健康教练服务', '每周 1 次电话随访 + 在线答疑', '👨🏫', '#FFEDD5', 5),
|
|
|
|
|
+('PREMIUM', 'PRODUCT_DISCOUNT', '商品会员折扣', '全场商品 6-8 折优惠', '🛒', '#E0E7FF', 6),
|
|
|
|
|
+('PREMIUM', 'COUPON_ACCESS', '优惠券使用权限', '可使用平台优惠券 + 会员专属券', '🎫', '#FEE2E2', 7),
|
|
|
|
|
+('PREMIUM', 'PRIORITY_SUPPORT', '优先客服', '专属客服通道,快速响应', '🎧', '#EDE9FE', 8),
|
|
|
|
|
+('PREMIUM', 'TEACHER_CONSULT', '规划师一对一咨询', '每月 1 次成长规划师专业咨询', '👩🏫', '#FBCFE8', 9);
|
|
|
|
|
+
|
|
|
-- ============================================================
|
|
-- ============================================================
|
|
|
-- 家庭会员订阅表(迁移120)
|
|
-- 家庭会员订阅表(迁移120)
|
|
|
-- ============================================================
|
|
-- ============================================================
|