package com.miaxis.wx.service;

import java.util.List;

import com.miaxis.feign.dto.FilmDTO;
import com.miaxis.feign.dto.fulu.FuluCommonApiDTO;
import com.miaxis.feign.dto.fulu.FuluDTO;
import com.miaxis.wx.domain.WxOrder;
import com.baomidou.mybatisplus.extension.service.IService;
import com.miaxis.wx.dto.FilmWxOrderJsonData;
import com.miaxis.wx.dto.WxOrderCreateDTO;
import com.miaxis.wx.dto.WxOrderCreateFuluDTO;
import com.miaxis.wx.dto.WxOrderListDTO;

/**
 * 电影订单Service接口
 *
 * @author miaxis
 * @date 2021-05-07
 */
public interface IWxOrderService extends IService<WxOrder>{
    /**
     * 查询电影订单列表
     *
     * @param wxOrder 电影订单
     * @return 电影订单集合
     */
    public List<WxOrder> selectWxOrderList(WxOrder wxOrder);

    WxOrder getByOutTradeNo(String outTradeNo);

    String excuteFilmApi(FilmDTO filmDTO) ;

    List<WxOrder> selectOrderList(WxOrderListDTO wxOrderListDTO);


    Integer getPrice(String cinemaId, String showId, int ticketType, FilmWxOrderJsonData wxOrderJsonData);

    void createFilmOrder(WxOrder order, WxOrderCreateDTO wxOrderCreateDTO);

    void createFuluOrder(WxOrder order, WxOrderCreateFuluDTO wxOrderCreateDTO);

    void init(FuluDTO fuluDTO, FuluCommonApiDTO fuluCommonApiDTO);

    void buyFilmOrder(WxOrder orderDataJson);

    void buyFuluOrder(WxOrder wxOrder);
}
