package org.jeecg.modules.demo.adsaccount.entity;

import java.io.Serializable;
import java.io.UnsupportedEncodingException;
import java.util.Date;
import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableLogic;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.jeecg.common.aspect.annotation.Dict;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * @Description: 广告账户管理
 * @Author: jeecg-boot
 * @Date:   2024-09-20
 * @Version: V1.0
 */
@Data
@TableName("ads_account")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@Schema(description="广告账户管理")
public class AdsAccount implements Serializable {
    private static final long serialVersionUID = 1L;

	/**id*/
	@TableId(type = IdType.AUTO)
    @Schema(description = "id")
    private Integer id;
	/**关联用户ID*/
	@Excel(name = "关联用户ID", width = 15, dictTable = "user_login", dicText = "username", dicCode = "id")
	@Dict(dictTable = "user_login", dicText = "username", dicCode = "id")
    @Schema(description = "关联用户ID")
    private Integer userId;
	/**账号*/
	@Excel(name = "账号", width = 15)
    @Schema(description = "账号")
    private String accountId;
	/**账号名*/
	@Excel(name = "账号名", width = 15)
    @Schema(description = "账号名")
    private String accountName;
	/**账号渠道*/
	@Excel(name = "账号渠道", width = 15, dicCode = "account_channel")
	@Dict(dicCode = "account_channel")
    @Schema(description = "账号渠道")
    private String accountChannel;
	/**账号分类*/
	@Excel(name = "账号分类", width = 15, dicCode = "account_category")
	@Dict(dicCode = "account_category")
    @Schema(description = "账号分类")
    private String accountCategory;
	/**账号状态*/
	@Excel(name = "账号状态", width = 15, dicCode = "account_status")
	@Dict(dicCode = "account_status")
    @Schema(description = "账号状态")
    private String accountStatus;
	/**检查状态*/
	@Excel(name = "检查状态", width = 15, dicCode = "review_status")
	@Dict(dicCode = "review_status")
    @Schema(description = "检查状态")
    private String reviewStatus;
	/**币种*/
	@Excel(name = "币种", width = 15, dicCode = "currency_code")
	@Dict(dicCode = "currency_code")
    @Schema(description = "币种")
    private String currencyCode;
	/**公司*/
	@Excel(name = "公司", width = 15)
    @Schema(description = "公司")
    private String company;
	/**网址*/
	@Excel(name = "网址", width = 15)
    @Schema(description = "网址")
    private String website;
	/**领域*/
	@Excel(name = "领域", width = 15)
    @Schema(description = "领域")
    private String industry;
	/**邮箱*/
	@Excel(name = "邮箱", width = 15)
    @Schema(description = "邮箱")
    private String email;
	/**删除标识*/
	@Excel(name = "删除标识", width = 15)
    @Schema(description = "删除标识")
    @TableLogic(value="0",delval="1")
    private Integer isDeleted;
	@Excel(name = "备注", width = 15)
	@Schema(description = "备注")
	private String remark;
	/**创建时间*/
	@Excel(name = "创建时间", width = 15, format = "yyyy-MM-dd")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @Schema(description = "创建时间")
    private Date createdAt;
	/**更新时间*/
	@Excel(name = "更新时间", width = 15, format = "yyyy-MM-dd")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @Schema(description = "更新时间")
    private Date updatedAt;


	public enum AChannel {
		Google,
		Meta,
		TikTok,
		Bing
	}
}
