CREATE TABLE `benefit_grant_tasks` ( `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键ID', `created_at` BIGINT NOT NULL DEFAULT 0 COMMENT '创建时间', `updated_at` BIGINT NOT NULL DEFAULT 0 COMMENT '更新时间', `deleted_at` BIGINT NOT NULL DEFAULT 0 COMMENT '删除时间(0 表示未删除)', `created_by` BIGINT NOT NULL DEFAULT 0 COMMENT '创建人', `updated_by` BIGINT NOT NULL DEFAULT 0 COMMENT '更新人', `deleted_by` BIGINT NOT NULL DEFAULT 0 COMMENT '删除人', `user_id` BIGINT NOT NULL DEFAULT 0 COMMENT '用户ID', `order_no` VARCHAR(64) NOT NULL DEFAULT '' COMMENT '商户订单号', `goods_id` BIGINT NOT NULL DEFAULT 0 COMMENT '关联商品ID', `benefit_type` TINYINT NOT NULL DEFAULT 0 COMMENT '权益类型 1=vip 2=cos 3=ai 4=closet_share 5=outfit_share', `amount` BIGINT NOT NULL DEFAULT 0 COMMENT '发放数量', `status` TINYINT NOT NULL DEFAULT 0 COMMENT '状态 0=待发放 1=已发放 2=发放失败', `retry_count` INT NOT NULL DEFAULT 0 COMMENT '已重试次数', `max_retry` INT NOT NULL DEFAULT 0 COMMENT '最大重试次数', `last_error` VARCHAR(255) NOT NULL DEFAULT '' COMMENT '最近一次失败原因', PRIMARY KEY (`id`), UNIQUE KEY `uk_benefit_task_idem` (`order_no`, `benefit_type`), KEY `idx_benefit_task_status` (`status`) ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COMMENT = '权益发放补偿任务表';