package com.erp.customer.service;

import com.erp.customer.entity.CustomerContact;

import java.util.List;

/**
 * 客户联系人Service接口
 */
public interface CustomerContactService {
    
    /**
     * 获取客户的所有联系人
     */
    List<CustomerContact> getContactsByCustomerId(Long customerId);
    
    /**
     * 获取客户的主要联系人
     */
    CustomerContact getPrimaryContact(Long customerId);
    
    /**
     * 根据ID获取联系人
     */
    CustomerContact getContactById(Long id);
    
    /**
     * 创建联系人
     */
    CustomerContact createContact(Long customerId, CustomerContact contact);
    
    /**
     * 更新联系人
     */
    CustomerContact updateContact(Long id, CustomerContact contact);
    
    /**
     * 删除联系人
     */
    void deleteContact(Long id);
    
    /**
     * 设置为主要联系人
     */
    CustomerContact setPrimaryContact(Long id);
    
    /**
     * 根据手机号查询
     */
    CustomerContact getContactByMobile(String mobile);
    
    /**
     * 根据邮箱查询
     */
    CustomerContact getContactByEmail(String email);
    
    /**
     * 统计客户联系人数量
     */
    Long countContactsByCustomerId(Long customerId);
    
    /**
     * 获取有决策影响力的联系人
     */
    List<CustomerContact> getHighInfluenceContacts(Long customerId);
}
