package com.ym.mec.biz.service;


import com.ym.mec.biz.dal.dto.DegreePayDto;
import com.ym.mec.biz.dal.entity.ChildrenDayDegreeDetail;
import com.ym.mec.biz.dal.entity.StudentPaymentOrderDetail;
import com.ym.mec.common.service.BaseService;

import java.math.BigDecimal;
import java.util.List;

public interface ChildrenDayDegreeDetailService extends BaseService<Integer, ChildrenDayDegreeDetail> {

    /**
     * 获取用户报名详情
     *
     * @param userId
     * @return
     */
    List<ChildrenDayDegreeDetail> getByUserIdAndStatus(Integer userId, Integer status);

    /**
     * 增加考级支付详情
     *
     * @param degreePayDto
     * @param gradeFee
     * @param theoryLevelFee
     * @param vip1v1Fee
     * @param vip1v2Fee
     * @param theoryCourseFee
     * @return
     */
    List<ChildrenDayDegreeDetail> addDegreeDetails(DegreePayDto degreePayDto, BigDecimal gradeFee, BigDecimal theoryLevelFee, BigDecimal vip1v1Fee, BigDecimal vip1v2Fee, BigDecimal theoryCourseFee);

    /**
     * 增加考级订单详情
     *
     * @param degreePayDto
     * @param gradeFee
     * @param theoryLevelFee
     * @param vip1v1Fee
     * @param vip1v2Fee
     * @param theoryCourseFee
     * @return
     */
    List<StudentPaymentOrderDetail> addOrderDetails(DegreePayDto degreePayDto, BigDecimal gradeFee, BigDecimal theoryLevelFee, BigDecimal vip1v1Fee, BigDecimal vip1v2Fee, BigDecimal theoryCourseFee);

    /**
     * 获取用户6.1考级报名详情
     *
     * @param userId
     * @return
     */
    List<ChildrenDayDegreeDetail> getUserDegreeInfo(Integer userId);


    /**
     * 更新状态信息
     *
     * @param orderId
     * @param status
     * @return
     */
    Integer updateStatus(Long orderId, Integer status);

}
