# RateShopEmailConfigDTO.java

    package cloud.wconnect.rateshop.pojo.dto.rateshop.emailconfig;

    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;

    /**
     * 邮件配置 DTO
     */
    @Data
    @Builder
    @NoArgsConstructor
    @AllArgsConstructor
    @EqualsAndHashCode(callSuper = false)
    @Accessors(chain = true)
    public class RateShopEmailConfigDTO implements Serializable {

        private static final long serialVersionUID = 1L;

        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 Integer propertyId;

        /**
         * 类型 1:alert rule 2:History and forecast report missed 3:group pickup report missed 4:Occ Snapshot for the next N Days
         */
        @NotNull(message = "The type cannot be null")
        private Integer type;

        /**
         * 收件人集合
         */
        @Valid
        private List<RateShopEmailTargetDTO> toList;
        /**
         * 抄送人集合
         */
        @Valid
        private List<RateShopEmailTargetDTO> ccList;

        /**
         * 状态
         */
        @NotNull(message = "The status cannot be null")
        private Boolean status;

    }