package com.huiju.estateagents.service;


import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.huiju.estateagents.base.ResponseBean;
import com.huiju.estateagents.entity.TaConsultantInfo;
import com.huiju.estateagents.entity.TaPerson;
import com.huiju.estateagents.entity.TaPersonBuilding;
import com.huiju.estateagents.entity.TaPersonVisitRecord;
import io.swagger.models.auth.In;

import java.util.List;

/**
 * <p>
 *   服务类
 * </p>
 *
 * @author jobob
 * @since 2019-07-23
 */
public interface ITaPersonVisitRecordService extends IService<TaPersonVisitRecord> {
	/**
	 * 分页获取客户访问记录
	 * @param pg
	 * @param customerId
	 * @return
	 */
	IPage<TaPersonVisitRecord> getPersonVisitRecordList(IPage<TaPersonVisitRecord> pg, String customerId);

	/**
	 * 分页获取个人中心访客记录
	 * @param pg
	 * @param userId
	 * @param orgId
	 * @return
	 */
	IPage<TaPersonVisitRecord> getWxVisitRecordList(IPage<TaPersonVisitRecord> pg, Integer userId, Integer orgId);

	/**
	 * 分页获取个人中心所有访客记录
	 * @param pg
	 * @param userId
	 * @param orgId
	 * @return
	 */
	IPage<TaPersonVisitRecord> getWxActivityVisitRecordList(IPage<TaPersonVisitRecord> pg, String personId, Integer orgId, String targetId, String eventType);

	/**
	 * 获取这个人的活动数据列表
	 * @param userId
	 * @param personId
	 * @param orgId
	 * @return
	 */
	IPage<TaPersonVisitRecord> getWxVisitRecordActivityList(IPage<TaPersonVisitRecord> pg, Integer userId, String personId, Integer orgId);

//    IPage<TaPerson> selectCustomer(IPage<TaPerson> page);
//    TaPerson customerInfo(String personId);

	IPage<TaPersonVisitRecord> getDrainageVisitRecord(IPage<TaPersonVisitRecord> pg, Integer orgId, String activityName, String eventType, String shareName, String shareTel, String buildingId, String personType, List<TaPersonBuilding> taPersonBuildingList);

	IPage<TaConsultantInfo> getConsultantShareInfoList(IPage<TaConsultantInfo> pg, String personId);

	Integer countShareNumByEventType(Integer orgId, String targetId, Integer userId, String personId, String eventType);

    ResponseBean newRecord(TaPersonVisitRecord taPersonVisitRecord, TaPerson person);
}
