package com.infoepoch.pms.agent.tool.union.care.provider;

import com.infoepoch.pms.agent.domain.care.model.ActivitySummary;
import com.infoepoch.pms.agent.domain.care.model.ActivityMatchUserRule;
import com.infoepoch.pms.agent.domain.care.model.PagedResult;
import com.infoepoch.pms.agent.domain.care.model.UserProfileSummary;

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

/**
 * 精准关爱业务数据提供者
 */
public interface CareBusinessDataProvider {

    UserProfileSummary getCurrentUserProfile(String traceId, String sessionId);

    List<ActivitySummary> searchEligibleActivities(String traceId, String sessionId);

    List<ActivityMatchUserRule> listActivityMatchUserRules(String traceId, String sessionId);

    PagedResult<UserProfileSummary> searchUsersByConditions(String traceId,
                                                            String sessionId,
                                                            Map<String, Object> conditions,
                                                            int pageNo,
                                                            int pageSize);
}
