package com.tzld.piaoquan.ad.engine.commons.dto;

import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Builder;
import lombok.Data;
import lombok.ToString;

import java.math.BigDecimal;

@Builder
@Data
@ToString
public class AdPlatformCreativeDTO {

    private Long creativeId;

    private String creativeCode;

    private String adVerId;

    private Double pctr;

    private Double pcvr;

    private Double cpa;

    private Double cpm;

    private Double bid1;

    private Double bid2;

    private Double ecpm1;

    private Double ecpm2;

    private double weight;
    // 计划id
    private Long campaignId;
    // 广告id
    private Long adId;
    /**
     * 定向打分参数
     */
    private AdDirectionScore adDirectionScore;

    // 召回源，记录召回用
    private Object recallSources;

    // 广告主行业
    private String profession;

    private Integer landingPageType;

    private Long skuId;

    private String customer;

    private Long customerId;

    private String categoryName;

    private String materialMd5;

    private Long adProfessionId;

    private String adProfessionName;

    private Long adCategoryId;

    private String adCategoryName;

    private Long adSkuId;

    private String adSkuCode;

    private String adSkuName;

    private Long agentId;

    private String targetingConversion;

    /** 企微主体竞价系数 */
    private BigDecimal bidCoefficient;

    /** 企微主体计价系数 */
    private BigDecimal pricingCoefficient;

    /** 模型高估修正系数；缺失时使用中性值兼容未填充的历史链路。 */
    @JsonProperty("fRankCoefficient")
    @JSONField(name = "fRankCoefficient")
    private Double fRankCoefficient = 1.0D;

    /** 人群后链路修正系数；仅参与排序，不参与曝光计价。 */
    @JsonProperty("rcRankCoefficient")
    @JSONField(name = "rcRankCoefficient")
    private Double rcRankCoefficient = 1.0D;
}
