
package com.tmerclub.cloud.multishop.dto;

import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import org.hibernate.validator.constraints.Length;

import java.io.Serial;
import java.io.Serializable;
import java.util.Date;

/**
 * 店铺工商信息DTO
 *
 * @author lth
 */
@Data
public class ShopCompanyDTO implements Serializable {
    @Serial
    private static final long serialVersionUID = 1L;
    @Schema(description = "店铺id")
    private Long shopId;

    @Schema(description = "统一社会信用代码")
    @NotBlank(message = "统一社会信用代码不能为空")
    private String creditCode;

    @Schema(description = "企业名称")
    @NotBlank(message = "企业名称不能为空")
    @Length(max = 50, message = "企业名称字符长度不能超过50")
    private String firmName;

    @Schema(description = "住所")
    @Length(max = 50, message = "住所字符长度不能超过50")
    private String residence;

    @Schema(description = "法定代表人")
    @Length(max = 20, message = "法定代表人字符长度不能超过20")
    private String representative;

    @Schema(description = "法人身份证号")
    private String legalIds;

    @Schema(description = "法人手机号码")
    private String legalPhone;

    @Schema(description = "注册资本(万元）")
    private Double capital;

    @Schema(description = "成立日期")
    private Date foundTime;

    @Schema(description = "营业起始日期")
    @NotNull(message = "营业起始日期不能为空")
    private Date startTime;

    @Schema(description = "营业终止时间")
    private Date endTime;

    @Schema(description = "经营范围")
    @NotBlank(message = "经营范围不能为空")
    @Length(max = 500, message = "经营范围字符长度不能超过500")
    private String businessScope;

    @Schema(description = "营业执照")
    @NotBlank(message = "营业执照不能为空")
    private String businessLicense;

    @Schema(description = "身份证正面")
    private String identityCardFront;

    @Schema(description = "身份证反面")
    private String identityCardLater;


}
