package com.doumee.core.douyin.dto; import com.alibaba.fastjson.annotation.JSONField; import lombok.Data; /** * 抖音生活服务接口(goodlife/v1 系列)通用响应外壳。 *

所有抖音生活服务接口的响应都包在此结构下:业务数据在 {@link #data},错误信息在 {@link #extra}。 * 判定接口是否成功统一看 {@link Extra#getErrorCode()} == 0。 * * @author rk * @date 2026/06/22 * @param 具体接口的响应数据类型 */ @Data public class DouyinBaseResp { /** 业务数据节点(泛型,由各接口的具体响应类型填充) */ @JSONField(name = "data") private T data; /** 扩展信息节点(错误码 / 描述 / logid 等),用于判定成功与排查 */ @JSONField(name = "extra") private Extra extra; /** * 扩展信息(error_code / description / logid 等)。 * {@link #errorCode} 为 0 表示成功,非 0 时 {@link #description} 为错误描述。 */ @Data public static class Extra { /** 错误码,0 表示成功 */ @JSONField(name = "error_code") private Integer errorCode; /** 错误/成功描述文案 */ @JSONField(name = "description") private String description; /** 子错误码(部分错误会有更细分的子码) */ @JSONField(name = "sub_error_code") private Integer subErrorCode; /** 子错误描述 */ @JSONField(name = "sub_description") private String subDescription; /** 抖音侧日志ID,排查问题时提供给抖音方 */ @JSONField(name = "logid") private String logid; } }