package com.chinaweal.aiccs.aiccs.expelled.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.chinaweal.youfool.framework.springboot.mybatis.plus.SuperEntity;
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.util.List;

/**
 * @Description: 市场主体拟除名名单告知业务表实体类
 * @Author: TiAmo-cc
 * @Email: 1049976610@qq.com
 * @Date: 2026/1/5 10:38
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName(value = "EXPELLED_BIZ_INFO")
@ApiModel(value = "ExpelledBizInfo对象", description = "市场主体拟除名名单告知业务信息")
public class ExpelledBizInfo extends SuperEntity implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 主键ID（UUID）
     */
    @ApiModelProperty(value = "主键ID")
    @TableId(value = "ID", type = IdType.ASSIGN_UUID)
    private String id;

    /**
     * 业务号
     */
    @ApiModelProperty(value = "业务号")
    @TableField(value = "BIZ_NO")
    private String bizNo;

    /**
     * 除名决定的事实
     */
    @ApiModelProperty(value = "除名决定的事实")
    @TableField(value = "TRUTH")
    private String truth;

    /**
     * 除名决定的理由
     */
    @ApiModelProperty(value = "除名决定的理由")
    @TableField(value = "REASON")
    private String reason;

    /**
     * 除名决定的依据
     */
    @ApiModelProperty(value = "除名决定的依据")
    @TableField(value = "LAW")
    private String law;

    /**
     * 除名决定的后果
     */
    @ApiModelProperty(value = "除名决定的后果")
    @TableField(value = "RESULT")
    private String result;

    /**
     * 除名告知日期
     */
    @ApiModelProperty(value = "除名告知日期")
    @TableField(value = "REMOVE_TIME")
    private LocalDate removeTime;

    /**
     * 除名机关编码
     */
    @ApiModelProperty(value = "除名机关编码")
    @TableField(value = "REMOVE_ORG_NO")
    private String removeOrgNo;

    /**
     * 除名机关名称
     */
    @ApiModelProperty(value = "除名机关名称")
    @TableField(value = "REMOVE_ORG_NAME")
    private String removeOrgName;

    /**
     * 逻辑删除标识：0-未删除，1-已删除
     */
    @ApiModelProperty(value = "逻辑删除标识：0-未删除，1-已删除")
    @TableField(value = "IS_DELETE")
    private String isDelete;

    /**
     * 拟除名市场主体ID
     */
    @ApiModelProperty(value = "拟除名市场主体ID")
    @TableField(exist = false)
    private List<String> expelledIds;

    /**
     * 业务名称
     */
    @ApiModelProperty(value = "业务名称")
    @TableField(exist = false)
    private String busName;
}