package com.ssj.service.weixin.zuoyb.service;

import com.ssj.bean.weixin.zyb.domain.ZuoybStudentBg;
import com.ssj.bean.weixin.zyb.domain.ZuoybStudentBgDetails;
import com.ssj.framework.core.common.service.BaseService;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;

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

/** 
 * @author  ZhangCaibao 
 * @version 2017年11月2日 上午11:10:12 
 * 类说明 
 */
public interface ZuoybStudentBgService  extends BaseService<ZuoybStudentBg, String>{

	public  Page<ZuoybStudentBg>  findByPage(Map<String, Object> params, Pageable sp);
	/**
	 * 定时处理上一周的数据
	* 
	* 创建人：ZhangCaibao 
	* 2017年11月2日 下午4:20:52 
	* @void
	 */
	public void saveWeeksBg();
	public void saveWeeksBg(Date startDate ,Date endDate);
	/**
	 * 改版后月报
	* @param startDate
	* @param endDate
	* 创建人：ZhangCaibao 
	* 2018年1月15日 上午9:46:48 
	* @void
	 */
	public void newSaveMonthBg();
	public void newSaveMonthBg(Date startDate ,Date endDate);
	/**
	 * 
	 * 最近30天的报告
	 * @param startDate
	 * @param endDate
	 * @param vipId
	 * @return
	 */
	public ZuoybStudentBg newSaveBgVipAndRedis(Date startDate ,Date endDate,String vipId);
	
	/**
	 * 
	 * 新版最近30天的报告
	 * @param startDate
	 * @param endDate
	 * @param vipId
	 * @return
	 */ 
	public Map<String,Object> newSaveBgVipAndRedisV2(Date startDate ,Date endDate,String vipId);
	/**
	 * 根据时间查询
	* @param vipId
	* @param startDate
	* @param endDate
	* @return
	* 创建人：ZhangCaibao 
	* 2017年11月5日 下午6:04:49 
	* @List<ZuoybStudentBgDetails>
	 */
	public List<ZuoybStudentBgDetails> getBg(String vipId,Date startDate,Date endDate);
	/**
	 * 保存报告数据
	* @param bg
	* @param detailsList
	* 创建人：ZhangCaibao 
	* 2017年11月8日 上午10:20:39 
	* @void
	 */
	public void saveStudentBg(ZuoybStudentBg bg ,List<ZuoybStudentBgDetails> detailsList);
	/**
	 *  处理旧数据，定时跑
	* 
	* 创建人：ZhangCaibao 
	* 2017年11月9日 上午10:00:00 
	* @void
	 */
	public void oldMonth();
	
	/**
	 * 查询当天的老师有话说
	* @param vipId
	* @return
	* 创建人：ZhangCaibao 
	* 2018年5月17日 下午7:50:11 
	* @String
	 */
	public String  findTodayVipIdAndSuggest(Date date,String vipId);
	

	
}
