package com.ym.mec.biz.service;

import com.ym.mec.biz.dal.dto.MemberPayParamDto;
import com.ym.mec.biz.dal.entity.MemberRankSetting;
import com.ym.mec.biz.dal.entity.StudentPaymentOrder;
import com.ym.mec.common.entity.HttpResponseResult;
import com.ym.mec.common.service.BaseService;

import java.util.List;

public interface MemberRankSettingService extends BaseService<Integer, MemberRankSetting> {

    void add(MemberRankSetting memberRankSetting);

    MemberRankSetting getDetail(Integer memberRankSettingId);

    void updateSetting(MemberRankSetting memberRankSetting);

    List<MemberRankSetting> queryListByIsDefault(Boolean isDefault);

    HttpResponseResult buy(MemberPayParamDto memberPayParamDto) throws Exception;

    HttpResponseResult buy1(MemberPayParamDto memberPayParamDto) throws Exception;

    HttpResponseResult buy2Qqhe(MemberPayParamDto memberPayParamDto) throws Exception;

    HttpResponseResult queryBuy2Qqhe();

    HttpResponseResult closeBuy2Qqhe(String orderNo) throws Exception;

    /**
     * 订单回调
     *
     * @param studentPaymentOrder
     * @return
     */
    boolean orderCallback(StudentPaymentOrder studentPaymentOrder);

    /**
     * 订单回调
     *
     * @param studentPaymentOrder
     * @return
     */
    boolean liveBuyOrderCallback(StudentPaymentOrder studentPaymentOrder);

    HttpResponseResult activeBuy(MemberPayParamDto memberPayParamDto) throws Exception;

    HttpResponseResult<Integer> checkActiveBuy(MemberPayParamDto memberPayParamDto);
}