# CrEmailTargetDTO.java

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

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

    import jakarta.validation.constraints.NotNull;
    import java.io.Serializable;

    /**
     * @author lichen
     * @description 邮件目标对象DTO
     * @date 2023/3/11 9:19
     */
    @Data
    @Builder
    @NoArgsConstructor
    @AllArgsConstructor
    @EqualsAndHashCode(callSuper = false)
    @Accessors(chain = true)
    public class CrEmailTargetDTO implements Serializable {

        private static final long serialVersionUID = 1L;

        /**
         * 主键id
         */
        private Integer id;

        /**
         * 邮件配置id
         */
        private Integer configId;

        /**
         * 通知类型
         */
        private Integer targetType;

        /**
         * 用户来源1：user 2: manual 3:usergroup
         */
        @NotNull(message = "The source cannot be null")
        @Range(min = 1, max = 3, message = "source must between in [1:user 2:manual 3:usergroup]")
        private Integer source;

        /**
         * 身份id。用户来源是manual时，此值为0
         */
        @NotNull(message = "the identityId must not be null")
        private Integer identityId;

        /**
         * 用户姓名
         */
        @Length(max = 60,message = "The identityName is limited 60 characters")
        private String identityName;

        /**
         * 邮箱地址
         */
        @Length(max = 60,message = "The email is limited 60 characters")
        private String email;

    }