package com.yonge.cooleshow.biz.dal.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yonge.cooleshow.biz.dal.dto.req.OrderReq;
import com.yonge.cooleshow.biz.dal.vo.PianoRoomBuyRecordVo;
import com.yonge.cooleshow.biz.dal.dto.search.PianoRoomBuyRecordSearch;
import com.yonge.cooleshow.biz.dal.entity.PianoRoomBuyRecord;
import com.yonge.cooleshow.biz.dal.vo.UserOrderDetailVo;
import com.yonge.cooleshow.biz.dal.vo.res.OrderCreateRes;
import com.yonge.cooleshow.common.entity.HttpResponseResult;

/**
 * 购买会员卡记录表 服务类
 * @author liweifan
 * @date 2022-05-30
 */
public interface PianoRoomBuyRecordService extends IService<PianoRoomBuyRecord>  {

	/**
     * 查询详情
     * @author liweifan
 	 * @date 2022-05-30
     */
	PianoRoomBuyRecordVo detail(Long id);

    /**
     * 分页查询
     * @author liweifan
 	 * @date 2022-05-30
     */
    IPage<PianoRoomBuyRecordVo> selectPage(IPage<PianoRoomBuyRecordVo> page, PianoRoomBuyRecordSearch query);

	/**
	 * 订单创建前
	 * @param orderReqInfo
	 * @return
	 */
    HttpResponseResult<OrderCreateRes> orderCreate(OrderReq.OrderReqInfo orderReqInfo);

	/**
	 * 订单完成后
	 * @param orderDetailVo
	 * @return
	 */
	void orderSuccess(UserOrderDetailVo orderDetailVo);
}