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

import com.gic.api.base.commons.BusinessException;
import com.gic.clerk.api.dto.ClerkDTO;
import com.gic.haoban.manage.api.qdto.contact.ContactLogQDTO;
import com.gic.haoban.manage.service.entity.contact.TabContactLog;

import java.util.Date;

public interface ContactLogService {

    /**
     * 是否可以建联判断
     * @param enterpriseId
     * @param memberId
     * @param clerkDTO
     * @return
     */
    boolean contactCheck(String enterpriseId, String memberId, ClerkDTO clerkDTO) ;

    /**
     * 保存建联记录
     *
     * @param qdto
     */
    TabContactLog saveContactLog(ContactLogQDTO qdto) throws BusinessException;

    /**
     * 自动建联
     * @param qdto
     */
    void autoContactLog(ContactLogQDTO qdto);

    /**
     * 清除建联状态
     *
     * @param memberId
     * @param clearType 1 消费清除 2 换绑主导购
     */
    void clearContactLog(String memberId, Integer clearType,String clerkId);

    /**
     * 获取最近一条有效建联记录
     *
     * @param memberId
     * @return
     */
    TabContactLog getClerkContactTime(String memberId);

    /**
     * 根据时间获取最近一条建联记录
     * @param memberId
     * @param beginTime
     * @return
     */
    TabContactLog getLastByTime(String memberId, Date beginTime,Date endTime);
}
