package com.hzs.common.domain.system.base;

import com.baomidou.mybatisplus.annotation.*;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.hzs.common.core.annotation.Excel;
import com.hzs.common.core.annotation.Transaction;
import com.hzs.common.core.constant.EnumsPrefixConstants;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.util.Date;

/**
 * <p>
 * 统一翻译表
 * </p>
 *
 * @author hzs
 * @since 2022-08-08
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@KeySequence("BD_TRANSACTION_SEQ")
@TableName("BD_TRANSACTION")
public class BdTransaction implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @TableId("PK_ID")
    private Integer pkId;

    /**
     * 键
     */
    @TableField("KEY")
    @Excel(name = "KEY")
    private String key;

    /**
     * 中文
     */
    @Excel(name = "中文")
    @TableField("CHINESE")
    private String chinese;

    /**
     * 中文繁体
     */
    @Excel(name = "中文繁体")
    @TableField("TRADITIONAL")
    private String traditional;

    /**
     * 英文
     */
    @Excel(name = "英文")
    @TableField("ENGLISH")
    private String english;

    /**
     * 俄文
     */
    @Excel(name = "俄文")
    @TableField("RUSSIAN")
    private String russian;

    /**
     * 哈萨克斯坦文
     */
    @Excel(name = "哈萨克斯坦文")
    @TableField("KAZAKH")
    private String kazakh;
    /**
     * 法文
     */
    @Excel(name = "法文")
    @TableField("FRENCH")
    private String french;
    /**
     * 葡萄牙文
     */
//    @Excel(name = "葡萄牙语")
    @TableField("PORTUGUESE")
    private String portuguese;

    /**
     * 西班牙文
     */
//    @Excel(name = "西班牙语")
    @TableField("SPANISH")
    private String spanish;

    /**
     * 阿拉伯语
     */
//    @Excel(name = "阿拉伯语")
    @TableField("ARABIC")
    private String arabic;

    /**
     * 印度尼西亚文
     */
//    @Excel(name = "印度尼西亚文")
    @TableField("INDONESIA")
    private String indonesia;


    /**
     * 自定义1
     */
    @TableField("CUSTOM1")
    private String custom1;

    /**
     * 自定义2
     */
    @TableField("CUSTOM2")
    private String custom2;

    /**
     * 自定义3
     */
    @TableField("CUSTOM3")
    private String custom3;

    /**
     * 自定义4
     */
    @TableField("CUSTOM4")
    private String custom4;

    /**
     * 自定义5
     */
    @TableField("CUSTOM5")
    private String custom5;

    /**
     * 自定义6
     */
    @TableField("CUSTOM6")
    private String custom6;

    /**
     * 自定义7
     */
    @TableField("CUSTOM7")
    private String custom7;

    /**
     * 自定义8
     */
    @TableField("CUSTOM8")
    private String custom8;

    /**
     * 自定义9
     */
    @TableField("CUSTOM9")
    private String custom9;

    /**
     * 自定义10
     */
    @TableField("CUSTOM10")
    private String custom10;

    /**
     * 创建人
     */
    @TableField("PK_CREATOR")
    private Long pkCreator;

    /**
     * 创建人
     */
    @TableField(exist = false)
    private String creator;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @TableField("CREATION_TIME")
    private Date creationTime;

    /**
     * 修改人
     */
    @TableField("PK_MODIFIED")
    private Long pkModified;

    /**
     * 修改人
     */
    @TableField(exist = false)
    private String modified;

    /**
     * 修改时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @TableField("MODIFIED_TIME")
    private Date modifiedTime;

    /**
     * 逻辑删除 (0=未删除，1已删除)
     */
    @JsonIgnore
    @TableLogic
    @TableField("DEL_FLAG")
    private Integer delFlag;

    /**
     * 是否缓存（0=是,1=否）
     */
    @TableField("IS_CACHE")
    @Transaction(transactionKey = EnumsPrefixConstants.YES_NO)
    private Integer isCache;



    /**
     * 是否上传（0=是,1=否）
     */
    @TableField("IS_UPLOAD")
    @Transaction(transactionKey = EnumsPrefixConstants.YES_NO)
    private Integer isUpload;

}
