import request from "@/utils/request";
import { Account_BaseUrl } from "@/api/config";
const baseURL = Account_BaseUrl + "/admin/shopTable";
const API = {
  // 批量生成桌码
  downloadTableCode(num: number) {
    return request({
      url: `${baseURL}/code?num=` + num,
      method: "post",
      responseType: 'blob'
    });
  },
  getList(data: getListRequest) {
    return request({
      url: `${baseURL}`,
      method: "get",
      params: data
    });
  },
  // 获取台桌详情
  get(params: getRequest) {
    return request({
      url: `${baseURL}/detail`,
      method: "get",
      params
    });
  },
  edit(data: editRequest) {
    return request({
      url: `${baseURL}`,
      method: "put",
      data: data,
    });
  },
  add(data: addRequest) {
    return request({
      url: `${baseURL}`,
      method: "post",
      data: data,
    });
  },
  delete(id: number | string) {
    return request({
      url: `${baseURL}`,
      method: "delete",
      data: { id },
    });
  },
  //绑定桌码
  bindTableCode(data: any) {
    return request({
      url: `${baseURL}/bind`,
      method: "post",
      data
    });
  },
  // 批量台桌配置
  shopTabBatch(data: any) {
    return request({
      url: `${baseURL}/batch`,
      method: "PUT",
      data
    });
  },
  // 获取清台配置信息
  tableCurrentState() {
    return request({
      url: `${baseURL}/currentState`,
      method: "GET"
    });
  },
}
export default API;
/**
 * ShopTableAddDTO
 */
export interface addRequest {
  /**
   * 区域id
   */
  areaId?: number | null;
  /**
   * 是否自动清台
   */
  autoClear?: number | null;
  /**
   * 客座数
   */
  capacity: number | null;
  /**
   * 结束数字
   */
  end: number | null;
  /**
   * 台桌前缀
   */
  sign: null | string;
  /**
   * 起始数字
   */
  start: number | null;
  [property: string]: any;
}

/**
 * ShopTableDTO
 */
export interface editRequest {
  /**
   * 区域Id
   */
  areaId?: number | null;
  /**
   * 自动清台 0手动 1自动
   */
  autoClear?: number | null;
  /**
   * 自增id
   */
  id: number | null;
  /**
   * 是否接受网络预定
   */
  isPredate?: number | null;
  /**
   * 客座数,允许的客座数量
   */
  maxCapacity?: number | null;
  name?: null | string;
  /**
   * 网络预定台桌支付金额
   */
  predateAmount?: number | null;
  /**
   * 二维码
   */
  qrcode?: null | string;
  /**
   * 台桌排序
   */
  sort?: number | null;
  /**
   * idle-空闲 using-使用中 subscribe预定，closed--关台， opening 开台中，cleaning 台桌清理中
   */
  status?: null | string;
  [property: string]: any;
}
export interface getRequest {
  /**
   * 台桌id
   */
  id?: string;
  /**
   * 桌码
   */
  tableCode?: string;
  [property: string]: any;
}
export interface getListRequest {
  /**
   * 区域id
   */
  areaId?: number;
  /**
   * 桌码
   */
  tableCode?: string;
  [property: string]: any;
}