rk
6 小时以前 4f4538356403d620b9bd510fd45729a251291942
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
package com.doumee.core.douyin.dto;
 
import com.alibaba.fastjson.annotation.JSONField;
import lombok.Data;
 
import java.util.List;
 
/**
 * 「查询门店信息」出参(data 节点)。
 * <p>GET https://open.douyin.com/goodlife/v1/shop/poi/query/
 * <p>返回商户下已认领的门店列表:
 * 门店ID嵌套在 pois[].poi.poi_id,
 * 门店名称嵌套在 pois[].account.poi_account.account_name。
 * 当前用门店ID + 门店名称,其余节点不做映射。
 *
 * @author rk
 * @date 2026/06/26
 */
@Data
public class DouyinShopPoiResp {
 
    /** 当前账户下已认领的门店列表 */
    @JSONField(name = "pois")
    private List<Poi> pois;
 
    /** 错误码,0 表示成功 */
    @JSONField(name = "error_code")
    private Integer errorCode;
 
    /** 错误/成功描述文案 */
    @JSONField(name = "description")
    private String description;
 
    /**
     * 单个门店条目。解析 poi 节点取门店ID,account.poi_account 取门店名称。
     */
    @Data
    public static class Poi {
        /** 门店基本信息(含 poi_id) */
        @JSONField(name = "poi")
        private PoiInfo poi;
 
        /** 账号信息(含 parent_account / poi_account,门店名称在 poi_account.account_name) */
        @JSONField(name = "account")
        private Account account;
    }
 
    /**
     * 门店基本信息。当前响应用到 poi_id。
     */
    @Data
    public static class PoiInfo {
        /** 门店POI ID(核销门店ID,与字典 POI_ID 同口径) */
        @JSONField(name = "poi_id")
        private String poiId;
    }
 
    /**
     * 账号信息。当前响应用到 poi_account.account_name 作为门店名称展示。
     */
    @Data
    public static class Account {
        /** 门店对应的抖音来客账号(含 account_name 门店名称) */
        @JSONField(name = "poi_account")
        private PoiAccount poiAccount;
    }
 
    /**
     * 门店账号信息。account_name 作为门店名称展示。
     */
    @Data
    public static class PoiAccount {
        /** 门店名称(抖音侧账号名称,用于前端选核销门店展示) */
        @JSONField(name = "account_name")
        private String accountName;
    }
}