package com.chinaweal.aiccs.aiccs.susnate.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.chinaweal.aiccs.common.util.DateUtils;
import com.chinaweal.youfool.framework.springboot.json.LocalDateTimeStringSerializer;
import com.chinaweal.youfool.framework.springboot.mybatis.plus.SuperEntity;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.Date;

/**
 *
 * @author zhouxy
 * @since 2025-12-29
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName(value = "e_susnate_operreg")
@ApiModel(value = "ESUSNATEOPERREG对象", description = "涉嫌冒用他人身份取得登记信息")
public class ESusNateOperReg extends SuperEntity implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 冒用ID
     */
    @ApiModelProperty(value = "冒用ID")
    @TableId(value = "PERSONATEID")
    private String personateId;

    /**
     * 主体身份代码(CA14)
     */
    @ApiModelProperty(value = "主体身份代码(CA14)")
    @TableField(value = "PRIPID")
    private String pripid;

    /**
     * 市场主体名称
     */
    @ApiModelProperty(value = "市场主体名称")
    @TableField(value = "ENTNAME")
    private String entname;

    /**
     * 统一社会信用代码(CA91)
     */
    @ApiModelProperty(value = "统一社会信用代码(CA91)")
    @TableField(value = "UNISCID")
    private String uniscid;

    /**
     * 注册号
     */
    @ApiModelProperty(value = "注册号")
    @TableField(value = "REGNO")
    private String regno;

    /**
     * 冒名登记时间
     */
    @ApiModelProperty(value = "冒名登记时间")
    @TableField(value = "REGTIME")
    @JsonFormat(pattern = DateUtils.DATE_DEFAULT_FORMAT, timezone = "GMT+8")
    private LocalDate regTime;

    /**
     * 冒名登记事项
     */
    @ApiModelProperty(value = "冒名登记事项")
    @TableField(value = "REGITEM")
    private String regItem;

    /**
     * 登记机关(CA11)
     */
    @ApiModelProperty(value = "登记机关(CA11)")
    @TableField(value = "REGORG")
    private String regOrg;

    /**
     * 登记机关（中文名称）
     */
    @ApiModelProperty(value = "登记机关（中文名称）")
    @TableField(value = "REGORG_CN")
    private String regOrgCn;

    /**
     * 联系方式
     */
    @ApiModelProperty(value = "联系方式")
    @TableField(value = "TEL")
    private String tel;

    /**
     * 公告期自
     */
    @ApiModelProperty(value = "公告期自")
    @TableField(value = "NOTICEFROM")
    @JsonFormat(pattern = DateUtils.DATE_DEFAULT_FORMAT, timezone = "GMT+8")
    private LocalDate noticeFrom;

    /**
     * 公告期至
     */
    @ApiModelProperty(value = "公告期至")
    @TableField(value = "NOTICETO")
    @JsonFormat(pattern = DateUtils.DATE_DEFAULT_FORMAT, timezone = "GMT+8")
    private LocalDate noticeTo;

    /**
     * 姓名
     */
    @ApiModelProperty(value = "姓名")
    @TableField(value = "NAME")
    private String name;

    /**
     * 处理结果
     */
    @ApiModelProperty(value = "处理结果")
    @TableField(value = "HANDLREST")
    private String handlRest;

    /**
     * 处理原因(CD96)
     */
    @ApiModelProperty(value = "处理原因(CD96)")
    @TableField(value = "HANDLREA")
    private String handlRea;

    /**
     * 处理原因（中文名称）
     */
    @ApiModelProperty(value = "处理原因（中文名称）")
    @TableField(value = "HANDLREACN")
    private String handlReaCn;

    /**
     * 作出决定机关
     */
    @ApiModelProperty(value = "作出决定机关")
    @TableField(value = "JUDAUTH")
    private String judAuth;

    /**
     * 作出决定机关（中文名称）
     */
    @ApiModelProperty(value = "作出决定机关（中文名称）")
    @TableField(value = "JUDAUTH_CN")
    private String judAuthCn;

    /**
     * 作出决定日期
     */
    @ApiModelProperty(value = "作出决定日期")
    @TableField(value = "JUDDATE")
    @JsonFormat(pattern = DateUtils.DATE_DEFAULT_FORMAT, timezone = "GMT+8")
    private LocalDate judDate;

    /**
     * 数据汇总单位
     */
    @ApiModelProperty(value = "数据汇总单位")
    @TableField(value = "S_EXT_FROMNODE")
    private String sExtFromNode;

    /**
     * 数据汇总时间
     */
    @ApiModelProperty(value = "数据汇总时间")
    @TableField(value = "S_EXT_DATATIME")
    @JsonFormat(pattern = DateUtils.DATETIME_DEFAULT_FORMAT, timezone = "GMT+8")
    private LocalDateTime sExtDataTime;

    /**
     * 用户名
     */
    @ApiModelProperty(value = "用户名")
    @TableField(value = "USERNAME")
    private String userName;

    /**
     * 是否删除0未删除2已删除
     */
    @ApiModelProperty(value = "是否删除0未删除2已删除")
    @TableField(value = "dstate")
    private String dstate;
}
