package com.ssj.service.conch.teacher.service;

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

import com.ssj.bean.kmt.kmt.domain.KmtCourse;
import com.ssj.bean.sys.cardinfo.domain.TbCardInfo;
import com.ssj.bean.sys.lesson.domain.LessonService;
import com.ssj.bean.sys.lesson.domain.LessonServiceApply;
import com.ssj.bean.weixin.sales.domain.LibOrderRefunds;
import com.ssj.framework.core.util.ResponseEntity;
import com.ssj.service.conch.parents.request.OrderReq;
import com.ssj.service.conch.teacher.request.*;
import com.ssj.service.conch.teacher.request.oneonly.XbFeedbackSub;
import com.ssj.service.conch.teacher.vo.SaveZybWorkVO;

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

public interface ITzybService {

	Map<String, Object> findChildInfo(String libId, String vipId);



	List<Map<String, Object>> findFeddBackInfo(String vipId);

	List<Map<String, Object>> findEditImgList(String pushId);


	Map<String, Object> findIsHasTeacher(String vipId, String serviceId);



	List<Map<String, Object>> findCourseList(String vipId);

	Map<String, Object> findStudyMap(String vipId, String serviceId);

	List<Map<String, Object>> findOrderList(OrderReq req, String userId);

	Map<String, Object> findOrderInfo(String orderNo);

	void submitRefund(LibOrderRefunds refund, LessonService leService, TbCardInfo info) throws Exception;

	List<Map<String, Object>> findStudentListByTeacherId(String userId, int state, String vipId);

	List<Map<String, Object>> findTodayFinishTask(String vipId, String serviceId);

	/**
	 * 查询某一天的一对一任务反馈记录
	 * @param vipId
	 * @param serviceId
	 * @param courseDate
	 * @return
	 */
	List<Map<String, Object>> findOneDayFinishTask(String vipId, String serviceId, String courseDate);

	Map<String, Object> findFeedbackDetail(String courseId);

	
	Map<String, Object> findFeedbackRatioMap(String courseId);

	/**
	 * 家长端一对一反馈报告，难易比例相关反馈
	 * @param courseId
	 * @return
	 */
	Map<String, Object> findFeedbackRatioMapOfParent(String courseId);



	void changeLessionAndTeacher(LessonServiceApply apply, KmtCourse kmtCourse, int type) throws Exception;



	List<Map<String, Object>> findRephotoList(String teacherUserId,int type, String vipId);

	List<Map<String, Object>> findWorkPicList(String teacherUserId, String vipId);

	List<Map<String, Object>> findTaskPicList(String teacherUserId, String subject,String vipId);

	List<Map<String, Object>> correctImgList(String id);

	Map<String, Object> findConfirmInfo(String lessonServiceId);

	void teacherCallLesson(KmtCourse kmtCourse);

	void teacherFeedback(KmtCourse course);

	void parentJudge(KmtCourse kmtCourse);



	Map<String, Object> findTodayOneFinishTask(String vipId, String string);



	Page<Map<String, Object>> findOnePage(Map<String, Object> params, Pageable pageable);



	void overTimeFinishCourse();

	void BeginLessonTips();

	List<Map<String, Object>> xbTodayFinishList(String vipId, String serviceId);

	Map<String, Object> findchildInfoByCourseId(String courseId);

	List<Map<String, Object>> findXbFeedbackInfo(String courseId);

	void xbpush(KmtCourse course);

	Map<String, Object> findRefundsInfo(String orderDetailsId);
	void subFeedbackT2(XbFeedbackSub req);

	/**
	 * 在馆老师推送报告
	 * @param openId
	 * @param name
	 * @param vipId
	 * @param appId
	 */
	void sendTemplateTeacher(String openId, String name, String vipId, String appId);

	HashMap<String, Object> findZybStudentPage(HashMap<String, Object> params, Pageable pageable);

}
