package com.doumee.core.douyin.dto; import com.alibaba.fastjson.annotation.JSONField; import lombok.Data; import java.util.List; /** * 「验券准备」出参(data 节点) * * @author rk * @date 2026/06/22 */ @Data public class DouyinPrepareResp { /** 一次验券唯一标识,作为后续 verify 的 verify_token */ @JSONField(name = "verify_token") private String verifyToken; /** 抖音侧订单号 */ @JSONField(name = "order_id") private String orderId; /** 错误码,0 表示成功 */ @JSONField(name = "error_code") private Integer errorCode; /** 错误/成功描述文案 */ @JSONField(name = "description") private String description; /** 命中的券列表(一次可能多张) */ @JSONField(name = "certificates") private List certificates; @Data public static class Certificate { /** 加密券码(用于后续 verify 的 encrypted_codes) */ @JSONField(name = "encrypted_code") private String encryptedCode; /** 券标识(撤销核销必用) */ @JSONField(name = "certificate_id") private String certificateId; /** 原始券码(明文) */ @JSONField(name = "code") private String code; /** 券状态 1可用 2已核销 3退款中 4已退款 5未到可用日期 6已过期 */ @JSONField(name = "status") private Integer status; /** 是否可核销 1可核销 */ @JSONField(name = "can_verify_status") private Integer canVerifyStatus; /** 券对应的 SKU 规格信息 */ @JSONField(name = "sku") private Sku sku; /** 金额信息 */ @JSONField(name = "amount") private Amount amount; } @Data public static class Sku { /** 抖音 SKU ID(核销开套餐时,反查本地套餐链路的起点) */ @JSONField(name = "sku_id") private String skuId; /** SKU 标题(规格名称) */ @JSONField(name = "title") private String title; /** 市场价(分) */ @JSONField(name = "market_price") private Long marketPrice; } @Data public static class Amount { /** 实付金额(分) */ @JSONField(name = "pay_amount") private Long payAmount; /** 原价(分) */ @JSONField(name = "original_amount") private Long originalAmount; } }