package com.ghy.customer.mapper;

import com.ghy.customer.domain.Customer;
import org.apache.ibatis.annotations.Param;

import java.util.Collection;
import java.util.List;
import java.util.Set;

/**
 * @author clunt
 * 消费者Mapper
 */
public interface CustomerMapper {

    /**
     * @param customer 消费者筛选条件
     * @return 符合结果消费者
     */
    List<Customer> getCustomerList(Customer customer);

    /**
     * @param customer 消费者筛选条件
     * @return 符合结果消费者计数
     */
    Long countCustomer(Customer customer);

    /**
     * @param customerId 消费者id
     * @return 消费者信息
     */
    Customer selectByCustomerId(Long customerId);

    /**
     * @param customerId 消费者ids
     * @return 删除成功条数
     */
    int deleteByIds(Long[] customerId);

    /**
     * @param customerId 消费者id
     * @return 删除成功条数
     */
    int deleteByCustomerId(Long customerId);

    /**
     * @param customer 消费者对象
     * @return 入库成功条数
     */
    int insertCustomer(Customer customer);

    /**
     * @param customer 消费者对象
     * @return 更新成功条数
     */
    int updateCustomer(Customer customer);

    /**
     * 根据消费者id集合信息进行批量查询数据
     *
     * @param customerIds 消费者id集合信息。
     * @return Customer实体集合信息
     */
    List<Customer> selectByIds(@Param("customerIds") Collection<Long> customerIds);

    Customer selectByAccount(String account);
}
