package com.dsk.biz.service;

import com.dsk.biz.domain.Customer;
import com.dsk.biz.domain.bo.CustomerBusinessSearchDto;
import com.dsk.biz.domain.bo.CustomerSearchDto;
import com.dsk.biz.domain.vo.CustomerBusinessListVo;
import com.dsk.biz.domain.vo.CustomerListVo;
import com.dsk.biz.domain.vo.CustomerStatusListVo;
import com.dsk.biz.domain.vo.CustomerVo;
import com.dsk.common.core.domain.PageQuery;
import com.dsk.common.core.page.TableDataInfo;

import java.util.List;

/**
 * 客户信息表(Customer)表服务接口
 *
 * @author makejava
 * @since 2023-05-16 09:28:00
 */
public interface ICustomerService {

    TableDataInfo<CustomerListVo> selectList(CustomerSearchDto dto, PageQuery pageQuery);

    CustomerVo info(String customerId);

    boolean add(Customer customer);

    boolean edit(Customer customer);

    List<Customer> selectUserList();

    TableDataInfo<CustomerBusinessListVo> selectBusinessList(CustomerBusinessSearchDto dto,PageQuery pageQuery);

    List<CustomerStatusListVo> selectStatusList(List<String> uipIds);

    List<CustomerStatusListVo> selectStatusListByCompanyName(List<String> companyNames);

//    List<String> selectUipIdList(List<String> uipIds);

    Integer status(String companyName);

    boolean cancelClaim(String companyName);

    boolean historyClaim(String companyName);

    Customer selectByCompanyNameAndUserId(String companyName);

}
