package com.ruoyi.info.patient.domain.bo;

import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.*;

import java.util.Date;

import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 就诊人业务对象 tb_patient
 *
 * @author ruoyi
 * @date 2025-09-20
 */
@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel("就诊人业务对象")
public class PatientBo extends BaseEntity {

    /**
     * ID
     */
    @ApiModelProperty(value = "ID", required = true)
    private Long id;

    /**
     * C端用户ID
     */
    @ApiModelProperty(value = "C端用户ID", required = true)
    private Long userId;

    /**
     * 姓名
     */
    @ApiModelProperty(value = "姓名", required = true)
    @NotBlank(message = "姓名不能为空", groups = { AddGroup.class, EditGroup.class })
    private String name;

    /**
     * 手机号
     */
    @ApiModelProperty(value = "手机号", required = true)
    @NotBlank(message = "手机号不能为空", groups = { AddGroup.class, EditGroup.class })
    private String mobile;

    /**
     * 性别
    * 0：未知、
    * 1：男、
    * 2：女
     */
    @ApiModelProperty(value = "性别 0：未知、1：男、2：女", required = true)
    private Integer gender;

    /**
     * 年龄
     */
    @ApiModelProperty(value = "年龄", required = true)
    private Integer age;

    /**
     * 关系
     */
    @ApiModelProperty(value = "关系", required = true)
    private String relationship;

    /**
     * 是否默认
     */
    @ApiModelProperty(value = "是否默认", required = true)
    private Boolean defaulted;
}
