package com.doumee.core.douyin.dto;
|
|
import com.alibaba.fastjson.annotation.JSONField;
|
import lombok.Data;
|
|
/**
|
* 抖音生活服务接口(goodlife/v1 系列)通用响应外壳。
|
* <p>所有抖音生活服务接口的响应都包在此结构下:业务数据在 {@link #data},错误信息在 {@link #extra}。
|
* 判定接口是否成功统一看 {@link Extra#getErrorCode()} == 0。
|
*
|
* @author rk
|
* @date 2026/06/22
|
* @param <T> 具体接口的响应数据类型
|
*/
|
@Data
|
public class DouyinBaseResp<T> {
|
|
/** 业务数据节点(泛型,由各接口的具体响应类型填充) */
|
@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;
|
}
|
}
|