package com.chinaweal.aiccs.aiccs.force.entity;

import cn.afterturn.easypoi.excel.annotation.ExcelTarget;
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.json.LocalDateTimeStringSerializer;
import com.chinaweal.youfool.framework.springboot.mybatis.plus.SuperEntity;
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;

/**
 * 拟强制注销公告表
 *
 * @author zhouxy
 * @since 2025/9/26
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName(value = "xr_force_deregister")
@ApiModel(value = "XrForceDeregister对象", description = "拟强制注销公告表")
@ExcelTarget(value = "XrForceDeregister")
public class XrForceDeregister extends SuperEntity implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 拟强制注销公告ID
     */
    @ApiModelProperty(value = "拟强制注销公告ID")
    @TableId(value = "forceid", type = IdType.ASSIGN_UUID)
    private String forceId;

    /**
     * 公告标题
     */
    @ApiModelProperty(value = "公告标题")
    @TableField("notice_title")
    private String noticeTitle;

    /**
     * 公告内容
     */
    @ApiModelProperty(value = "公告内容")
    @TableField("notice_content")
    private String noticeContent;

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

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

    /**
     * 公告期自
     */
    @ApiModelProperty(value = "公告期自")
    @JsonSerialize(using = LocalDateTimeStringSerializer.class)
    @TableField("notice_from")
    private LocalDate noticeFrom;

    /**
     * 公告期至
     */
    @ApiModelProperty(value = "公告期至")
    @JsonSerialize(using = LocalDateTimeStringSerializer.class)
    @TableField("notice_to")
    private LocalDate noticeTo;

}
