package com.xinelu.familydoctor.applet.pojo.body;

import com.xinelu.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

/**
 * @Author mengkuiliang
 * @Description 解约申请请求对象
 * @Date 2023-09-27 027 16:56
 * @Param
 * @return
 **/
@ApiModel("解约申请请求体")
@Data
@EqualsAndHashCode(callSuper = true)
public class ResidentRescindApplyBody extends BaseEntity {

    /**
     * 解约申请业务主键
     */
    @ApiModelProperty(value = "解约申请业务主键")
    private String applyNo;

    /**
     * 居民编号
     */
    @ApiModelProperty(value = "居民业务主键", required = true)
    private String patientId;

    /**
     * 签约编号
     */
    @NotNull(message = "签约编号不能为空")
    @NotBlank(message = "签约编号不能为空")
    @ApiModelProperty(value = "签约编号")
    private String signNo;

    /**
     * 居民身份证号
     */
    @NotNull(message = "居民身份证号不能为空")
    @NotBlank(message = "居民身份证号不能为空")
    @ApiModelProperty(value = "居民身份证号", required = true)
    private String identity;

    /**
     * 机构编号
     */
    @ApiModelProperty(value = "机构编号", required = true)
    private String orgNo;

    /**
     * 机构名称
     */
    @ApiModelProperty(value = "机构名称", required = true)
    private String orgName;

    /**
     * 团队编号
     */
    @ApiModelProperty(value = "团队编号", required = true)
    private String teamNo;

    /**
     * 团队名称
     */
    @ApiModelProperty(value = "团队名称", required = true)
    private String teamName;

    /**
     * 医生编号
     */
    @ApiModelProperty(value = "医生编号", required = true)
    private String userNo;

    /**
     * 医生姓名
     */
    @ApiModelProperty(value = "医生姓名", required = true)
    private String userName;

    /**
     * 解约类型（1：主动解约 2：迁出 3：死亡 4：到期 5：其他）
     */
    @NotNull(message = "解约类型不能为空")
    @NotBlank(message = "解约类型不能为空")
    @ApiModelProperty(value = "解约类型（1：主动解约 2：迁出 3：死亡 4：到期 5：其他）", required = true)
    private String rescindType;

    /**
     * 解约原因
     */
    @NotNull(message = "解约原因不能为空")
    @NotBlank(message = "解约原因不能为空")
    @ApiModelProperty(value = "解约原因", required = true)
    private String rescindReason;
}
