package com.red.circle.console.app.dto.clienobject.approval;

import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.red.circle.common.business.core.enums.DataApprovalTypeEnum;
import com.red.circle.other.inner.model.dto.user.UserProfileDTO;
import java.io.Serializable;
import java.sql.Timestamp;
import lombok.Data;
import lombok.experimental.Accessors;

/**
 * <p>
 * 审批用户资料违规历史记录
 * </p>
 *
 * @author pengliang
 * @since 2020-01-10
 */
@Data
@Accessors(chain = true)
public class ApprovalUserViolationHistoryCO implements Serializable {

  private static final long serialVersionUID = 1L;

  /**
   * 主键标识.
   */
  @JsonSerialize(using = ToStringSerializer.class)
  private Long id;

  /**
   * 被审批用户id.
   */
  @JsonSerialize(using = ToStringSerializer.class)
  private Long userId;

  /**
   * 被审批用户资料信息.
   */
  private UserProfileDTO userBaseInfo;

  /**
   * 违规类型.
   */
  private DataApprovalTypeEnum violationType;

  /**
   * 违规类型.
   */
  private String violationTypeName;

  /**
   * 机器审核标签.
   */
  private String labelNames;

  /**
   * 人审结果.
   */
  private String approvalResult;
  private String approvalResultName;

  /**
   * 违规内容编号.
   */
  private Long contentId;

  /**
   * 违规内容.
   */
  private String content;

  /**
   * 审批描述.
   */
  private String description;

  /**
   * 创建时间.
   */
  private Timestamp createTime;

  /**
   * 创建用户.
   */
  private Long createUser;

  /**
   * 修改用户.
   */
  private Long updateUser;

  /**
   * 审批人用户名称.
   */
  private String approvalNickname;

  /**
   * 审批人用户资料信息.
   */
  private UserProfileDTO approvalUserBaseInfo;

  /**
   * 1.App审核 0.后台审核.
   */
  private Integer originType;

  /**
   * 资料更新时间.
   */
  private Timestamp lastUpdateTime;

}
