All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.alipay.v3.model.ConversionData Maven / Gradle / Ivy

The newest version!
/*
 * 支付宝开放平台API
 * 支付宝开放平台v3协议文档
 *
 * The version of the OpenAPI document: 2024-08-30
 * 
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */


package com.alipay.v3.model;

import java.util.Objects;
import java.util.Arrays;
import com.alipay.v3.model.ConversionProperty;
import com.google.gson.TypeAdapter;
import com.google.gson.annotations.JsonAdapter;
import com.google.gson.annotations.SerializedName;
import com.google.gson.stream.JsonReader;
import com.google.gson.stream.JsonWriter;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.JsonArray;
import com.google.gson.JsonDeserializationContext;
import com.google.gson.JsonDeserializer;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import com.google.gson.JsonParseException;
import com.google.gson.TypeAdapterFactory;
import com.google.gson.reflect.TypeToken;

import java.lang.reflect.Type;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;

import com.alipay.v3.JSON;

/**
 * ConversionData
 */
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen")
public class ConversionData {
  public static final String SERIALIZED_NAME_AD_ID = "ad_id";
  @SerializedName(SERIALIZED_NAME_AD_ID)
  private String adId;

  public static final String SERIALIZED_NAME_ATTRIBUTE_LIST = "attribute_list";
  @SerializedName(SERIALIZED_NAME_ATTRIBUTE_LIST)
  private List attributeList = null;

  public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes";
  @SerializedName(SERIALIZED_NAME_ATTRIBUTES)
  private ConversionProperty attributes;

  public static final String SERIALIZED_NAME_BIZ_NO = "biz_no";
  @SerializedName(SERIALIZED_NAME_BIZ_NO)
  private String bizNo;

  public static final String SERIALIZED_NAME_CALLBACK_EXT_INFO = "callback_ext_info";
  @SerializedName(SERIALIZED_NAME_CALLBACK_EXT_INFO)
  private String callbackExtInfo;

  public static final String SERIALIZED_NAME_CID = "cid";
  @SerializedName(SERIALIZED_NAME_CID)
  private String cid;

  public static final String SERIALIZED_NAME_CONVERSION_AMOUNT = "conversion_amount";
  @SerializedName(SERIALIZED_NAME_CONVERSION_AMOUNT)
  private String conversionAmount;

  public static final String SERIALIZED_NAME_CONVERSION_ID = "conversion_id";
  @SerializedName(SERIALIZED_NAME_CONVERSION_ID)
  private String conversionId;

  public static final String SERIALIZED_NAME_CONVERSION_TIME = "conversion_time";
  @SerializedName(SERIALIZED_NAME_CONVERSION_TIME)
  private Integer conversionTime;

  public static final String SERIALIZED_NAME_CONVERSION_TYPE = "conversion_type";
  @SerializedName(SERIALIZED_NAME_CONVERSION_TYPE)
  private String conversionType;

  public static final String SERIALIZED_NAME_CREATIVE_ID = "creative_id";
  @SerializedName(SERIALIZED_NAME_CREATIVE_ID)
  private String creativeId;

  public static final String SERIALIZED_NAME_DATA_ID = "data_id";
  @SerializedName(SERIALIZED_NAME_DATA_ID)
  private String dataId;

  public static final String SERIALIZED_NAME_DATA_SRC_TYPE = "data_src_type";
  @SerializedName(SERIALIZED_NAME_DATA_SRC_TYPE)
  private String dataSrcType;

  public static final String SERIALIZED_NAME_GROUP_ID = "group_id";
  @SerializedName(SERIALIZED_NAME_GROUP_ID)
  private String groupId;

  public static final String SERIALIZED_NAME_JOIN_CHANNEL = "join_channel";
  @SerializedName(SERIALIZED_NAME_JOIN_CHANNEL)
  private String joinChannel;

  public static final String SERIALIZED_NAME_PLAN_ID = "plan_id";
  @SerializedName(SERIALIZED_NAME_PLAN_ID)
  private String planId;

  public static final String SERIALIZED_NAME_PRINCIPAL_ID = "principal_id";
  @SerializedName(SERIALIZED_NAME_PRINCIPAL_ID)
  private String principalId;

  public static final String SERIALIZED_NAME_PRINCIPAL_TAG = "principal_tag";
  @SerializedName(SERIALIZED_NAME_PRINCIPAL_TAG)
  private String principalTag;

  public static final String SERIALIZED_NAME_PROPERTY_LIST = "property_list";
  @SerializedName(SERIALIZED_NAME_PROPERTY_LIST)
  private List propertyList = null;

  public static final String SERIALIZED_NAME_SOURCE = "source";
  @SerializedName(SERIALIZED_NAME_SOURCE)
  private String source;

  public static final String SERIALIZED_NAME_TARGET_ID = "target_id";
  @SerializedName(SERIALIZED_NAME_TARGET_ID)
  private String targetId;

  public static final String SERIALIZED_NAME_TARGET_TYPE = "target_type";
  @SerializedName(SERIALIZED_NAME_TARGET_TYPE)
  private String targetType;

  public static final String SERIALIZED_NAME_UUID = "uuid";
  @SerializedName(SERIALIZED_NAME_UUID)
  private String uuid;

  public static final String SERIALIZED_NAME_UUID_OPEN_ID = "uuid_open_id";
  @SerializedName(SERIALIZED_NAME_UUID_OPEN_ID)
  private String uuidOpenId;

  public static final String SERIALIZED_NAME_UUID_TYPE = "uuid_type";
  @SerializedName(SERIALIZED_NAME_UUID_TYPE)
  private String uuidType;

  public ConversionData() { 
  }

  public ConversionData adId(String adId) {
    
    this.adId = adId;
    return this;
  }

   /**
   * 广告创意id,来自:<a href='https://adpub.alipay.com/lark/adrlark/qm1v2gtpvcftele4'>监测上报</a>或<a href='https://adpub.alipay.com/lark/adrlark/gw3740rggm4n5gar'>落地页宏替换</a>配置的__AD_ID__宏参发生用户点击替换后的值
   * @return adId
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(example = "123", value = "广告创意id,来自:监测上报落地页宏替换配置的__AD_ID__宏参发生用户点击替换后的值")

  public String getAdId() {
    return adId;
  }


  public void setAdId(String adId) {
    this.adId = adId;
  }


  public ConversionData attributeList(List attributeList) {
    
    this.attributeList = attributeList;
    return this;
  }

  public ConversionData addAttributeListItem(ConversionProperty attributeListItem) {
    if (this.attributeList == null) {
      this.attributeList = new ArrayList<>();
    }
    this.attributeList.add(attributeListItem);
    return this;
  }

   /**
   * 转化事件属性信息,用于转化事件类型相关属性规则上传。 可支持上传属性的转化事件类型及属性规则请参考该文档:<a href='https://adpub.alipay.com/adrlark/ivdktpyh511x9r6i'>转化事件类型属性规则</a>
   * @return attributeList
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(value = "转化事件属性信息,用于转化事件类型相关属性规则上传。 可支持上传属性的转化事件类型及属性规则请参考该文档:转化事件类型属性规则")

  public List getAttributeList() {
    return attributeList;
  }


  public void setAttributeList(List attributeList) {
    this.attributeList = attributeList;
  }


  public ConversionData attributes(ConversionProperty attributes) {
    
    this.attributes = attributes;
    return this;
  }

   /**
   * Get attributes
   * @return attributes
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(value = "")

  public ConversionProperty getAttributes() {
    return attributes;
  }


  public void setAttributes(ConversionProperty attributes) {
    this.attributes = attributes;
  }


  public ConversionData bizNo(String bizNo) {
    
    this.bizNo = bizNo;
    return this;
  }

   /**
   * 转化流水号:由用户自定义,用于幂等
   * @return bizNo
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(example = "Zybnom890437Mvcu", value = "转化流水号:由用户自定义,用于幂等")

  public String getBizNo() {
    return bizNo;
  }


  public void setBizNo(String bizNo) {
    this.bizNo = bizNo;
  }


  public ConversionData callbackExtInfo(String callbackExtInfo) {
    
    this.callbackExtInfo = callbackExtInfo;
    return this;
  }

   /**
   * 来自:<a href='https://adpub.alipay.com/lark/adrlark/qm1v2gtpvcftele4'>监测上报</a>或<a href='https://adpub.alipay.com/lark/adrlark/gw3740rggm4n5gar'>落地页宏替换</a>配置的__CALLBACK_EXT_INFO__宏参发生用户点击替换后的值,需url decode后传回。
   * @return callbackExtInfo
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(example = "hAXLRVRoQHTgh2CQLhjfkX_0HR80F7ktEabHmKgD_XSSXPF2Pwv-a_pEAQVW2FS-6FCLShsXMMU4Ctx0X61swqcK4Qme3YdxzrjynZ_gYjQ8Iv4MNcM0d8oHKFiDWyOx", value = "来自:监测上报落地页宏替换配置的__CALLBACK_EXT_INFO__宏参发生用户点击替换后的值,需url decode后传回。")

  public String getCallbackExtInfo() {
    return callbackExtInfo;
  }


  public void setCallbackExtInfo(String callbackExtInfo) {
    this.callbackExtInfo = callbackExtInfo;
  }


  public ConversionData cid(String cid) {
    
    this.cid = cid;
    return this;
  }

   /**
   * 用于精准归因,来自:<a href='https://adpub.alipay.com/lark/adrlark/qm1v2gtpvcftele4'>监测上报</a>或<a href='https://adpub.alipay.com/lark/adrlark/gw3740rggm4n5gar'>落地页宏替换</a>配置的__CID__宏参发生用户点击替换后的值。<br> 支持cid上报的转化事件类型请参见:<br> <a href='https://adpub.alipay.com/lark/adrlark/pg4vb1c0g0u6fx7b'>app推广类转化事件类型</a><br> <a href='https://adpub.alipay.com/lark/adrlark/rvzylhryxh37yplt'>通用类转化事件类型</a>
   * @return cid
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(example = "8e91eca2-930d-4b4e-bb38-1ba74146cd06", value = "用于精准归因,来自:监测上报落地页宏替换配置的__CID__宏参发生用户点击替换后的值。
支持cid上报的转化事件类型请参见:
app推广类转化事件类型
通用类转化事件类型") public String getCid() { return cid; } public void setCid(String cid) { this.cid = cid; } public ConversionData conversionAmount(String conversionAmount) { this.conversionAmount = conversionAmount; return this; } /** * 转化金额,单位分。 金额类转化事件必传 * @return conversionAmount **/ @javax.annotation.Nullable @ApiModelProperty(example = "20", value = "转化金额,单位分。 金额类转化事件必传") public String getConversionAmount() { return conversionAmount; } public void setConversionAmount(String conversionAmount) { this.conversionAmount = conversionAmount; } public ConversionData conversionId(String conversionId) { this.conversionId = conversionId; return this; } /** * 转化事件id,当source=COMMON_CONVERSION_ID需上传该字段,其他情况无需上传。 * @return conversionId **/ @javax.annotation.Nullable @ApiModelProperty(example = "167390987332", value = "转化事件id,当source=COMMON_CONVERSION_ID需上传该字段,其他情况无需上传。") public String getConversionId() { return conversionId; } public void setConversionId(String conversionId) { this.conversionId = conversionId; } public ConversionData conversionTime(Integer conversionTime) { this.conversionTime = conversionTime; return this; } /** * 转化时间,UTC 时间戳,单位:秒 * @return conversionTime **/ @javax.annotation.Nullable @ApiModelProperty(example = "12389637", value = "转化时间,UTC 时间戳,单位:秒") public Integer getConversionTime() { return conversionTime; } public void setConversionTime(Integer conversionTime) { this.conversionTime = conversionTime; } public ConversionData conversionType(String conversionType) { this.conversionType = conversionType; return this; } /** * 转化事件类型数字 * @return conversionType **/ @javax.annotation.Nullable @ApiModelProperty(example = "225", value = "转化事件类型数字") public String getConversionType() { return conversionType; } public void setConversionType(String conversionType) { this.conversionType = conversionType; } public ConversionData creativeId(String creativeId) { this.creativeId = creativeId; return this; } /** * 广告创意id,来自:<a href='https://adpub.alipay.com/lark/adrlark/qm1v2gtpvcftele4'>监测上报</a>或<a href='https://adpub.alipay.com/lark/adrlark/gw3740rggm4n5gar'>落地页宏替换</a>配置的__AD_ID__宏参发生用户点击替换后的值 * @return creativeId **/ @javax.annotation.Nullable @ApiModelProperty(example = "6785", value = "广告创意id,来自:监测上报落地页宏替换配置的__AD_ID__宏参发生用户点击替换后的值") public String getCreativeId() { return creativeId; } public void setCreativeId(String creativeId) { this.creativeId = creativeId; } public ConversionData dataId(String dataId) { this.dataId = dataId; return this; } /** * 当source=XLIGHT或者DATASET时使用: 数据集id(接口升级,该参数已不再使用,故废弃该参数,但不影响历史数据使用。) * @return dataId * @deprecated **/ @Deprecated @javax.annotation.Nullable @ApiModelProperty(example = "20391", value = "当source=XLIGHT或者DATASET时使用: 数据集id(接口升级,该参数已不再使用,故废弃该参数,但不影响历史数据使用。)") public String getDataId() { return dataId; } public void setDataId(String dataId) { this.dataId = dataId; } public ConversionData dataSrcType(String dataSrcType) { this.dataSrcType = dataSrcType; return this; } /** * 当source=OTHER时使用: 数据类型: KR_MEMBER - 客如云入会 KR_TRADE - 客如云交易 TB_LIVE - 淘宝直播(接口升级,该参数已不再使用,故废弃该参数,但不影响历史数据使用。) * @return dataSrcType * @deprecated **/ @Deprecated @javax.annotation.Nullable @ApiModelProperty(example = "KR_MEMBER", value = "当source=OTHER时使用: 数据类型: KR_MEMBER - 客如云入会 KR_TRADE - 客如云交易 TB_LIVE - 淘宝直播(接口升级,该参数已不再使用,故废弃该参数,但不影响历史数据使用。)") public String getDataSrcType() { return dataSrcType; } public void setDataSrcType(String dataSrcType) { this.dataSrcType = dataSrcType; } public ConversionData groupId(String groupId) { this.groupId = groupId; return this; } /** * 广告单元id,来自:<a href='https://adpub.alipay.com/lark/adrlark/qm1v2gtpvcftele4'>监测上报</a>或<a href='https://adpub.alipay.com/lark/adrlark/gw3740rggm4n5gar'>落地页宏替换</a>配置的__GROUP_ID__宏参发生用户点击替换后的值 * @return groupId **/ @javax.annotation.Nullable @ApiModelProperty(example = "7896", value = "广告单元id,来自:监测上报落地页宏替换配置的__GROUP_ID__宏参发生用户点击替换后的值") public String getGroupId() { return groupId; } public void setGroupId(String groupId) { this.groupId = groupId; } public ConversionData joinChannel(String joinChannel) { this.joinChannel = joinChannel; return this; } /** * XLIGHT - 灯火归因 MERCHANT -商家自主归因 该字段若为空则默认为XLIGHT * @return joinChannel **/ @javax.annotation.Nullable @ApiModelProperty(example = "XLIGHT", value = "XLIGHT - 灯火归因 MERCHANT -商家自主归因 该字段若为空则默认为XLIGHT") public String getJoinChannel() { return joinChannel; } public void setJoinChannel(String joinChannel) { this.joinChannel = joinChannel; } public ConversionData planId(String planId) { this.planId = planId; return this; } /** * 广告计划id,来自:<a href='https://adpub.alipay.com/lark/adrlark/qm1v2gtpvcftele4'>监测上报</a>或<a href='https://adpub.alipay.com/lark/adrlark/gw3740rggm4n5gar'>落地页宏替换</a>配置的__PLAN_ID__宏参发生用户点击替换后的值 * @return planId **/ @javax.annotation.Nullable @ApiModelProperty(example = "1789", value = "广告计划id,来自:监测上报落地页宏替换配置的__PLAN_ID__宏参发生用户点击替换后的值") public String getPlanId() { return planId; } public void setPlanId(String planId) { this.planId = planId; } public ConversionData principalId(String principalId) { this.principalId = principalId; return this; } /** * 商户在灯火pb端的id, 可代替principal_tag。 * @return principalId **/ @javax.annotation.Nullable @ApiModelProperty(example = "1", value = "商户在灯火pb端的id, 可代替principal_tag。") public String getPrincipalId() { return principalId; } public void setPrincipalId(String principalId) { this.principalId = principalId; } public ConversionData principalTag(String principalTag) { this.principalTag = principalTag; return this; } /** * 商家标志,可代替principal_id。获取方法: <a href='https://adpub.alipay.com/lark/adrlark/sbk3vetg6ki5m4r8'>principal_tag获取sop</a><br> * @return principalTag **/ @javax.annotation.Nullable @ApiModelProperty(example = "HYjofejnnlp89730202bcklHH", value = "商家标志,可代替principal_id。获取方法: principal_tag获取sop
") public String getPrincipalTag() { return principalTag; } public void setPrincipalTag(String principalTag) { this.principalTag = principalTag; } public ConversionData propertyList(List propertyList) { this.propertyList = propertyList; return this; } public ConversionData addPropertyListItem(ConversionProperty propertyListItem) { if (this.propertyList == null) { this.propertyList = new ArrayList<>(); } this.propertyList.add(propertyListItem); return this; } /** * 转化归因字段列表。不同转化事件类型回传property_list不同。请参见回传示例:<br> <a href=\"https://adpub.alipay.com/lark/adrlark/pvbgwf72ea090877\">通用类转化事件回传示例</a><br> <a href=\"https://adpub.alipay.com/lark/adrlark/kgnnk94p0p1mwbgp\">APP推广类转化事件回传示例</a><br> * @return propertyList **/ @javax.annotation.Nullable @ApiModelProperty(value = "转化归因字段列表。不同转化事件类型回传property_list不同。请参见回传示例:
通用类转化事件回传示例
APP推广类转化事件回传示例
") public List getPropertyList() { return propertyList; } public void setPropertyList(List propertyList) { this.propertyList = propertyList; } public ConversionData source(String source) { this.source = source; return this; } /** * <br> COMMON_TARGET:<a href='https://adpub.alipay.com/lark/adrlark/rvzylhryxh37yplt'>通用类转化事件类型</a>适用<br> CALLBACK:<a href='https://adpub.alipay.com/lark/adrlark/pg4vb1c0g0u6fx7b'>APP推广类转化事件类型</a>适用<br> 不同source的参数回传规则请参考: COMMON_TARGET:<a href='https://adpub.alipay.com/lark/adrlark/dxw7fkkdnhm45spm'>通用转化回传参数说明</a><br> CALLBACK: <a href='https://adpub.alipay.com/lark/adrlark/wxou6agg3z1o6wyn'>APP推广类转化回传参数说明</a> * @return source **/ @javax.annotation.Nullable @ApiModelProperty(example = "COMMON_TARGET", value = "
COMMON_TARGET:通用类转化事件类型适用
CALLBACK:APP推广类转化事件类型适用
不同source的参数回传规则请参考: COMMON_TARGET:通用转化回传参数说明
CALLBACK: APP推广类转化回传参数说明") public String getSource() { return source; } public void setSource(String source) { this.source = source; } public ConversionData targetId(String targetId) { this.targetId = targetId; return this; } /** * 当source=OTHER时使用: 主体id,例如品牌id(接口升级,该参数已不再使用,故废弃该参数,但不影响历史数据使用。) * @return targetId * @deprecated **/ @Deprecated @javax.annotation.Nullable @ApiModelProperty(example = "123", value = "当source=OTHER时使用: 主体id,例如品牌id(接口升级,该参数已不再使用,故废弃该参数,但不影响历史数据使用。)") public String getTargetId() { return targetId; } public void setTargetId(String targetId) { this.targetId = targetId; } public ConversionData targetType(String targetType) { this.targetType = targetType; return this; } /** * 当source=OTHER时使用: 主体类型: BRAND - 品牌 STORE - 店铺 LIVE - 直播 等等(接口升级,该参数已不再使用,故废弃该参数,但不影响历史数据使用。) * @return targetType * @deprecated **/ @Deprecated @javax.annotation.Nullable @ApiModelProperty(example = "STORE", value = "当source=OTHER时使用: 主体类型: BRAND - 品牌 STORE - 店铺 LIVE - 直播 等等(接口升级,该参数已不再使用,故废弃该参数,但不影响历史数据使用。)") public String getTargetType() { return targetType; } public void setTargetType(String targetType) { this.targetType = targetType; } public ConversionData uuid(String uuid) { this.uuid = uuid; return this; } /** * 发生转化用户的唯一标识。 uuid_type不同,uuid传值不同:<br> 1. 若uuid_type=【PID】:uuid为发生转化用户的2088id。若获取不到,可固定一个值后,上传callback_ext_info参数。<br> 2. 若uuid_type=【OAID_MD5】【IDFA_MD5】【IP_UA】【CAID】【MEI】: uuid传的值为<a href='https://adpub.alipay.com/lark/adrlark/qm1v2gtpvcftele4'>监测上报</a>或<a href='https://adpub.alipay.com/lark/adrlark/gw3740rggm4n5gar'>落地页宏替换</a>配置的对应宏参下发的值<br> 其中当uuid_type=IP_UA时:__IP__、__UA__宏参需用\"_\"拼接上传<br> * @return uuid **/ @javax.annotation.Nullable @ApiModelProperty(example = "7893ybc7032173", value = "发生转化用户的唯一标识。 uuid_type不同,uuid传值不同:
1. 若uuid_type=【PID】:uuid为发生转化用户的2088id。若获取不到,可固定一个值后,上传callback_ext_info参数。
2. 若uuid_type=【OAID_MD5】【IDFA_MD5】【IP_UA】【CAID】【MEI】: uuid传的值为监测上报落地页宏替换配置的对应宏参下发的值
其中当uuid_type=IP_UA时:__IP__、__UA__宏参需用\"_\"拼接上传
") public String getUuid() { return uuid; } public void setUuid(String uuid) { this.uuid = uuid; } public ConversionData uuidOpenId(String uuidOpenId) { this.uuidOpenId = uuidOpenId; return this; } /** * 支付宝用户在应用维度下的唯一标识 * @return uuidOpenId **/ @javax.annotation.Nullable @ApiModelProperty(example = "oPXyY4O0ZTmUqSX4MRxYDDCccT6Kc9EXX", value = "支付宝用户在应用维度下的唯一标识") public String getUuidOpenId() { return uuidOpenId; } public void setUuidOpenId(String uuidOpenId) { this.uuidOpenId = uuidOpenId; } public ConversionData uuidType(String uuidType) { this.uuidType = uuidType; return this; } /** * <a href='https://adpub.alipay.com/lark/adrlark/rvzylhryxh37yplt'>通用类转化事件类型:</a><br> uuid_type固定为PID:表示转化用户唯一标识<br> <a href='https://adpub.alipay.com/lark/adrlark/pg4vb1c0g0u6fx7b'>APP推广类转化事件类型:</a><br> OAID_MD5:表示OAID原值MD5加密后的值<br> IDFA_MD5:表示IDFA原值MD5加密后的值<br> IP_UA:表示IP_UA拼接值,以下划线拼接<br> CAID:表示CAID原值<br> IMEI:表示IMEI原值<br> * @return uuidType **/ @javax.annotation.Nullable @ApiModelProperty(example = "PID", value = "通用类转化事件类型:
uuid_type固定为PID:表示转化用户唯一标识
APP推广类转化事件类型:
OAID_MD5:表示OAID原值MD5加密后的值
IDFA_MD5:表示IDFA原值MD5加密后的值
IP_UA:表示IP_UA拼接值,以下划线拼接
CAID:表示CAID原值
IMEI:表示IMEI原值
") public String getUuidType() { return uuidType; } public void setUuidType(String uuidType) { this.uuidType = uuidType; } /** * A container for additional, undeclared properties. * This is a holder for any undeclared properties as specified with * the 'additionalProperties' keyword in the OAS document. */ private Map additionalProperties; /** * Set the additional (undeclared) property with the specified name and value. * If the property does not already exist, create it otherwise replace it. * * @param key name of the property * @param value value of the property * @return the ConversionData instance itself */ public ConversionData putAdditionalProperty(String key, Object value) { if (this.additionalProperties == null) { this.additionalProperties = new HashMap(); } this.additionalProperties.put(key, value); return this; } /** * Return the additional (undeclared) property. * * @return a map of objects */ public Map getAdditionalProperties() { return additionalProperties; } /** * Return the additional (undeclared) property with the specified name. * * @param key name of the property * @return an object */ public Object getAdditionalProperty(String key) { if (this.additionalProperties == null) { return null; } return this.additionalProperties.get(key); } @Override public boolean equals(Object o) { if (this == o) { return true; } if (o == null || getClass() != o.getClass()) { return false; } ConversionData conversionData = (ConversionData) o; return Objects.equals(this.adId, conversionData.adId) && Objects.equals(this.attributeList, conversionData.attributeList) && Objects.equals(this.attributes, conversionData.attributes) && Objects.equals(this.bizNo, conversionData.bizNo) && Objects.equals(this.callbackExtInfo, conversionData.callbackExtInfo) && Objects.equals(this.cid, conversionData.cid) && Objects.equals(this.conversionAmount, conversionData.conversionAmount) && Objects.equals(this.conversionId, conversionData.conversionId) && Objects.equals(this.conversionTime, conversionData.conversionTime) && Objects.equals(this.conversionType, conversionData.conversionType) && Objects.equals(this.creativeId, conversionData.creativeId) && Objects.equals(this.dataId, conversionData.dataId) && Objects.equals(this.dataSrcType, conversionData.dataSrcType) && Objects.equals(this.groupId, conversionData.groupId) && Objects.equals(this.joinChannel, conversionData.joinChannel) && Objects.equals(this.planId, conversionData.planId) && Objects.equals(this.principalId, conversionData.principalId) && Objects.equals(this.principalTag, conversionData.principalTag) && Objects.equals(this.propertyList, conversionData.propertyList) && Objects.equals(this.source, conversionData.source) && Objects.equals(this.targetId, conversionData.targetId) && Objects.equals(this.targetType, conversionData.targetType) && Objects.equals(this.uuid, conversionData.uuid) && Objects.equals(this.uuidOpenId, conversionData.uuidOpenId) && Objects.equals(this.uuidType, conversionData.uuidType)&& Objects.equals(this.additionalProperties, conversionData.additionalProperties); } @Override public int hashCode() { return Objects.hash(adId, attributeList, attributes, bizNo, callbackExtInfo, cid, conversionAmount, conversionId, conversionTime, conversionType, creativeId, dataId, dataSrcType, groupId, joinChannel, planId, principalId, principalTag, propertyList, source, targetId, targetType, uuid, uuidOpenId, uuidType, additionalProperties); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class ConversionData {\n"); sb.append(" adId: ").append(toIndentedString(adId)).append("\n"); sb.append(" attributeList: ").append(toIndentedString(attributeList)).append("\n"); sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); sb.append(" bizNo: ").append(toIndentedString(bizNo)).append("\n"); sb.append(" callbackExtInfo: ").append(toIndentedString(callbackExtInfo)).append("\n"); sb.append(" cid: ").append(toIndentedString(cid)).append("\n"); sb.append(" conversionAmount: ").append(toIndentedString(conversionAmount)).append("\n"); sb.append(" conversionId: ").append(toIndentedString(conversionId)).append("\n"); sb.append(" conversionTime: ").append(toIndentedString(conversionTime)).append("\n"); sb.append(" conversionType: ").append(toIndentedString(conversionType)).append("\n"); sb.append(" creativeId: ").append(toIndentedString(creativeId)).append("\n"); sb.append(" dataId: ").append(toIndentedString(dataId)).append("\n"); sb.append(" dataSrcType: ").append(toIndentedString(dataSrcType)).append("\n"); sb.append(" groupId: ").append(toIndentedString(groupId)).append("\n"); sb.append(" joinChannel: ").append(toIndentedString(joinChannel)).append("\n"); sb.append(" planId: ").append(toIndentedString(planId)).append("\n"); sb.append(" principalId: ").append(toIndentedString(principalId)).append("\n"); sb.append(" principalTag: ").append(toIndentedString(principalTag)).append("\n"); sb.append(" propertyList: ").append(toIndentedString(propertyList)).append("\n"); sb.append(" source: ").append(toIndentedString(source)).append("\n"); sb.append(" targetId: ").append(toIndentedString(targetId)).append("\n"); sb.append(" targetType: ").append(toIndentedString(targetType)).append("\n"); sb.append(" uuid: ").append(toIndentedString(uuid)).append("\n"); sb.append(" uuidOpenId: ").append(toIndentedString(uuidOpenId)).append("\n"); sb.append(" uuidType: ").append(toIndentedString(uuidType)).append("\n"); sb.append(" additionalProperties: ").append(toIndentedString(additionalProperties)).append("\n"); sb.append("}"); return sb.toString(); } /** * Convert the given object to string with each line indented by 4 spaces * (except the first line). */ private String toIndentedString(Object o) { if (o == null) { return "null"; } return o.toString().replace("\n", "\n "); } public static HashSet openapiFields; public static HashSet openapiRequiredFields; static { // a set of all properties/fields (JSON key names) openapiFields = new HashSet(); openapiFields.add("ad_id"); openapiFields.add("attribute_list"); openapiFields.add("attributes"); openapiFields.add("biz_no"); openapiFields.add("callback_ext_info"); openapiFields.add("cid"); openapiFields.add("conversion_amount"); openapiFields.add("conversion_id"); openapiFields.add("conversion_time"); openapiFields.add("conversion_type"); openapiFields.add("creative_id"); openapiFields.add("data_id"); openapiFields.add("data_src_type"); openapiFields.add("group_id"); openapiFields.add("join_channel"); openapiFields.add("plan_id"); openapiFields.add("principal_id"); openapiFields.add("principal_tag"); openapiFields.add("property_list"); openapiFields.add("source"); openapiFields.add("target_id"); openapiFields.add("target_type"); openapiFields.add("uuid"); openapiFields.add("uuid_open_id"); openapiFields.add("uuid_type"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); } /** * Validates the JSON Object and throws an exception if issues found * * @param jsonObj JSON Object * @throws IOException if the JSON Object is invalid with respect to ConversionData */ public static void validateJsonObject(JsonObject jsonObj) throws IOException { if (jsonObj == null) { if (ConversionData.openapiRequiredFields.isEmpty()) { return; } else { // has required fields throw new IllegalArgumentException(String.format("The required field(s) %s in ConversionData is not found in the empty JSON string", ConversionData.openapiRequiredFields.toString())); } } if (jsonObj.get("ad_id") != null && !jsonObj.get("ad_id").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `ad_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("ad_id").toString())); } JsonArray jsonArrayattributeList = jsonObj.getAsJsonArray("attribute_list"); if (jsonArrayattributeList != null) { // ensure the json data is an array if (!jsonObj.get("attribute_list").isJsonArray()) { throw new IllegalArgumentException(String.format("Expected the field `attribute_list` to be an array in the JSON string but got `%s`", jsonObj.get("attribute_list").toString())); } // validate the optional field `attribute_list` (array) for (int i = 0; i < jsonArrayattributeList.size(); i++) { ConversionProperty.validateJsonObject(jsonArrayattributeList.get(i).getAsJsonObject()); }; } // validate the optional field `attributes` if (jsonObj.getAsJsonObject("attributes") != null) { ConversionProperty.validateJsonObject(jsonObj.getAsJsonObject("attributes")); } if (jsonObj.get("biz_no") != null && !jsonObj.get("biz_no").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `biz_no` to be a primitive type in the JSON string but got `%s`", jsonObj.get("biz_no").toString())); } if (jsonObj.get("callback_ext_info") != null && !jsonObj.get("callback_ext_info").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `callback_ext_info` to be a primitive type in the JSON string but got `%s`", jsonObj.get("callback_ext_info").toString())); } if (jsonObj.get("cid") != null && !jsonObj.get("cid").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `cid` to be a primitive type in the JSON string but got `%s`", jsonObj.get("cid").toString())); } if (jsonObj.get("conversion_amount") != null && !jsonObj.get("conversion_amount").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `conversion_amount` to be a primitive type in the JSON string but got `%s`", jsonObj.get("conversion_amount").toString())); } if (jsonObj.get("conversion_id") != null && !jsonObj.get("conversion_id").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `conversion_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("conversion_id").toString())); } if (jsonObj.get("conversion_type") != null && !jsonObj.get("conversion_type").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `conversion_type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("conversion_type").toString())); } if (jsonObj.get("creative_id") != null && !jsonObj.get("creative_id").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `creative_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("creative_id").toString())); } if (jsonObj.get("data_id") != null && !jsonObj.get("data_id").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `data_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("data_id").toString())); } if (jsonObj.get("data_src_type") != null && !jsonObj.get("data_src_type").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `data_src_type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("data_src_type").toString())); } if (jsonObj.get("group_id") != null && !jsonObj.get("group_id").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `group_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("group_id").toString())); } if (jsonObj.get("join_channel") != null && !jsonObj.get("join_channel").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `join_channel` to be a primitive type in the JSON string but got `%s`", jsonObj.get("join_channel").toString())); } if (jsonObj.get("plan_id") != null && !jsonObj.get("plan_id").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `plan_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("plan_id").toString())); } if (jsonObj.get("principal_id") != null && !jsonObj.get("principal_id").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `principal_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("principal_id").toString())); } if (jsonObj.get("principal_tag") != null && !jsonObj.get("principal_tag").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `principal_tag` to be a primitive type in the JSON string but got `%s`", jsonObj.get("principal_tag").toString())); } JsonArray jsonArraypropertyList = jsonObj.getAsJsonArray("property_list"); if (jsonArraypropertyList != null) { // ensure the json data is an array if (!jsonObj.get("property_list").isJsonArray()) { throw new IllegalArgumentException(String.format("Expected the field `property_list` to be an array in the JSON string but got `%s`", jsonObj.get("property_list").toString())); } // validate the optional field `property_list` (array) for (int i = 0; i < jsonArraypropertyList.size(); i++) { ConversionProperty.validateJsonObject(jsonArraypropertyList.get(i).getAsJsonObject()); }; } if (jsonObj.get("source") != null && !jsonObj.get("source").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `source` to be a primitive type in the JSON string but got `%s`", jsonObj.get("source").toString())); } if (jsonObj.get("target_id") != null && !jsonObj.get("target_id").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `target_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("target_id").toString())); } if (jsonObj.get("target_type") != null && !jsonObj.get("target_type").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `target_type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("target_type").toString())); } if (jsonObj.get("uuid") != null && !jsonObj.get("uuid").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `uuid` to be a primitive type in the JSON string but got `%s`", jsonObj.get("uuid").toString())); } if (jsonObj.get("uuid_open_id") != null && !jsonObj.get("uuid_open_id").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `uuid_open_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("uuid_open_id").toString())); } if (jsonObj.get("uuid_type") != null && !jsonObj.get("uuid_type").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `uuid_type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("uuid_type").toString())); } } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { @SuppressWarnings("unchecked") @Override public TypeAdapter create(Gson gson, TypeToken type) { if (!ConversionData.class.isAssignableFrom(type.getRawType())) { return null; // this class only serializes 'ConversionData' and its subtypes } final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); final TypeAdapter thisAdapter = gson.getDelegateAdapter(this, TypeToken.get(ConversionData.class)); return (TypeAdapter) new TypeAdapter() { @Override public void write(JsonWriter out, ConversionData value) throws IOException { JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); obj.remove("additionalProperties"); // serialize additonal properties if (value.getAdditionalProperties() != null) { for (Map.Entry entry : value.getAdditionalProperties().entrySet()) { if (entry.getValue() instanceof String) obj.addProperty(entry.getKey(), (String) entry.getValue()); else if (entry.getValue() instanceof Number) obj.addProperty(entry.getKey(), (Number) entry.getValue()); else if (entry.getValue() instanceof Boolean) obj.addProperty(entry.getKey(), (Boolean) entry.getValue()); else if (entry.getValue() instanceof Character) obj.addProperty(entry.getKey(), (Character) entry.getValue()); else { obj.add(entry.getKey(), gson.toJsonTree(entry.getValue()).getAsJsonObject()); } } } elementAdapter.write(out, obj); } @Override public ConversionData read(JsonReader in) throws IOException { JsonObject jsonObj = elementAdapter.read(in).getAsJsonObject(); validateJsonObject(jsonObj); // store additional fields in the deserialized instance ConversionData instance = thisAdapter.fromJsonTree(jsonObj); for (Map.Entry entry : jsonObj.entrySet()) { if (!openapiFields.contains(entry.getKey())) { if (entry.getValue().isJsonPrimitive()) { // primitive type if (entry.getValue().getAsJsonPrimitive().isString()) instance.putAdditionalProperty(entry.getKey(), entry.getValue().getAsString()); else if (entry.getValue().getAsJsonPrimitive().isNumber()) instance.putAdditionalProperty(entry.getKey(), entry.getValue().getAsNumber()); else if (entry.getValue().getAsJsonPrimitive().isBoolean()) instance.putAdditionalProperty(entry.getKey(), entry.getValue().getAsBoolean()); else throw new IllegalArgumentException(String.format("The field `%s` has unknown primitive type. Value: %s", entry.getKey(), entry.getValue().toString())); } else { // non-primitive type instance.putAdditionalProperty(entry.getKey(), gson.fromJson(entry.getValue(), HashMap.class)); } } } return instance; } }.nullSafe(); } } /** * Create an instance of ConversionData given an JSON string * * @param jsonString JSON string * @return An instance of ConversionData * @throws IOException if the JSON string is invalid with respect to ConversionData */ public static ConversionData fromJson(String jsonString) throws IOException { return JSON.getGson().fromJson(jsonString, ConversionData.class); } /** * Convert an instance of ConversionData to an JSON string * * @return JSON string */ public String toJson() { return JSON.getGson().toJson(this); } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy