package com.erp.customer.dto;

import lombok.Data;

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

/**
 * 客户创建请求DTO
 */
@Data
public class CustomerCreateRequest {
    
    private Long tenantId;
    
    /**
     * 客户编码（唯一）
     */
    private String customerCode;
    
    /**
     * 客户名称
     */
    private String customerName;
    
    /**
     * 客户简称
     */
    private String shortName;
    
    /**
     * 客户等级：VIP/POTENTIAL/NORMAL
     */
    private String level;
    
    /**
     * 客户类型：COMPANY/INDIVIDUAL
     */
    private String customerType;
    
    /**
     * 所属行业
     */
    private String industry;
    
    /**
     * 联系电话
     */
    private String phone;
    
    /**
     * 备用联系电话
     */
    private String backupPhone;
    
    /**
     * 电子邮箱
     */
    private String email;
    
    /**
     * 官方网站
     */
    private String website;
    
    /**
     * 统一社会信用代码
     */
    private String businessLicense;
    
    /**
     * 注册资本
     */
    private BigDecimal registeredCapital;
    
    /**
     * 客户来源
     */
    private String source;
    
    /**
     * 客户评分（1-5星）
     */
    private Integer rating;
    
    /**
     * 信用额度
     */
    private BigDecimal creditLimit;
    
    /**
     * 负责销售ID
     */
    private Long salesId;
    
    /**
     * 负责销售姓名
     */
    private String salesName;
    
    /**
     * 客户分类标签（JSON格式）
     */
    private String tags;
    
    /**
     * 客户简介
     */
    private String description;
    
    /**
     * 备注
     */
    private String remark;
    
    // ==================== 8级客户关系字段 ====================
    
    /**
     * 关系级别：1-8级
     */
    private Integer relationshipLevel;
    
    /**
     * 父客户ID
     */
    private Long parentId;
    
    /**
     * 所属集团/连锁名称
     */
    private String groupName;
    
    /**
     * 是否为总店
     */
    private Boolean isHeadquarters;
    
    // ==================== 联系人信息（可选，快速创建）====================
    
    /**
     * 主要联系人姓名
     */
    private String primaryContactName;
    
    /**
     * 主要联系人手机
     */
    private String primaryContactMobile;
    
    /**
     * 主要联系人职位
     */
    private String primaryContactPosition;
    
    // ==================== 地址信息（可选，快速创建）====================
    
    /**
     * 收货人姓名
     */
    private String receiverName;
    
    /**
     * 收货人电话
     */
    private String receiverPhone;
    
    /**
     * 收货人手机
     */
    private String receiverMobile;
    
    /**
     * 省
     */
    private String province;
    
    /**
     * 市
     */
    private String city;
    
    /**
     * 区/县
     */
    private String district;
    
    /**
     * 街道/详细地址
     */
    private String street;
}
