package com.cool.store.request;

import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.hibernate.validator.constraints.Length;

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

/**
 * @Author: WangShuo
 * @Date: 2025/06/10/09:33
 * @Version 1.0
 * @注释:
 */
@Data
public class BuildSettlerRequest {

    @NotNull
    private Long shopId;

    @ApiModelProperty("结算人身份证信息是否和加盟商一致，false否，true是")
    @NotNull(message = "结算人身份证信息是否和加盟商一致不能为空")
    private  Boolean settlerIsSamePartner ;

   // @ApiModelProperty("结算人姓名")
    @NotBlank(message = "结算人姓名  不能为空")
    @JsonProperty("settlerName")
    private String settlerName;

   // @NotBlank(message = "结算人身份证正面  不能为空")
    @Length(max = 250 , message = "结算人身份证正面 长度不能超过250")
    @ApiModelProperty("结算人身份证正面（图片）")
    private String settlerIdCardFront;

   @NotBlank(message = "结算人手持身份证正面   不能为空")
    @Length(max = 250 , message = "结算人手持身份证正面  长度不能超过250")
    @ApiModelProperty("结算人手持身份证正面")
    private String settlerInHandFrontPicture;

    @NotBlank(message = "结算人手持身份证反面   不能为空")
    @Length(max = 250 , message = "结算人手持身份证反面  长度不能超过250")
    @ApiModelProperty("结算人手持身份证反面 （图片）")
    private String settlerInHandBackPicture;

   // @NotBlank(message = "结算人身份证反面  不能为空")
    @Length(max = 250 , message = "结算人身份证反面 长度不能超过250")
    @ApiModelProperty("结算人身份证反面（图片）")
    private String settlerIdCardReverse;

   // @NotBlank(message = "结算人身份证号  不能为空")
    @Length(max = 64 , message = "结算人身份证号 长度不能超过64")
    @ApiModelProperty("结算人身份证号")
    private String settlerIdCardNo;

    @NotBlank(message = "结算人银行卡照片  不能为空")
    @Length(max = 250, message = "结算人银行卡照片 长度不能超过250")
    @ApiModelProperty("结算人银行卡照片")
    private String settlerBankPhotoUrl;

    @NotBlank(message = "结算人银行卡背面照片  不能为空")
    @Length(max = 250, message = "结算人银行卡背面照片 长度不能超过250")
    @ApiModelProperty("结算人银行卡背面照片")
    @JsonProperty("settlerBankBackPhotoUrl")
    private String settlerBankBackPhotoUrl;

    @NotBlank(message = "结算人银行卡号  不能为空")
    @Length(max = 64 , message = "结算人银行卡号 长度不能超过64")
    @ApiModelProperty("结算人银行卡号")
    private String settlerBankNumber;

    @NotBlank(message = "结算人银行卡预留手机号  不能为空")
    @Length(min = 11,max = 11 , message = "结算人银行卡预留手机号 长度必须为11")
    @ApiModelProperty("结算人银行卡预留手机号")
    private String settlerBankMobile;

    @NotBlank(message = "结算开户银行支行  不能为空")
    @Length(max =100, message = "结算开户银行支行 长度不能超过100")
    @ApiModelProperty("结算开户银行支行")
    private String settlerBankName;
}
