-- ============================================================
-- iShare 数据库设计 v3 → v4 增量脚本
-- 修订时间: 2026-02-17
-- 依据: 决策确认（决策1-4,6）
-- ============================================================

USE pigxx_app;
SET NAMES utf8mb4;

-- ============================================================
-- 决策4: 新增 as_invite_config — 邀请返现规则配置表
-- 返现类型/金额/触发条件均可配置，支持多套规则（启用一套）
-- ============================================================
CREATE TABLE IF NOT EXISTS `as_invite_config` (
  `id`               bigint        NOT NULL AUTO_INCREMENT COMMENT '主键',
  `name`             varchar(64)   NOT NULL               COMMENT '规则名称（管理后台展示用）',
  `reward_type`      tinyint       NOT NULL DEFAULT 1     COMMENT '返现类型: 1=固定金额, 2=按比例（%）',
  `reward_value`     decimal(10,4) NOT NULL DEFAULT 0     COMMENT '返现值（type=1时为金额CNY; type=2时为百分比，如5.00=5%）',
  `trigger_type`     tinyint       NOT NULL DEFAULT 1     COMMENT '触发条件: 1=被邀请人首次购买, 2=被邀请人每次购买',
  `min_order_amount` decimal(10,2) DEFAULT NULL           COMMENT '触发最低订单金额（NULL=不限）',
  `reward_delay_days` int          NOT NULL DEFAULT 0     COMMENT '返现延迟天数（0=立即，N=N天后发放，防退款刷单）',
  `is_active`        tinyint       NOT NULL DEFAULT 0     COMMENT '是否启用: 0=禁用, 1=启用（同一时刻只有一条有效）',
  `remark`           varchar(256)  DEFAULT NULL           COMMENT '规则备注',
  `create_by`        varchar(64)   DEFAULT NULL           COMMENT '创建人',
  `create_time`      datetime      NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `update_time`      datetime      DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  PRIMARY KEY (`id`),
  KEY `idx_is_active` (`is_active`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci
  COMMENT='邀请返现规则配置表（可配置，启用一套）';


-- ============================================================
-- 决策2: Phase 1 无拼车广场
-- as_user_sub_member.status=4（等待车主录入凭据）一期不启用
-- 修改注释说明，字段值保留供 Phase 2 使用
-- ============================================================
ALTER TABLE `as_user_sub_member`
  MODIFY COLUMN `status` tinyint NOT NULL DEFAULT 0
    COMMENT '状态: 0=待激活, 1=使用中, 2=已到期, 3=已退订 | Phase2: 4=等待车主录入凭据（拼车广场）';

-- as_sub_product.product_type=2（个人发布）Phase 1 不启用
-- 修改注释说明
ALTER TABLE `as_sub_product`
  MODIFY COLUMN `product_type` tinyint NOT NULL DEFAULT 1
    COMMENT '产品类型: 1=自营（Phase1启用）, 2=个人发布（Phase2拼车广场）';


-- ============================================================
-- 决策6: 提现功能 Phase 2
-- as_wallet_log.type=5（提现）一期不启用，字段保留
-- ============================================================
ALTER TABLE `as_wallet_log`
  MODIFY COLUMN `type` tinyint NOT NULL
    COMMENT '流水类型: 1=充值, 2=消费, 3=退款, 4=邀请返现 | Phase2: 5=提现';

-- ============================================================
-- END
-- ============================================================
