# BgEmailConfigDTO.java

    package cloud.wconnect.frontoffice.pojo.dto.badguest;

    import lombok.*;
    import lombok.experimental.Accessors;
    import org.hibernate.validator.constraints.Length;
    import org.hibernate.validator.constraints.Range;

    import jakarta.validation.Valid;
    import jakarta.validation.constraints.NotNull;
    import java.io.Serializable;
    import java.util.List;

    /**
     * @author lichen
     * @description 邮件配置 DTO
     * @date 2023/3/11 9:15
     */
    @Data
    @Builder
    @NoArgsConstructor
    @AllArgsConstructor
    @EqualsAndHashCode(callSuper = false)
    @Accessors(chain = true)
    public class BgEmailConfigDTO implements Serializable {

        private static final long serialVersionUID = 1L;

        /**
         * 主键id
         */
        @NotNull(message = "the id cannot be null")
        private Integer id;

        /**
         * 默认邮件主题
         */
        private String defaultSubject;

        /**
         * 邮件主题
         */
        @NotNull(message = "The subject cannot be null")
        @Length(max = 200, message = "The subject max length is 200 chars.")
        private String subject;

        /**
         * 资产id
         */
        private int propertyId;
        /**
         * 邮件配置类型 1:审批通知 2：黑名单邮件 3：Arrivals Detailed/service 报告缺失 4：Guest-In-House/service 报告缺失 5:Reservations – made Yesterday/service 报告缺失
         */
        @NotNull(message = "The type cannot be null")
        @Range(min = 1, max = 5,message = "1:Approval notify 2:Checked in 3:Arrivals detailed report missed 4:Guest in house report missed 5:Reservations made yesterday report missed")
        private Integer type;
        /**
         * 收件人集合
         */
        @Valid
        private List<BgEmailTargetDTO> toList;
        /**
         * 抄送人集合
         */
        @Valid
        private List<BgEmailTargetDTO> ccList;

        /**
         * 状态（false：关闭，true：开启）
         */
        private Boolean status;

    }