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

import com.gic.api.base.commons.BasePageInfo;
import com.gic.api.base.commons.Page;
import com.gic.api.base.commons.ServiceResponse;
import com.gic.haoban.manage.api.dto.contact.ContactFollowDTO;
import com.gic.haoban.manage.api.qdto.contact.ContactFollowQDTO;
import com.gic.haoban.manage.api.qdto.contact.ContactFollowSearchQDTO;

import java.util.List;
import java.util.Map;

public interface ContactFollowApiService {

    /**
     * 保存跟进记录
     * @param qdto
     */
    ServiceResponse<Void> saveFollow(ContactFollowQDTO qdto);

    /**
     * 批量保存跟进记录
     * @param list
     */
    ServiceResponse<Void> saveBatchFollow(List<ContactFollowQDTO> list);

    /**
     * 通过消息队列批量保存跟进记录
     * @param message
     * @return
     */
    ServiceResponse<Void> saveBatchFollowForMQ(String message);
    /**
     * 跟进记录列表查询
     * @param enterpriseId
     * @param searchQDTO
     * @param pageInfo
     * @return
     */
    ServiceResponse<Page<ContactFollowDTO>> pageFollow(String enterpriseId, ContactFollowSearchQDTO searchQDTO, BasePageInfo pageInfo);

    /**
     * 导购获取会员维度最新跟进记录
     * @param enterpriseId
     * @param clerkId
     * @param memberIdList
     * @return
     */
    ServiceResponse<Map<String, ContactFollowDTO>> mapMemberLastFollow(String enterpriseId, String clerkId, List<String> memberIdList);

}
