-- =====================================================
-- 会员积分流水表
-- 模块：business-member
-- 创建时间：2026-06-09
-- 说明：记录会员积分增减全量流水，供小程序积分记录与管理端查询
-- =====================================================

CREATE TABLE IF NOT EXISTS `app_member_points_log` (
    `id` VARCHAR(64) NOT NULL COMMENT '主键ID',
    `member_id` VARCHAR(64) NOT NULL COMMENT '会员ID',
    `points_type` TINYINT NOT NULL COMMENT '类型：1-获取 2-消费 3-冻结 4-解冻 5-过期 6-调整',
    `points` INT NOT NULL COMMENT '变动数量（正为增加，负为减少）',
    `before_points` INT NOT NULL DEFAULT 0 COMMENT '变动前可用积分',
    `after_points` INT NOT NULL DEFAULT 0 COMMENT '变动后可用积分',
    `biz_type` VARCHAR(32) DEFAULT NULL COMMENT '业务类型',
    `biz_id` VARCHAR(64) DEFAULT NULL COMMENT '业务ID',
    `biz_desc` VARCHAR(500) DEFAULT NULL COMMENT '业务描述',
    `expire_date` DATETIME DEFAULT NULL COMMENT '积分过期时间',
    `operate_source` VARCHAR(32) DEFAULT 'SYSTEM' COMMENT '操作来源：SYSTEM/ADMIN/APP/MINI',
    `create_by` VARCHAR(64) DEFAULT NULL COMMENT '创建者',
    `create_date` DATETIME DEFAULT NULL COMMENT '创建时间',
    `update_by` VARCHAR(64) DEFAULT NULL COMMENT '更新者',
    `update_date` DATETIME DEFAULT NULL COMMENT '更新时间',
    `del_flag` CHAR(1) DEFAULT '0' COMMENT '删除标记：0-正常 1-删除',
    `remarks` VARCHAR(255) DEFAULT NULL COMMENT '备注信息',
    `tenant_code` VARCHAR(64) DEFAULT NULL COMMENT '租户编码',
    `tenant_id` VARCHAR(64) DEFAULT NULL COMMENT '租户ID',
    PRIMARY KEY (`id`),
    KEY `idx_member_id` (`member_id`),
    KEY `idx_points_type` (`points_type`),
    KEY `idx_biz_type` (`biz_type`),
    KEY `idx_biz_id` (`biz_id`),
    KEY `idx_create_date` (`create_date`),
    KEY `idx_tenant_id` (`tenant_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='会员积分流水表';
