package org.dromara.game.domain.vo;

import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert;
import org.dromara.game.domain.PlatChannel;

import java.io.Serial;
import java.io.Serializable;



/**
 * 渠道视图对象 plat_channel
 *
 * @author Hixon
 * @date 2024-08-07
 */
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = PlatChannel.class)
public class PlatChannelVo implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 渠道ID
     */
    @ExcelProperty(value = "渠道ID")
    private Long id;

    /**
     * 产品ID
     */
    @ExcelProperty(value = "产品ID", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "sys_normal_disable")
    private Long productId;

    /**
     * 代理商ID
     */
    @ExcelProperty(value = "代理商ID", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "sys_normal_disable")
    private Long proxyId;

    /**
     * 媒体账号ID
     */
    @ExcelProperty(value = "媒体账号ID")
    private String accountId;

    /**
     * 产品名
     */
    @ExcelProperty(value = "产品名")
    private String productName;

    /**
     * 媒体类型
     */
    @ExcelProperty(value = "媒体类型")
    private String platType;

    /**
     * 投放人员名称
     */
    @ExcelProperty(value = "投放人员名称")
    private String userName;

    /**
     * 渠道名称
     */
    @ExcelProperty(value = "渠道名称")
    private String name;

    /**
     * 公司名
     */
    @ExcelProperty(value = "公司名")
    private String company;

    /**
     * 运营方式
     */
    @ExcelProperty(value = "运营方式")
    private String operatingMode;

    /**
     * 投放方式
     */
    @ExcelProperty(value = "投放方式")
    private String deliveryMode;

    /**
     * 激活上报规则
     */
    @ExcelProperty(value = "激活上报规则")
    private String activeRules;

    /**
     * 关键行为上报规则
     */
    @ExcelProperty(value = "关键行为上报规则")
    private String actionRules;

    /**
     * 是否上报
     */
    @ExcelProperty(value = "是否上报")
    private String isReport;

    /**
     * 状态（0正常 1停用）
     */
    @ExcelProperty(value = "状态", converter = ExcelDictConvert.class)
    @ExcelDictFormat(readConverterExp = "0=正常,1=停用")
    private String status;


}
