import request from "@/utils/request";
const baseURL = "/product/admin/product";
// 商品管理-商品列表

const AuthAPI = {
  /** 分页*/
  getPage(params: any) {
    return request<any, Responseres>({
      url: `${baseURL}/page`,
      method: "get",
      params,
    });
  },
  list(params: any) {
    return request<any, Responseres>({
      url: `${baseURL}/list`,
      method: "get",
      params,
    });
  },
  // 新增
  addunit(data: any) {
    console.log(data, '提示121');
    if (data.images.length == 0) {
      data.images = null
    }
    if (data.proGroupVo.length == 0) {
      data.proGroupVo = null
    }
    return request<any, Responseres>({
      url: `${baseURL}`,
      method: "post",
      data,
    });
  },
  // 详情
  getunitinfo(id: number) {
    return request<any, Responseres>({
      url: `${baseURL}/${id}`,
      method: "get",
    });
  },
  // 编辑
  update(data: Object) {
    return request<any, Responseres>({
      url: `${baseURL}`,
      method: "put",
      data,
    });
  },
  // 商品-标记自动售罄
  markIsAutoSoldOut(data: Object) {
    return request<any, Responseres>({
      url: `${baseURL}/markIsAutoSoldOut`,
      method: "post",
      data,
    });
  },
  // 删除
  deleteByIds(id: number | String) {
    return request<any, Responseres>({
      url: `${baseURL}/${id}`,
      method: "delete",
    });
  },
  // 同步
  refundToStock(data: any) {
    return request<any, Responseres>({
      url: `${baseURL}/refundToStock`,
      method: "post",
      data,
    });
  },
  // 退款退回
  sync(data: any) {
    return request<any, Responseres>({
      url: `${baseURL}/sync`,
      method: "post",
      data,
    });
  },

  // 耗材列表分页
  productcons(params: any) {
    return request<any, Responseres>({
      url: `/product/admin/product/cons/page`,
      method: "get",
      params
    });
  },
  // 耗材列表
  productconsList(params: any) {
    return request<any, Responseres>({
      url: `/product/admin/product/cons/list`,
      method: "get",
      params
    });
  },
  // 耗材列表
  consStock(params: any) {
    return request<any, Responseres>({
      url: `/product/admin/product/cons/consStock`,
      method: "get",
      params
    });
  },
  // 上下架
  onOff(data: any) {
    return request<any, Responseres>({
      url: `${baseURL}/onOff`,
      method: "post",
      data,
    });
  },
  // 商品详情
  getDetail(id: number) {
    return request<any, Responseres>({
      url: `${baseURL}/${id}`,
      method: "get",
    });
  },
  // 统计
  statistics(params: object) {
    return request<any, Responseres>({
      url: `${baseURL}/statistics`,
      method: "get",
      params
    });
  },
  stockFlow(params: object) {
    return request<any, Responseres>({
      url: `${baseURL}/stockFlow`,
      method: "get",
      params
    });
  },
  // 报损
  reportDamage(data: any) {
    return request<any, Responseres>({
      url: `${baseURL}/reportDamage`,
      method: "post",
      data,
    });
  },
  // 商品-绑定耗材
  bind(data: any) {
    return request<any, Responseres>({
      url: `${baseURL}/bind`,
      method: "post",
      data,
    });
  },
  // 库存预警
  stockWarning(data: any) {
    return request<any, Responseres>({
      url: `${baseURL}/stockWarning?warnLine=${data}`,
      method: "post",
    });
  },
  // 售罄
  markIsSoldOut(data: any) {
    return request<any, Responseres>({
      url: `${baseURL}/markIsSoldOut`,
      method: "post",
      data,
    });
  },
  // 库存修改
  modifyStock(data: any) {
    return request<any, Responseres>({
      url: `${baseURL}/modifyStock`,
      method: "post",
      data,
    });
  },
  // 入库单识别
  stockOcr(data: any) {
    return request<any, Responseres>({
      url: `${baseURL}/stock/ocr`,
      method: "post",
      data,
    });
  },
  // ocr识别结果
  ocrResult(params: any) {
    return request<any, Responseres>({
      url: `${baseURL}/stock/ocrResult`,
      method: "get",
      params,
    });
  },
  // 耗材入库
  stockIn(data: any) {
    return request<any, Responseres>({
      url: `${baseURL}/stock/in`,
      method: "POST",
      data,
    });
  },
  // 供应商-列表
  vendorList(params: any) {
    return request<any, Responseres>({
      url: `${baseURL}/vendor/list`,
      method: "get",
      params,
    });
  },
  // 导出商品
  exportProducts(params: any) {
    return request<any, Responseres>({
      url: `${baseURL}/export`,
      method: "get",
      params,
      responseType: 'blob'
    });
  },
  // 商品-批量操作
  batchOperate(params: any) {
    return request<any, Responseres>({
      url: `${baseURL}/batchOperate`,
      method: "get",
      params
    });
  }
};




export interface Responseres {
  code?: number | null;
  data?: any;
  msg?: null | string;
  [property: string]: any;
}

export default AuthAPI;


export interface Response {
  code: number;
  data: Data;
  msg: string;
  [property: string]: any;
}

export interface Data {
  pageNumber: string;
  pageSize: string;
  records: Record[];
  totalPage: string;
  totalRow: string;
  [property: string]: any;
}

export interface Record {
  /**
   * 分类id
   */
  categoryId: string;
  /**
   * 分类名称
   */
  categoryName: string;
  /**
   * 封面图url
   */
  coverImg: string;
  /**
   * 创建时间
   */
  createTime: string;
  /**
   * 定时上下架周期
   */
  days: string;
  /**
   * 起用结束时间
   */
  endTime: string;
  /**
   * 团购卷分类，可有多个分类
   */
  groupCategoryId: string;
  /**
   * 套餐内容
   */
  groupSnap: GroupSnap[];
  /**
   * 套餐类型，0 固定套餐 1可选套餐
   */
  groupType: number;
  /**
   * 商品id
   */
  id: string;
  /**
   * 封面图urls
   */
  images: string[];
  /**
   * 是否允许临时改价
   */
  isAllowTempModifyPrice: number;
  /**
   * 是否逻辑删除
   */
  isDel: number;
  /**
   * 是否推荐
   */
  isHot: number;
  /**
   * 退款是否退回库存
   */
  isRefundStock: number;
  /**
   * 是否上架
   */
  isSale: number;
  /**
   * 是否售罄
   */
  isSoldStock: number;
  /**
   * 是否启用库存
   */
  isStock: number;
  /**
   * 会员最低价
   */
  lowMemberPrice: number;
  /**
   * 商品最低价
   */
  lowPrice: number;
  /**
   * 商品名称
   */
  name: string;
  /**
   * 打包费
   */
  packFee: number;
  /**
   * 套餐详情入参使用
   */
  proGroupVo: string[];
  selectSpecInfo: { [key: string]: any };
  /**
   * 店铺id
   */
  shopId: string;
  /**
   * 商品介绍
   */
  shortTitle: string;
  /**
   * sku集合
   */
  skuList: SkuList[];
  /**
   * 排序值
   */
  sort: number;
  /**
   * 规格完整名称
   */
  specFullName: string;
  /**
   * 规格id
   */
  specId: null;
  /**
   * 规格名称
   */
  specName: string;
  /**
   * 起用开始时间
   */
  startTime: string;
  /**
   * 库存
   */
  stockNumber: number;
  /**
   * 商品类型，single-单规格商品 sku-多规格商品 package-套餐商品  weight-称重商品 coupon-团购券
   */
  type: string;
  /**
   * 单位id
   */
  unitId: string;
  /**
   * 单位名称
   */
  unitName: string;
  /**
   * 更新时间
   */
  updateTime: string;
  /**
   * 库存警戒线
   */
  warnLine: number;
  /**
   * 重量
   */
  weight?: number;
  [property: string]: any;
}

export interface GroupSnap {
  /**
   * 套餐内商品总数
   */
  count: number;
  /**
   * 套餐内商品列表
   */
  goods: Good[];
  /**
   * 可选套餐几选几，固定套餐没有值
   */
  number: number;
  /**
   * 可选套餐名称
   */
  title: string;
  [property: string]: any;
}

export interface Good {
  /**
   * 商品数量
   */
  number: string;
  /**
   * 商品单价
   */
  price: number;
  /**
   * 商品ID
   */
  proId: number;
  /**
   * 商品名称
   */
  proName: string;
  /**
   * skuId
   */
  skuId: number;
  /**
   * sku名称
   */
  skuName: string;
  /**
   * 单位名称
   */
  unitName: string;
  [property: string]: any;
}

export interface SkuList {
  /**
   * 条形码
   */
  barCode: string;
  /**
   * 成本价
   */
  costPrice: number;
  /**
   * 封面图
   */
  coverImg: string;
  /**
   * 创建时间
   */
  createTime: string;
  /**
   * sku-id
   */
  id: string;
  /**
   * 是否已删除
   */
  isDel: number;
  /**
   * 是否上架
   */
  isGrounding: number;
  /**
   * 是否售罄
   */
  isPauseSale: number;
  /**
   * 会员价
   */
  memberPrice: number;
  /**
   * 原价
   */
  originPrice: number;
  /**
   * 商品id
   */
  productId: string;
  /**
   * 销量
   */
  realSalesNumber: number;
  /**
   * 售价
   */
  salePrice: number;
  /**
   * 店铺id
   */
  shopId: string;
  /**
   * 规格详情
   */
  specInfo: string;
  /**
   * 起售数量
   */
  suitNum: number;
  /**
   * 更新时间
   */
  updateTime: string;
  /**
   * 重量
   */
  weight: null;
  [property: string]: any;
}
