package com.ssj.service.conch.schoolmaster.v1.service;

import com.ssj.framework.core.util.ResponseEntity;
import com.ssj.service.conch.schoolmaster.v1.dto.*;
import com.ssj.service.conch.schoolmaster.v1.request.AddStudentOrderRequest;
import com.ssj.service.conch.schoolmaster.v1.request.GroupCommitOrderRequest;
import org.springframework.data.domain.Pageable;

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

public interface SchoolV1Service {
	
	public ResponseEntity homeworkManager(String masterId);
	public ResponseEntity problemManager(String masterId);
	public ResponseEntity lessonServiceManager(String masterId);

    List<LessonGroupDTO> findLessonGroupList(String masterId);

    List<StudentGroupDTO> findStudentGroupList(String lessonGroupId, Integer lessonServiceStatus);

    LessonGroupDetailDTO findLessonGroupDetail(String lessonGroupId);

    List<StudentGroupDTO> findAddStudentGroupList(String masterId, String lessonGroupId, Pageable pageable);

    List<StudentGroupDTO> findStudentGroupList2Order(String masterId, List<String> courseTimeList, Pageable pageable);
    
    /**
     * @param request
     * @param masterUserId
     * @return
    
     * 方法说明:小课详情-添加学生下单
    
     * 创立日期:2018年12月4日 上午10:10:15
     * 创建人:yangcan
    
     */
    public ResponseEntity addStudentCommitOrder(AddStudentOrderRequest request, String masterUserId);
    
    /**
     * @param request
     * @param masterUserId
     * @return
    
     * 方法说明:小课提交订单
    
     * 创立日期:2018年11月22日 上午10:11:11
     * 创建人:yangcan
    
     */
    public ResponseEntity lessonGroupCommitOrder(GroupCommitOrderRequest request, String masterUserId);

    /**
     * @param grade
     * @param courseCount
     * @return

     * 方法说明:小课-预估订单价格

     * 创立日期:2018年11月22日 上午11:08:41
     * 创建人:yangcan

     */
    public ResponseEntity computeGroupOrderAmount(String grade, int courseCount);

    /**
     * 查询当前授课小班的组课程id列表
     * @param groupId 组id
     * @param timeList 时间列表
     * @return
     */
    Map<String, String> getGroupCourseIds(String groupId, List<String> timeList);
    
    public ResponseEntity lessonFeedbackList(String lessonServiceId);

    List<AppStudentChangeBindDTO> findStudentListChangeBind(String masterId);

    List<AppMasterChangeBindDTO> findMasterListChangeBind(String masterId);
}
