package com.hzs.common.domain.sale.modifyRecord;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.hzs.common.core.web.domain.BaseEntity;
import lombok.*;
import lombok.experimental.Accessors;

import java.util.Date;

/**
 * <p>
 * 修改记录
 * </p>
 *
 * @author hzs
 * @since 2023-02-27
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@KeySequence("BD_MODIFY_RECORD_SEQ")
@TableName("BD_MODIFY_RECORD")
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class BdModifyRecord  {

    private static final long serialVersionUID = 1L;

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

    /**
     * 原值（json）
     */
    @TableField("OLD_VALUE")
    private String oldValue;

    /**
     * 新值（json）
     */
    @TableField("NEW_VALUE")
    private String newValue;

    /**
     * 审核状态  0待审核 1 审核通过 2 审核驳回
     */
    @TableField("AUDIT_STATUS")
    private Integer auditStatus;

    /**
     * 类型 1 ：商品修改
     */
    @TableField("TYPE")
    private Integer type;

    /**
     * 创建人ID
     */
    @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;

    /**
     * 修改人ID
     */
    @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;

    /**
     * 国家
     */
    @TableField("PK_COUNTRY")
    private Integer pkCountry;

    /**
     * 商品主键
     */
    @TableField("PK_WARES")
    private Integer pkWares;

    /**
     * 审核人
     */
    @TableField("PK_REVIEW")
    private Long pkReview;

    /**
     * 审核备注
     */
    @TableField("REVIEW_REMARKS")
    private String reviewRemarks;

    /**
     * 审核时间
     */
    @TableField("REVIEW_TIME")
    private Date reviewTime;

    /**
     * 商产品名称
     */
    @TableField("NAME")
    private String name;

    /**
     * 商产品编号
     */
    @TableField("CODE")
    private String code;

    /**
     * 审核人名称
     */
    @TableField("REVIEW_NAME")
    private String reviewName;

    /**
     * 创建者名称
     */
    @TableField("CREATOR_NAME")
    private String creatorName;

    /**
     * 发起部门id
     */
    @TableField("PK_CREATION_DEPT")
    private Long pkCreationDept;

    /**
     * 发起部门名称（冗余）
     */
    @TableField("CREATION_DEPT_NAME")
    private String creationDeptName;

    /**
     * 审核部门id
     */
    @TableField("PK_REVIEW_DEPT")
    private Long pkReviewDept;

    /**
     * 审核部门名称（冗余）
     */
    @TableField("REVIEW_DEPT_NAME")
    private String reviewDeptName;

}
