import request from '@/config/axios'

// 接口设置相关类型定义
export interface ApiSettingVO {
  id?: number // 主键ID, 示例值(11099), integer(int64)
  name: string // 接口名称, 示例值(赵六), string
  interfaceKey: string // 接口标识, string
  method: string // HTTP方法：GET/POST/PUT/DELETE, string
  baseUrl: string // 基础URL, 示例值(https://www.iocoder.cn), string
  timeoutMs?: number // 超时时间（毫秒）, integer(int32)
  retryCount?: number // 重试次数, 示例值(30633), integer(int32)
  authType?: string // 认证类型：NONE/BASIC/BEARER/API_KEY, 示例值(1), string
  paramType?: string // 参数类型：QUERY/HEADER/BODY/FORM_DATA/PATH, 示例值(2), string
  contentType?: string // 内容类型（如：application/json）, 示例值(1), string
  tableName?: string // 数据表名称, 示例值(osy), string
  headerTemplate?: string // 请求头模板, string
  inputParamTemplate?: string // 入参模板, string
  status: number // 状态：0-草稿 1-生效 2-失效, 示例值(1), integer(int32)
}

// 分页查询参数
export interface ApiSettingPageParam {
  pageNo?: number
  pageSize?: number
  name?: string // 接口名称
  interfaceKey?: string // 接口标识
  baseUrl?: string // 基础URL
}

// 物料基本信息查询列表
export const materialBaseInfoPage = (data: {}) => {
  return request.post({ url: '/print/material-base-info/page', data })
}
// 同步SAP
export const materialBaseInfoSapCreate = (data: {}) => {
  return request.post({ url: '/print/material-base-info/create', data })
}
// 查询物料基本信息详情
export const getMaterialBaseInfo = (id: number) => {
  return request.get({ url: '/print/material-base-info/get?id=' + id })
}
// 修改接口设置
export const updateMaterialBaseInfo = (data: any) => {
  return request.put({ url: '/print/material-base-info/update', data })
}

// 删除接口设置
export const deleteApiSetting = (id: number) => {
  return request.delete({ url: '/print/sap-api-config/delete?id=' + id })
}

// 批量删除接口设置
export const deleteApiSettingList = (ids: number[]) => {
  return request.delete({
    url: '/print/sap-api-config/delete-list',
    params: { ids: ids.join(',') }
  })
}

// 导出
export const materialBaseInfoExportExcel = (data: any) => {
  return request.downloadPost({ url: '/print/material-base-info/export-excel', data })
}

// 下载接口设置导入模板
export const importApiSettingTemplate = () => {
  return request.downloadPost({ url: '/print/material-base-info/downloadTemplate' })
}
export const materialBaseInfoImport = (data: any) => {
  return request.upload({ url: '/print/material-base-info/export-import', data })
}
export const materialBaseInfoImportToB = (data: any) => {
  return request.upload({ url: '/print/material-base-info/material-importToB', data })
}
// 导入接口设置
export const importApiSetting = (data: FormData) => {
  return request.post({
    url: '/print/sap-api-config/import',
    data,
    headers: { 'Content-Type': 'multipart/form-data' }
  })
}

// 修改接口设置状态
export const updateApiSettingStatus = (id: number, status: number) => {
  const data = {
    id,
    status
  }
  return request.put({ url: '/print/sap-api-config/update-status', data })
}

// 获取接口设置精简信息列表
export const getSimpleApiSettingList = (params): Promise<ApiSettingVO[]> => {
  return request.get({ url: '/print/sap-api-config/simple-list', params })
}
