package com.simuwang.base.pojo.dos;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.simuwang.base.pojo.vo.EmailTemplateDataRuleVO;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;

@Data
@TableName("email_template_data_rule")
public class EmailTemplateDataRuleDO {
    /**
     * 主键Id
     */
    @TableId(value = "id")
    private Integer id;
    /**
     * 模版id(email_template_info.id)
     */
    @TableId(value = "template_id")
    private Integer templateId;
    /**
     * 字段名称：1-备案编码，2-基金名称，3-净值日期，4-单位净值，5-累计净值，6-资产份额，7-资产净值
     */
    @TableId(value = "field_name")
    private Integer fieldName;
    /**
     * 提取位置：1-正文，2-正文表格
     */
    @TableId(value = "position")
    private Integer position;
    /**
     * 表格行
     */
    @TableId(value = "row")
    private Integer row;
    /**
     * 表格列
     */
    @TableId(value = "column")
    private String column;
    /**
     * 提取规则
     */
    @TableId(value = "field_rule")
    private String fieldRule;
    /**
     * 单位转换
     */
    @TableId(value = "unit_convert")
    private BigDecimal unitConvert;
    /**
     * 是否有效：0-无效，1-有效
     */
    @TableField(value = "isvalid")
    private Integer isvalid;
    /**
     * 创建者Id
     */
    @TableField(value = "creatorid")
    private Integer creatorId;
    /**
     * 创建时间
     */
    @TableField(value = "createtime")
    private Date createTime;
    /**
     * 修改者Id
     */
    @TableField(value = "updaterid")
    private Integer updaterId;
    /**
     * 更新时间
     */
    @TableField(value = "updatetime")
    private Date updateTime;

    public EmailTemplateDataRuleVO toVO() {
        EmailTemplateDataRuleVO vo = new EmailTemplateDataRuleVO();
        vo.setId(this.id);
        vo.setTemplateId(this.templateId);
        vo.setRow(this.row);
        vo.setFieldRule(this.fieldRule);
        vo.setColumn(this.column);
        vo.setPosition(this.position);
        vo.setUnitConvert(this.unitConvert);
        vo.setFieldName(this.fieldName);
        return vo;
    }
}
