package com.ssj.dao.weixin.adminsale.dao;

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

import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;

public interface AdminSaleQueryDao {
	
	/**
	* 创建人:wuwen
	* @param @param 
	* @param @return       
	* 方法说明：手机销售端查询自己会员列表或者图书馆的会员  
	* 1:根据沉默情况排序   2:根据客户价值排序  3:根据会员到期时间排序
	* @date 2018年1月15日10:22:19
	*/
	Page<Map<String, Object>> findVipBySaleAndLibIdPage(Map<String, Object> searchParams, Pageable pageable);
	
	/**
	* 创建人:wuwen
	* @param @param 
	* @param @return       
	* 方法说明：手机销售端查询vipid的所有服务
	 * @date 2018年1月15日15:54:50
	 */
	 List<Map<String, Object>> findLibOrderDetailsByVipId(String vipId);
	 
	 
	/** 
	* 创建人:wuwen
	* @param @param 
	* @param @return       
	* 方法说明：手机销售端查询当天会员生日提醒
	 * @date 2018年1月15日15:54:50
	 */
	 List<Map<String, Object>> findBirthdayBySale(String saleUserId);
	 
	 
	/** 
	* 创建人:wuwen
	* @param @param 
	* @param @return       
	* 方法说明：手机销售端查询会员服务到期前3天提醒
	 * @date 2018年1月16日11:18:55
	 */
	 List<Map<String, Object>> findServiceEndBySale(String saleUserId);
	 
	 
	/** 
	* 创建人:wuwen
	* @param @param 
	* @param @return       
	* 方法说明：手机销售端查询会员缴费，已付款，收到提成
	 * @date 2018年1月16日11:18:55
	 */
	 List<Map<String, Object>> findLibOrderDetailsServiceBySale(String saleUserId);
	
	/** 
	* 创建人:wuwen
	* @param @param 
	* @param @return       
	* 方法说明：手机销售端查询沉默用户，超过2个月不来馆
	 * @date 2018年1月16日11:18:55
	 */
	 List<Map<String, Object>> findSilentUserBySale(String saleUserId);
	 
	 
	/** 
	* 创建人:wuwen
	* @param @param 
	* @param @return       
	* 方法说明：手机销售端查询本月销售比例
	 * @date 2018年1月16日11:18:55
	 */
	 List<Map<String, Object>> findMonthDetailBySale(String saleUserId);
	 
	 /** 
	* 创建人:wuwen
	* @param @param 
	* @param @return       
	* 方法说明：手机销售端查询saleUserId总销售金额
	 * @date 2018年1月16日11:18:55
	 */
	 List<Map<String, Object>>  findCountOrderBySale(String saleUserId);
	 
	 /** 
	* 创建人:wuwen
	* @param @param 
	* @param @return       
	* 方法说明：手机销售端查询销售排名
	 * @date 2018年1月16日11:18:55
	 */
	 Page<Map<String, Object>> findOrderRankByLibId(Map<String, Object> searchParams, Pageable pageable);
		
	 /** 
	* 创建人:wuwen
	* @param @param 
	* @param @return       
	* 方法说明：手机销售端查询客户到馆体验信息
	 * @date 2018年1月16日11:18:55
	 */
	 List<Map<String, Object>>  findExperienceBySale(String saleUserId);
	 
	 
	 /** 
	* 创建人:wuwen
	* @param @param 
	* @param @return       
	* 方法说明：手机销售端查询vipid所有服务
	 * @date 2018年1月16日11:18:55
	 */
	 List<Map<String, Object>>  findServiceByVipId(String vipId);
	 
	 /** 
	* 创建人:wuwen
	* @param @param 
	* @param @return       
	* 方法说明：手机销售端销售角色
	 * @date 2018年1月16日11:18:55
	 */
	 List<Map<String, Object>> findSaleByUserId(String saleUserId);
	 
	 /**
	  * 查询此馆的销售总额
	  * @Title: findCountOrderByLib
	  * @Description: TODO(这里用一句话描述这个方法的作用)
	  * @param @param libId
	  * @return Map<String,Object>    返回类型
	  * @author shenhao
	  * @date 2018年3月1日 下午5:31:19
	  * @throws
	  */
	 Map<String, Object> findCountOrderByLib(String libId);
	 
	 /**
	  * 
	  * @Title: findCdLibList
	  * @Description: 查询cd所管辖的图书馆列表
	  * @param @param userId
	  * @return List<Map<String,Object>>    返回类型
	  * @author shenhao
	  * @date 2018年3月1日 下午6:00:36
	  * @throws
	  */
	List<Map<String, Object>> findCdLibList(String userId,String searchContent);

	Map<String, Object> findCdComeIn(String userId);

	Map<String, Object> findOrderById(String detailId);

}
