MrShi
8 小时以前 9eeb62c02a7b3c7b95c20678b6a9c74e7f12f943
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
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;
    }
}