import request from '@/utils/request'
import Request from '@/utils/requestOther'
const instance = new Request()
const instance2 = new Request('/core')
// ---------------以下是接口相关------------------
// 获取业务映射 /api/v1/url-mapping get  start_time:1696726800 end_time:1696730400 app_id:1
export function listUrlMapping(query) {
  return request({
    url: '/api/v1/url-mapping',
    method: 'get',
    params: query
  })
}

// 创建业务映射  /api/v1/url-mapping  post
export function addUrlMapping(data) {
  return request({
    url: '/api/v1/url-mapping',
    method: 'post',
    data: data
  })
}
// 获取业务映射基本信息 /api/v1/url-mapping/{业务映射id}
export function getUrlMapping(id) {
  return request({
    url: '/api/v1/url-mapping/' + id,
    method: 'get'
  })
}
// 修改业务映射 /api/v1/url-mapping/{id}   put
export function updateUrlMapping(data, id) {
  return request({
    url: '/api/v1/url-mapping/' + id,
    method: 'put',
    data: data
  })
}
// 删除业务映射 /api/v1/url-mapping/1,2,3
export function delUrlMapping(id) {
  return request({
    url: '/api/v1/url-mapping/' + id,
    method: 'delete'
  })
}

// 指定业务映射时间区间内的请求详情 /api/v1/url-mapping/{业务映射id}/detail
export function getUrlMappingRange(query) {
  return request({
    url: '/api/v1/url-mapping/detail',
    method: 'get',
    params: query
  })
}

// 收藏/取消收藏 /api/v1/url-mapping/favor/{业务映射id}
export function favor(data, id) {
  return request({
    url: '/api/v1/url-mapping/favor/' + id,
    method: 'put',
    data: data
  })
}

// 业务映射桑基图
export function listSankey(query) {
  return request({
    url: '/api/v1/url-mapping/sankey',
    method: 'get',
    params: query
  })
}
// 业务映射收藏列表 /api/v1/url-mapping/favor  get
export function favorList(query) {
  return request({
    url: '/api/v1/url-mapping/favor',
    method: 'get',
    params: query
  })
}

// 接口错误统计 /api/v1/url-mapping/errors
export function listUrlMappingErrors(query) {
  return request({
    url: '/api/v1/url-mapping/errors',
    method: 'get',
    params: query
  })
}

// 接口质量统计 /api/v1/url-mapping/quality
export function listUrlMappingQuality(query) {
  return request({
    url: '/api/v1/url-mapping/quality',
    method: 'get',
    params: query
  })
}
// 用于动态拓扑，接口层 慢接口TOP5 列表/api/v1/url-mapping/slowtop
export function slowTopUrlMapping(query) {
  return request({
    url: '/api/v1/url-mapping/slowtop',
    method: 'get',
    params: query
  })
}
// ---------------以上是接口相关------------------

// ---------------以下是业务相关------------------
// 业务映射接口对应页面解析列表
// 业务列表/api/v1/biz 1和2是一套，拿到1的id请求2的接口，两套数据进行整合。
export function listBiz(query) {
  return request({
    url: '/api/v1/biz',
    method: 'get',
    params: query
  })
}

// 2. 业务统计数据：针对业务列表补充的统计数据，用于加快业务列表响应速度
export function listBizStats(query) {
  return request({
    url: '/api/v1/biz/stats',
    method: 'get',
    params: query
  })
}

// 3. 业务详情-业务请求列表     类例接口映射的左侧滑窗，暂无页面/api/v1/biz/detail
export function getBizDetail(query) {
  return request({
    url: '/api/v1/biz/detail',
    method: 'get',
    params: query
  })
}

// 4. 业务策略树(仅包括基础结构)           类似trace表格   4和5是一套，拿到4的id请求5的接口，两套数据进行整合。
export function listBizGraph(query) {
  return request({
    url: '/api/v1/biz/graph',
    method: 'get',
    params: query
  })
}

// 5. 业务策略树-统计数据
export function listBizGraphStats(query) {
  return request({
    url: '/api/v1/biz/graph/stats',
    method: 'get',
    params: query
  })
}

// 6 业务标记-更新业务名称 /api/v1/biz/mark/{id}
export function updateBiz(data, id) {
  return request({
    url: '/api/v1/biz/mark/' + id,
    method: 'put',
    params: data
  })
}

// 8 删除业务 /api/v1/biz/{id}
export function delBiz(id) {
  return request({
    url: '/api/v1/biz/' + id,
    method: 'delete'
  })
}

// 7 业务收藏(置顶) /api/v1/biz/favor/{id}
export function favorBiz(query, id) {
  return request({
    url: '/api/v1/biz/favor/' + id,
    method: 'put',
    params: query
  })
}

// 9数字视图 /api/v1/biz/digits
// app_id: 应用id
//     start_time: xxx
//     end_time: xxx

export function digitsBiz(query) {
  return request({
    url: '/api/v1/biz/digits',
    method: 'get',
    params: query
  })
}

// 业务概要统计 /api/v1/biz/basic-guy?biz_id={app_id}
export function basicGuy(query) {
  return request({
    url: '/api/v1/biz/basic-guy',
    method: 'get',
    params: query
  })
}

// 业务策略树-结点信息之结点统计/api/v1/biz/node/stats
export function bizNodeStats(query) {
  return request({
    url: '/api/v1/biz/node/stats',
    method: 'get',
    params: query
  })
}

// 业务策略树-节点名称更新
export function bizNodeName(data) {
  return request({
    url: '/api/v1/biz/node',
    method: 'put',
    params: data
  })
}

// 业务策略树-结点信息之span列表
export function bizNodeSpans(query) {
  return request({
    url: '/api/v1/biz/node/spans',
    method: 'get',
    params: query
  })
}

// 聚合列表 数字视图 /api/v1/url-mapping/subdigits
export function urlMappingSubdigits(query) {
  return request({
    url: '/api/v1/url-mapping/subdigits',
    method: 'get',
    params: query
  })
}

// 聚合列表 数字视图 /api/v1/url-mapping/subdigits
export function urlMappingSublist(query) {
  return request({
    url: '/api/v1/url-mapping/sublist',
    method: 'get',
    params: query
  })
}
// 慢业务接口
export function getSlowInterfaceData(data) {
  const url = `/v1/biz/slowtop`// /api/v1/biz/slowtop 原来是这个
  return instance2.get(url, data)
}
export function getBasicInfo(data) {
  const url = `/api/v1/url-mapping/info`
  return instance.get(url, data)
}
// 获取甜甜圈接口
export function getSweetList(data) {
  const url = `/v1/biz/service-graph`
  return instance2.get(url, data)
}

// 获取重点业务/业务总览
export function getNewBusinessList(data) {
  const url = `/v1/biz`
  return instance2.get(url, data)
}

// 上上传excel 表格接口
export function uploadExcel(data) {
  const url = `/v1/service/collect`
  return instance2.post(url, data)
}
// 获取当前应用上下游关系
export function getAppcationGraph(data) {
  const url = `/v1/application/graph`
  return instance2.get(url, data)
}
// 获取应用空间左侧统计信息
export function getStatistics(data) {
  const url = `/v1/application/stats`
  return instance2.get(url, data)
}
// 获取应用空间-异常v统计
export function getAbnormalStatistics(data) {
  const url = `/api/v1/event/stats`
  return instance.get(url, data)
}
// 异常聚合信息
export function abnormalAnalyst(data) {
  const url = `/api/v1/big-model/analyst`
  return instance.post(url, data)
}
// 获取应用空间-异常剖析table 数据
export function getAbnormalTable(data) {
  const url = `/api/v1/event/list`
  return instance.get(url, data)
}
// 业务专题获取基本信息
export function getBusiTopicsInfo(data) {
  const url = `/v1/biz/info`
  return instance2.get(url, data)
}
// 业务专题--业务拓扑
export function getBusiTopicsGraph(data) {
  const url = `/v1/biz/service-graph`
  return instance2.get(url, data)
}
// 业务专题--业务调用折线图
export function getBizChartLines(data) {
  const url = `/v1/biz/lines`
  return instance2.get(url, data)
}
// 业务专题--最新请求table/异常数据点击后出现弹窗的table
export function getBizQuickTable(data) {
  const url = `/v1/trace/quick`
  return instance2.get(url, data)
}
