package cn.iocoder.yudao.module.asset.controller.admin.customer.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDateTime;

@Schema(description = "管理后台 - 客户 Response VO")
@Data
public class CustomerRespVO {

    @Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    private Long id;

    @Schema(description = "客户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "CUST000001")
    private String customerNo;

    @Schema(description = "客户名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "张三")
    private String customerName;

    @Schema(description = "客户类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "0")
    private Integer customerType;

    @Schema(description = "联系人", example = "张三")
    private String contactPerson;

    @Schema(description = "联系电话", example = "13800138000")
    private String contactPhone;

    @Schema(description = "联系邮箱", example = "zhangsan@example.com")
    private String contactEmail;

    @Schema(description = "联系地址", example = "上海市浦东新区")
    private String contactAddress;

    @Schema(description = "身份证号", example = "310101199001011234")
    private String idCardNo;

    @Schema(description = "身份证正面照片URL", example = "https://example.com/id_front.jpg")
    private String idCardFrontUrl;

    @Schema(description = "身份证反面照片URL", example = "https://example.com/id_back.jpg")
    private String idCardBackUrl;

    @Schema(description = "驾驶证号", example = "310101199001011234")
    private String driverLicenseNo;

    @Schema(description = "驾驶证照片URL", example = "https://example.com/driver_license.jpg")
    private String driverLicenseUrl;

    @Schema(description = "企业名称", example = "上海科技有限公司")
    private String companyName;

    @Schema(description = "统一社会信用代码", example = "91310000MA1FL0001A")
    private String unifiedSocialCreditCode;

    @Schema(description = "营业执照URL", example = "https://example.com/business_license.jpg")
    private String businessLicenseUrl;

    @Schema(description = "法人代表", example = "张总")
    private String legalPerson;

    @Schema(description = "信用等级", example = "1")
    private Integer creditLevel;

    @Schema(description = "押金金额", example = "5000.00")
    private BigDecimal depositAmount;

    @Schema(description = "备注", example = "VIP客户")
    private String remark;

    @Schema(description = "状态", example = "0")
    private Integer status;

    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
    private LocalDateTime createTime;

}
