package com.fuyuanshen.customer.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.fuyuanshen.common.mybatis.core.page.TableDataInfo;
import com.fuyuanshen.customer.domain.Customer;
import com.fuyuanshen.customer.domain.query.UserQueryCriteria;
import com.fuyuanshen.customer.domain.vo.ConsumerVo;
import io.undertow.util.BadRequestException;

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

/**
 * @author: 默苍璃
 * @date: 2025-07-0114:31
 */
public interface CustomerService {

    /**
     * 分页查询客户
     *
     * @param criteria
     * @param page
     * @return
     */
    TableDataInfo<ConsumerVo> queryCustomers(UserQueryCriteria criteria, Page<Customer> page);

    /**
     * 查询所有客户
     *
     * @param criteria
     * @return
     */
    List<Customer> queryAllCustomers(UserQueryCriteria criteria);

    /**
     * 新增客户
     *
     * @param customer /
     */
    void addCustomer(Customer customer) throws BadRequestException;

    /**
     * 修改客户
     *
     * @param resources /
     * @throws Exception /
     */
    void updateCustomer(Customer resources) throws Exception;

    /**
     * 删除客户
     *
     * @param ids /
     */
    void delete(Set<Long> ids);


}
