package org.dromara.system.domain.notice.bo;

import com.baomidou.mybatisplus.annotation.TableField;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*;
import org.dromara.system.domain.notice.XiaoyuanNotice;

/**
 * 校园新闻业务对象 xiaoyuan_notice
 *
 * @author boman
 * @date 2023-08-16
 */
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = XiaoyuanNotice.class, reverseConvertGenerate = false)
public class XiaoyuanNoticeBo extends BaseEntity {

    /**
     * 新闻ID
     */
    //@NotNull(message = "新闻ID不能为空", groups = { EditGroup.class })
    private Long noticeId;

    /**
     * 新闻缩略图
     */
    //@NotBlank(message = "新闻缩略图不能为空", groups = { AddGroup.class, EditGroup.class })
    private String image;

    /**
     * 新闻标题
     */
    //@NotBlank(message = "新闻标题不能为空", groups = { AddGroup.class, EditGroup.class })
    private String noticeTitle;

    /**
     * 新闻类型（1系统通知 2代办通知）
     */
    //@NotBlank(message = "新闻类型（1系统通知 2代办通知）不能为空", groups = { AddGroup.class, EditGroup.class })
    private String noticeType;

    /**
     * 新闻内容
     */
    //@NotBlank(message = "新闻内容不能为空", groups = { AddGroup.class, EditGroup.class })
    private String noticeContent;

    /**
     * 新闻状态（0未读 1已读）
     */
    //@NotBlank(message = "新闻状态（0未读 1已读）不能为空", groups = { AddGroup.class, EditGroup.class })
    private String status;

    /**
     * 隐私种类 0:全部 1:仅可见 2:仅不可见 3:仅自己
     */
    //@NotBlank(message = "隐私种类 0:全部 1:仅可见 2:仅不可见 3:仅自己不能为空", groups = { AddGroup.class, EditGroup.class })
    private String type;

    /**
     * 可见班级id
     */
    //@NotBlank(message = "可见班级id不能为空", groups = { AddGroup.class, EditGroup.class })
    private String classIdKeJian;

    /**
     * 不可见班级id
     */
    //@NotBlank(message = "不可见班级id不能为空", groups = { AddGroup.class, EditGroup.class })
    private String classIdBuKeJian;

    /**
     * 发件人id
     */
    //@NotBlank(message = "发件人id不能为空", groups = { AddGroup.class, EditGroup.class })
    private String senderId;

    /**
     * 发件人姓名
     */
    //@NotBlank(message = "发件人姓名不能为空", groups = { AddGroup.class, EditGroup.class })
    private String senderName;

    /**
     * 发件人班级id
     */
    //@NotBlank(message = "发件人班级id不能为空", groups = { AddGroup.class, EditGroup.class })
    private String senderDept;

    /**
     * 备注
     */
    //@NotBlank(message = "备注不能为空", groups = { AddGroup.class, EditGroup.class })
    private String remark;

    /**
     * 学校名称
     */
   // @NotBlank(message = "学校名称不能为空", groups = { AddGroup.class, EditGroup.class })
    private String schoolName;

    /**
     * 头像地址
     */
    //@NotBlank(message = "头像地址不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long avatar;

    /**
     * 评论
     */
    //@NotBlank(message = "评论不能为空", groups = { AddGroup.class, EditGroup.class })
    private String comment;

    /**
     * 点赞
     */
    //@NotBlank(message = "点赞不能为空", groups = { AddGroup.class, EditGroup.class })
    private String prised;

    /**
     * 收藏
     */
    //@NotBlank(message = "收藏不能为空", groups = { AddGroup.class, EditGroup.class })
    private String collect;
    //判断更新的类型 1:评论 2:点赞 3:收藏
    @TableField(exist = false)
    private String updateType;
    @TableField(exist = false)
    private String deleteId;

}
