package com.gic.haoban.manage.service.service.content;

import com.gic.api.base.commons.Page;
import com.gic.haoban.manage.service.pojo.bo.content.PotentialCustomerBO;
import com.gic.haoban.manage.service.pojo.bo.content.context.PotentialCustomerNotifyContext;
import com.gic.haoban.manage.service.pojo.qo.content.PotentialCustomerQO;

/**
 * 销售线索(TabHaobanPotentialCustomer)表服务接口
 *
 * @author makejava
 * @since 2023-03-28 09:48:08
 */
public interface PotentialCustomerService {

    /**
     * 查询销售线索
     * @param potentialCustomerQO
     * @return
     */
    Page<PotentialCustomerBO> queryPotentialCustomerPage(PotentialCustomerQO potentialCustomerQO);

    /**
     * 查询详情
     * @param clerkId
     * @param potentialCustomerId
     * @return
     */
    PotentialCustomerBO queryPotentialCustomerInfo(String clerkId, Long potentialCustomerId);


    /**
     * 根据导购和会员id查询销售线索
     * @param clerkId
     * @param memberId
     * @return
     */
    PotentialCustomerBO queryPotentialCustomerInfo(String clerkId, String memberId);

    /**
     * 修改销售线索
     * @param potentialCustomerBO
     */
    void markPotentialCustomer(PotentialCustomerBO potentialCustomerBO);

    /**
     * 更新保存
     * @param potentialCustomerBO
     * @return
     */
    Long saveOrUpdatePotentialCustomer(PotentialCustomerBO potentialCustomerBO);

    /**
     * 销售线索通知
     * @param context
     */
    void sendPotentialCustomerNotice(PotentialCustomerNotifyContext context);

    /**
     * 会员合并操作
     * @param mergeMemberId
     * @param memberId
     */
    void mergeMember(String mergeMemberId, String memberId);
}
