package com.yunzhi.marketing.xlk.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yunzhi.marketing.base.ResponseBean;
import com.yunzhi.marketing.xlk.dto.*;
import com.yunzhi.marketing.xlk.entity.ChannelCustomer;

import java.util.List;

/**
 * <p>
 * 渠道报备客户表  服务类
 * </p>
 *
 * @author jobob
 * @since 2021-07-19
 */
public interface IChannelCustomerService extends IService<ChannelCustomer> {

    /**
     * 审核
     * @param id
     * @param channelCustomerDTO
     * @return
     */
    ResponseBean auditCustomer(String id, ChannelCustomerDTO channelCustomerDTO);

    /**
     * 驻场确认到访
     * @param id
     * @param params
     * @return
     */
    ResponseBean markingChannelCustomer(MarkingChannelCustomerDTO params) throws Exception;

    /**
     * 驻场 无效报备
     * @param params
     * @return
     */
    ResponseBean invalidCustomerUpdate(MarkingChannelCustomerDTO params);

    IPage<ChannelCustomer> getProfileList(IPage<ChannelCustomer> pg,
                                          Integer orgId,
                                          String buildingId,
                                          String name,
                                          String phone,
                                          String recommendPersonName,
                                          String recommendPhone,
                                          String status,
                                          String type,
                                          Integer userId,
                                          List<String> institutions);

    /**
     * 驻场认筹
     * @param params
     * @return
     */
    ResponseBean preparatoryCustomer(MarkingPreparatoryCustomerDTO params);

    /**
     * 驻场认购
     * @param params
     * @return
     */
    ResponseBean commissionCustomer(MarkingCommissionCustomerDTO params);

    /**
     * 驻场签约
     * @param params
     * @return
     */
    ResponseBean signatoryCustomer(MarkingSignatoryCustomerDTO params);

    /**
     * 查询经纪人的我的客户列表
     * @param pageNumber
     * @param pageSize
     * @param recommendCustomerDTO
     * @return
     */
    ResponseBean getCustomersIRecommended(int pageNumber, int pageSize, RecommendCustomerDTO recommendCustomerDTO);

    ChannelCustomer getMoreInfoById(String id);
}
