import BaseStore from '@src/stores/base';
// import * as querystring from 'querystring';

export default class OrderStore extends BaseStore {
  allCheckout() {
    return this.apiGet('/order/checkout/all');
  }

  addCheckout({ productType, productId, service, param, number }) {
    return this.apiPost('/order/checkout/add', { productType, productId, service, param, number });
  }

  changeCheckout(id, number) {
    return this.apiPut('/order/checkout/number', { id, number });
  }

  removeCheckout(id) {
    return this.apiDel('/order/checkout/delete', { id });
  }

  confirmPay() {
    return this.apiPost('/order/pay/confirm');
  }

  speedPay({ productType, productId, service, param, number }) {
    return this.apiPost('/order/pay/speed', { productType, productId, service, param, number });
  }

  wechatQr(orderId) {
    return this.apiPost('/order/pay/wechat/qr', { orderId });
  }

  wechatJs(orderId) {
    return this.apiPost('/order/pay/wechat/js', { orderId });
  }

  alipayQr(orderId) {
    return this.apiPost('/order/pay/alipay/qr', { orderId });
  }

  query(orderId) {
    return this.apiGet('/order/pay/query', { orderId });
  }

  list({ page, size }) {
    return this.apiGet('/order/list', { page, size });
  }

  getOrder(id) {
    return this.apiGet('/order/detail', { id });
  }

  /**
   * 获取所有已购记录
   * @param {*} param0
   */
  listRecord({ page, size }) {
    return this.apiGet('/order/record/list', { page, size });
  }

  /**
   * 获取订单记录
   * @param {*} id
   */
  getRecord(id) {
    return this.apiGet('/order/record/detail', { id });
  }

  /**
   * 开通服务、课程等
   * @param {*} id
   */
  useRecord(recordId, isSubscribe) {
    return this.apiPost('/order/record/use', { recordId, isSubscribe });
  }
}

export const Order = new OrderStore({ key: 'order' });