package com.fufan.mtsaas.modules.base.company.bo.request.back;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.hibernate.validator.constraints.Length;
import org.hibernate.validator.constraints.NotBlank;

import javax.validation.Valid;
import javax.validation.constraints.Pattern;
import java.util.List;

@Data
public class CompanyBackSaveRequest {
    @ApiModelProperty(value = "企业ID")
    private Long id;
    @Length(max = 100, message = "公司名称，超出字段最大长度：100")
    @NotBlank(message = "公司名称不能为空")
    @ApiModelProperty(value = "公司名称，字段最大长度：100")
    private String companyName;
    @Length(max = 100, message = "统一社会信息代码，超出字段最大长度：100")
    @NotBlank(message = "统一社会信息代码不能为空")
    @ApiModelProperty(value = "统一社会信息代码，字段最大长度：100")
    private String uniformSocialCreditCode;
    @Length(max = 100, message = "主账号人姓名，超出字段最大长度：100")
    @NotBlank(message = "主账号人姓名不能为空")
    @Pattern(regexp = "^[a-z0-9A-Z\\u4e00-\\u9fa5]+$", message = "主账号人姓名格式不正确")
    @ApiModelProperty(value = "主账号人姓名，字段最大长度：100")
    private String mainAccountName;
    @Length(max = 100, message = "主账号手机号，超出字段最大长度：100")
    @NotBlank(message = "主账号手机号不能为空")
    @Pattern(regexp = "^[1-9]\\d{10}$", message = "主账号手机号格式不正确")
    @ApiModelProperty(value = "主账号手机号，字段最大长度：100")
    private String mainMobile;
    @Length(max = 200, message = "备注，超出字段最大长度：200")
    @ApiModelProperty(value = "备注，字段最大长度：200")
    private String remark;

    @ApiModelProperty(value = "购买记录列表")
    @Valid
    private List<CompanyPurchaseSaveRequest> companyPurchaseSaveRequestList;
}
