package com.tourism.webadmin.app.website.dto;

import com.tourism.common.core.validator.AddGroup;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import lombok.Data;

import java.util.Date;

@Data
public class TourismBookProjectDto {

//    @NotNull(message = "type不能为空！", groups = {UpdateGroup.class})
    private Integer type;

    @NotNull(message = "项目不能为空！", groups = {AddGroup.class})
    private String projectId;

//    @NotNull(message = "成人数量不能为空！", groups = {AddGroup.class})
    private Integer adultNumber;

    /**
     * 顾客姓名。
     * NOTE: 可支持等于操作符的列表数据过滤。
     */
    @Schema(description = "联系人姓名。可支持等于操作符的列表数据过滤。")
    @NotEmpty(message = "联系人姓名不能为空！", groups = {AddGroup.class})
    private String customerName;

//    @NotNull(message = "儿童数量不能为空！", groups = {AddGroup.class})
    private Integer childrenNumber;

    @NotNull(message = "联系电话不能为空！", groups = {AddGroup.class})
    private String customerMobile;

    private String customerMobileStandby;

    @NotNull(message = "微信不能为空！", groups = {AddGroup.class})
    private String customerWechat;

    @NotNull(message = "开始日期不能为空！", groups = {AddGroup.class})
    private Date startDate;

    /**
     * 分享人
     */
    private Long shareId;

    /**
     * 拼团id
     */
    private Long groupId;

    public String getString() {
        return type + "_" + projectId + "_" + adultNumber + "_" + childrenNumber + "_" + startDate + "_" + customerName + "_" + customerMobile + "_" + customerMobileStandby;
    }
}
