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<Certificate> 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;
|
}
|
}
|