package com.chinaweal.aiccs.aiccs.revoke.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.baomidou.mybatisplus.extension.activerecord.Model;
import com.chinaweal.aiccs.common.util.DateUtils;
import com.fasterxml.jackson.annotation.JsonFormat;
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;

/**
 * <p>
 * 公告任务名单详细名录表
 * </p>
 *
 * @author system
 * @since 2026-02-26
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("ANNOUNCEMENT_TASK_LIST_DETAIL")
@ApiModel(value = "公告任务名单详细名录", description = "公告任务名单详细名录表")
public class AnnouncementTaskListDetail extends Model<AnnouncementTaskListDetail> {

    private static final long serialVersionUID = 1L;

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

    /**
     * 任务名单id
     */
    @TableField("TASK_LIST_ID")
    @ApiModelProperty(value = "任务名单id")
    private String taskListId;

    /**
     * 市场主体主键
     */
    @TableField("PRIPID")
    @ApiModelProperty(value = "市场主体主键")
    private String pripid;

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

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

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

    /**
     * 市场主体类型
     */
    @TableField("ENTTYPE")
    @ApiModelProperty(value = "市场主体类型")
    private String enttype;

    /**
     * 所属行业门类
     */
    @TableField("INDUSTRYPHY")
    @ApiModelProperty(value = "所属行业门类")
    private String industryphy;

    /**
     * 所属行业子类
     */
    @TableField("INDUSTRYCO")
    @ApiModelProperty(value = "所属行业子类")
    private String industryco;

    /**
     * 吊销时间
     */
    @TableField("REVOKETIME")
    @ApiModelProperty(value = "吊销时间")
    @JsonFormat(pattern = DateUtils.DATE_DEFAULT_FORMAT, timezone = "GMT+8")
    private LocalDate revoketime;

    /**
     * 创建人id
     */
    @TableField("CREATE_USER_ID")
    @ApiModelProperty(value = "创建人id")
    private String createUserId;

    /**
     * 创建人时间
     */
    @TableField("CREATE_TIME")
    @ApiModelProperty(value = "创建人时间")
    @JsonFormat(pattern = DateUtils.DATETIME_DEFAULT_FORMAT, timezone = "GMT+8")
    private LocalDateTime createTime;

    /**
     * 更新人id
     */
    @TableField("UPDATE_USER_ID")
    @ApiModelProperty(value = "更新人id")
    private String updateUserId;

    /**
     * 更新时间
     */
    @TableField("UPDATE_TIME")
    @ApiModelProperty(value = "更新时间")
    @JsonFormat(pattern = DateUtils.DATETIME_DEFAULT_FORMAT, timezone = "GMT+8")
    private LocalDateTime updateTime;

    /**
     * 是否删除标记（0否1是）
     */
    @TableField("DEL_FLAG")
    @ApiModelProperty(value = "是否删除标记（0否1是）")
    private String delFlag;

    @Override
    protected Serializable pkVal() {
        return this.id;
    }
}