package com.muyu.system.domain; import com.fasterxml.jackson.annotation.JsonFormat; import com.muyu.common.core.web.domain.BaseEntity; import com.muyu.common.core.xss.Xss; import lombok.AllArgsConstructor; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.NoArgsConstructor; import lombok.experimental.SuperBuilder; import jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.Size; import java.util.Date; import java.util.List; /** * 通知公告表 sys_notice * * @author muyu */ @Data @SuperBuilder @NoArgsConstructor @AllArgsConstructor @EqualsAndHashCode(callSuper = true) public class SysNotice extends BaseEntity { private static final long serialVersionUID = 1L; /** * 公告ID */ private Long noticeId; /** * 公告标题 */ private String noticeTitle; /** * 公告类型(1通知 2公告) */ private String noticeType; /** * 公告内容 */ private String noticeContent; /** * 公告状态(0正常 1关闭) */ private String status; /** * 公告阅读状态 */ private String readStatus; /** * 通知特定人员的id * @return */ private List userIds; /** * 通知部门人员的id * @return */ private List> deptIds; /** * 消息创建人 */ private String createBy; /** * 开始时间 */ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date startTime; /** * 结束时间 */ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date endTime; @Xss(message = "公告标题不能包含脚本字符") @NotBlank(message = "公告标题不能为空") @Size(min = 0, max = 50, message = "公告标题不能超过50个字符") public String getNoticeTitle () { return noticeTitle; } }