package com.xjrsoft.module.oa.vo;

import com.baomidou.mybatisplus.annotation.TableField;
import com.github.yulichang.annotation.EntityMapping;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.time.LocalDateTime;
import java.util.List;

/**
 * 公告详情出参
 * @Author: szs
 * @Date: 2023/3/8 14:34
 */
@Data
public class ProclamationVo {

    @ApiModelProperty("主键")
    private Long id;

    @ApiModelProperty("状态 1=未发布 2=已发布 3=下架")
    private Integer status;

    @ApiModelProperty("完整标题")
    private String fullHead;

    @ApiModelProperty("标题颜色")
    private String fullHeadColor;

    /**
     * 发送部门
     */
    @ApiModelProperty("发送部门")
    private Long sendDeptId;

    /**
     * 发送部门
     */
    @ApiModelProperty("发送部门")
    private String sendDeptIdCN;

    @ApiModelProperty("发布时间")
    private LocalDateTime releaseTime;

    /**
     * 紧急程度  1=一般 2=紧急
     */
    @ApiModelProperty("紧急程度  1=一般 2=紧急")
    private Integer emergent;

    /**
     * 接收人回复要求 1=必须回复 2=不允许回复 3=可以回复 (不强制要求)
     */
    @ApiModelProperty("接收人回复要求 1=必须回复 2=不允许回复 3=可以回复 (不强制要求)")
    private Integer openReply;

    /**
     * 发送范围 1=所有人 2=根据权限
     */
    @ApiModelProperty("发送范围 1=全校教职工 2=全校师生 3=指定人员")
    private Integer sendRange;

    /**
     * 张贴结束时间
     */
    @ApiModelProperty("张贴结束时间")
    private LocalDateTime sendEndDate;

    @ApiModelProperty("新闻内容")
    private String newsContent;

    /**
     * 发送部门
     */
    @ApiModelProperty("发送部门")
    private Long createUserId;

    /**
     * 附件子表
     */
    @ApiModelProperty("附件子表")
    @TableField(exist = false)
    @EntityMapping(thisField = "id", joinField = "newsId")
    private List<NewsAppendixVo> appendixList;

    /**
     * 关系子表
     */
    @ApiModelProperty("关系子表")
    @TableField(exist = false)
    @EntityMapping(thisField = "id", joinField = "newsId")
    private List<NewsRelationVo> relationList;

    /**
     * 关系配置子表
     */
    @ApiModelProperty("关系配置子表")
    @TableField(exist = false)
    @EntityMapping(thisField = "id", joinField = "newsId")
    private List<NewsRelationConfigVo> newsRelationConfigVoList;

}
