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_notice")
@ApiModel(value = "XrForceNotice对象", description = "强制注销登记决定书送达公告")
@ExcelTarget(value = "XrForceNotice")
public class XrForceNotice extends SuperEntity implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 公告ID
     */
    @ApiModelProperty(value = "公告ID")
    @TableId(value = "noticeid", type = IdType.ASSIGN_UUID)
    private String noticeId;

    /**
     * 公告标题
     */
    @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("anndate")
    private LocalDate annDate;

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

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

    /**
     * 强制注销登记决定书下载地址
     */
    @ApiModelProperty(value = "强制注销登记决定书下载地址")
    @TableField("website")
    private String website;

}
