package com.fs.newAdv.domain;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * 站点管理表
 *
 * @author zhangqin
 * @date 2025-11-03
 */
@Data
@TableName("adv_site")
public class Site implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 站点ID
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 站点名称
     */
    private String siteName;
    private Long channelId;
    private String channelName;
    /**
     * 投放类型 1线上 2线下
     */
    private Integer launchType;

    /**
     * 广告类型
     */
    private String adType;

    /**
     * 广告商名称
     */
    private String advertiserName;

    /**
     * 广告商ID
     */
    private Long advertiserId;

    /**
     * 推广账户名称
     */
    private String promotionAccountName;

    /**
     * 推广账户ID
     */
    private Long promotionAccountId;

    /**
     * 投放页面名称
     */
    private String launchPageName;

    /**
     * 投放页面ID
     */
    private String launchPageId;

    /**
     * 项目名称
     */
    private String projectName;

    /**
     * 项目ID
     */
    private Long projectId;

    /**
     * 投放域名
     */
    private String launchDomain;

    /**
     * 是否配置回传（0否 1是）
     */
    private Integer configCallback;

    /**
     * 回传账号ID
     */
    private Long callbackAccountId;

    /**
     * 回传账号名称
     */
    private String callbackAccountName;

    /**
     * 站点URL
     */
    private String siteUrl;


    /**
     * 站点状态 1启用 0停用
     */
    private Integer status;
    /**
     * 企微分配规则 1个人分配规则 2活码分配
     */
    private Integer allocationRule;
    /**
     * 分配id
     */
    private Long allocationRuleId;

    /**
     * 广告投流的最小单元 创意ID
     */
    private String ideaId;
    /**
     * 创建时间
     */
    @TableField(value = "create_time", strategy = FieldStrategy.NOT_NULL)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime createTime;

    /**
     * 更新时间
     */
    @TableField(value = "update_time", strategy = FieldStrategy.NOT_NULL)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime updateTime;

    /**
     * 创建人
     */
    private String creator;

    /**
     * 更新人
     */
    private String updater;
}

