import request from "@/utils/request";
import { stringify } from "qs";

export async function getProductMapperList(data) {
  data = stringify(data);
  return request({
    url: `/admin/shop/shop-sync-productMapper/list?${data}`,
    method: "get",
  });
}

export async function getShopList() {
  return request({
    url: "/admin/shop/shop-store-base/list?pageNum=1&pageSize=99999&store_type=1",
    method: "get",
  });
}

export async function updateGoods(data) {
  return request({
    url: "/admin/shop/shop-sync-productMapper/udpateProductMapping",
    method: "put",
    headers: {
      'Content-Type': 'application/json',
      },
    data,
  });
}

export async function deleteGoods(data) {
  return request({
    url: "/admin/shop/shop-sync-productMapper/delProductMapping",
    method: "delete",
    headers: {
      'Content-Type': 'application/json',
      },
    data,
  });
}

export async function downloadTempGoods(data) {
  data = stringify(data);
  return request({
    url: `/admin/shop/shop-sync-productMapper/template?${data}`,
    method: "get",
  });
}

export async function batchCreateGoods(data) {
  return request({
    url: "/admin/shop/shop-sync-productMapper/saveProductMappingBatch",
    method: "post",
    headers: {
    'Content-Type': 'application/json',
    },
    data,
  });
}

export async function batchExportGoods(data) {
  return request({
    url: "/admin/shop/shop-sync-productMapper/exportSelected",
    method: "post",
    headers: {
      'Content-Type': 'application/json',
      },
    data,
  });
}

export async function getProductMapping(data) {
  return request({
    url: "/admin/shop/shop-sync-productMapper/getProductMapping",
    method: "get",
    data,
  });
}

export async function getSyncBaseMapingProducts() {
  return request({
    url: "/admin/shop/shop-sync-productMapper/getSyncBaseMapingProducts",
    method: "get",
  });
}

export async function HandleDownloadErrorReport(data) {
  data = stringify(data);
  return request({
    url: `/admin/shop/shop-sync-productMapper/download?${data}`,
    method: "get",
  });
}

export async function syncProductMaping() {
  return request({
    url: `/admin/shop/shop-sync-productMapper/syncProductMaping`,
    method: "put",
    headers: {
      'Content-Type': 'application/json',
      },
  });
}

export async function importGoodsData(data) {
  return request({
    url: `/admin/shop/shop-sync-productMapper/importData`,
    method: "post",
    data,
  });
}

export default {
  getProductMapperList,
  getShopList,
  updateGoods,
  deleteGoods,/*  */
  downloadTempGoods,
  batchCreateGoods,
  batchExportGoods,
  getProductMapping,
  getSyncBaseMapingProducts,
  HandleDownloadErrorReport,
  syncProductMaping,
  importGoodsData,
};
