package com.ghy.customer.service;

import com.ghy.customer.domain.Customer;
import com.ghy.customer.domain.CustomerAddress;

import java.util.List;
import java.util.Map;

public interface CustomerAddressService {

    /**
     * @param customerAddress 筛选符合条件的地址list
     * @return 地址list
     */
    List<CustomerAddress> getCustomerAddressList(CustomerAddress customerAddress);

    /**
     * @param ids 地址id
     * @return 删除成功条数
     */
    int deleteByIds(String [] ids);

    /**
     * @param customerAddressId 地址id
     * @return 删除成功条数
     */
    int deleteByCustomerAddressId(Long customerAddressId);

    /**
     * @param customerId 消费者id
     * @return 消费者所有的地址list
     */
    List<CustomerAddress> selectByCustomerId(Long customerId);

    /**
     * @param customerAddressId 地址id
     * @return 地址
     */
    CustomerAddress selectByCustomerAddressId(Long customerAddressId);

    /**
     * @param customerAddress 地址信息
     * @return 新增成功条数
     */
    int insertCustomerAddress(CustomerAddress customerAddress);

    /**
     * @param customerAddress 修改地址信息
     * @return 修改成功条数
     */
    int updateCustomerAddress(CustomerAddress customerAddress);

    CustomerAddress selectByCustomerAndAddress(Long customerId, Long provinceId, Long cityId, Long countryId, String address);

    /**
     * 批量查询地址信息
     * @param customerAddressIds 地址ID列表
     * @return 地址列表
     */
    List<CustomerAddress> selectByIds(List<Long> customerAddressIds);
}
