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: tzx
 * @Date: 2023/3/8 14:34
 */
@Data
public class NewsVo {

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

    @ApiModelProperty("所属类别主键")
    private Long categoryId;

    @ApiModelProperty("所属类别")
    private String category;

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

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

    @ApiModelProperty("简略标题")
    private String briefHead;

    @ApiModelProperty("作者")
    private String authorName;

    @ApiModelProperty("编辑")
    private String compileName;

    @ApiModelProperty("Tag词")
    private String tagWord;

    @ApiModelProperty("关键字")
    private String keyword;

    @ApiModelProperty("来源")
    private String sourceName;

    @ApiModelProperty("来源地址")
    private String sourceAddress;

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

    @ApiModelProperty("浏览量")
    private Integer pv;

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

    @ApiModelProperty("排序码")
    private Integer sortCode;

    @ApiModelProperty("备注")
    private String remark;

    @ApiModelProperty("班级(base_class)")
    private Long classId;

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

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

    /**
     * 张贴开起时间
     */
    @ApiModelProperty("张贴开起时间")
    private LocalDateTime sendStartDate;

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

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

    /**
     * 是否允许接收人转发 0=不能转发 1=允许转发
     */
    @ApiModelProperty("是否允许接收人转发 0=不能转发 1=允许转发")
    private Integer openForward;

    /**
     * 是否允许接收人查看其他接收人 0=不允许查看 1=允许查看
     */
    @ApiModelProperty("是否允许接收人查看其他接收人 0=不允许查看 1=允许查看")
    private Integer openViewOther;

    /**
     * 级别 1=校级 2=班级
     */
    @ApiModelProperty("级别 1=校级 2=班级")
    private Integer level;

    @ApiModelProperty("发送范围 1=所有人 2=根据权限")
    private Integer sendRange;

    /**
     * 附件子表
     */
    @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;

}
