index.ts 6.63 KB
import request from '@/utils/request'

// 城市管理
export const cityApi = {
  tree: () => request.get('/api/platform/city/tree'),
  openList: () => request.get('/api/platform/city/open'),
  add: (data: any) => request.post('/api/platform/city/add', data),
  edit: (data: any) => request.put('/api/platform/city/edit', data),
  setStatus: (cityId: number, status: number) =>
    request.post('/api/platform/city/setStatus', null, { params: { cityId, status } }),
  getConfig: (cityId: number) => request.get(`/api/platform/city/config/${cityId}`),
  updateConfig: (cityId: number, config: any) =>
    request.post(`/api/platform/city/config/${cityId}`, config),
}

// 分站管理
export const substationApi = {
  list: (keyword?: string) => request.get('/api/platform/substation/list', { params: { keyword } }),
  add: (data: any) => request.post('/api/platform/substation/add', data),
  edit: (data: any) => request.put('/api/platform/substation/edit', data),
  ban: (id: number) => request.post('/api/platform/substation/ban', null, { params: { id } }),
  cancelBan: (id: number) => request.post('/api/platform/substation/cancelBan', null, { params: { id } }),
  del: (id: number) => request.delete('/api/platform/substation/del', { params: { id } }),
  changePassword: (data: { oldPassword: string; newPassword: string }) =>
    request.post('/api/platform/substation/changePassword', data),
}

// 商家管理
export const merchantApi = {
  enterList: (params: any) => request.get('/api/platform/merchant/enter/list', { params }),
  handleEnter: (id: number, status: number) =>
    request.post('/api/platform/merchant/enter/handle', null, { params: { id, status } }),
  storeList: (params: any) => request.get('/api/platform/merchant/store/list', { params }),
  addStore: (data: any) => request.post('/api/platform/merchant/store/add', data),
  editStore: (data: any) => request.put('/api/platform/merchant/store/edit', data),
  storeDetail: (storeId: number) => request.get('/api/platform/merchant/store/detail', { params: { storeId } }),
  setOperatingState: (storeId: number, state: number) =>
    request.post('/api/platform/merchant/store/setOperatingState', null, { params: { storeId, state } }),
  setAutoOrder: (storeId: number, auto: number) =>
    request.post('/api/platform/merchant/store/setAutoOrder', null, { params: { storeId, auto } }),
  updateFeeConfig: (storeId: number, freeShipping: number, upToSend: number) =>
    request.post('/api/platform/merchant/store/updateFeeConfig', null,
      { params: { storeId, freeShipping, upToSend } }),
  delStore: (storeId: number) => request.delete('/api/platform/merchant/store/del', { params: { storeId } }),
}

// 骑手管理
export const riderApi = {
  add: (data: any) => request.post('/api/admin/rider/add', data),
  list: (params: any) => request.get('/api/admin/rider/list', { params }),
  setStatus: (riderId: number, status: number) =>
    request.post('/api/admin/rider/setStatus', null, { params: { riderId, status } }),
  setLevel: (riderId: number, levelId?: number) =>
    request.post('/api/admin/rider/setLevel', null, { params: { riderId, levelId } }),
  setEnableStatus: (riderId: number, status: number) =>
    request.post('/api/admin/rider/setEnableStatus', null, { params: { riderId, status } }),
  setType: (riderId: number, type: number) =>
    request.post('/api/admin/rider/setType', null, { params: { riderId, type } }),
  designate: (orderId: number, riderId: number) =>
    request.post('/api/admin/rider/order/designate', null, { params: { orderId, riderId } }),
  setTrans: (orderId: number, trans: number) =>
    request.post('/api/admin/rider/order/setTrans', null, { params: { orderId, trans } }),
  evaluateList: (riderId: number, type = 0, page = 1) =>
    request.get('/api/admin/evaluate/list', { params: { riderId, type, page } }),
  // 订单列表(分站管理员/超管)
  orderList: (params: any) => request.get('/api/admin/rider/order/list', { params }),
  // 配送订单列表(外部系统推入的)
  deliveryOrderList: (params: any) => request.get('/api/admin/rider/order/delivery/list', { params }),
}

export const riderLevelApi = {
  list: (cityId: number) => request.get('/api/admin/rider/level/list', { params: { cityId } }),
  add: (data: any) => request.post('/api/admin/rider/level/add', data),
  edit: (data: any) => request.put('/api/admin/rider/level/edit', data),
  setDefault: (id: number, cityId: number) =>
    request.post('/api/admin/rider/level/setDefault', null, { params: { id, cityId } }),
  del: (id: number, cityId: number) =>
    request.delete('/api/admin/rider/level/del', { params: { id, cityId } }),
}

// 退款管理
export const refundApi = {
  reasons: (role = 0) => request.get('/api/admin/refund/reasons', { params: { role } }),
  record: (orderId: number) => request.get('/api/admin/refund/record', { params: { orderId } }),
  handle: (recordId: number, status: number, remark = '') =>
    request.post('/api/admin/refund/handle', null, { params: { recordId, status, remark } }),
}

// 开放平台
export const openApi = {
  list: (page = 1) => request.get('/api/platform/open/list', { params: { page } }),
  create: (data: any) => request.post('/api/platform/open/create', null, { params: data }),
  resetSecret: (appId: number) =>
    request.post('/api/platform/open/resetSecret', null, { params: { appId } }),
  setStatus: (appId: number, status: number) =>
    request.post('/api/platform/open/setStatus', null, { params: { appId, status } }),
  updateWebhook: (appId: number, webhookUrl: string, webhookEvents: string) =>
    request.post('/api/platform/open/updateWebhook', null,
      { params: { appId, webhookUrl, webhookEvents } }),
  webhookLogs: (appId: number, page = 1) =>
    request.get('/api/platform/open/webhook/logs', { params: { appId, page } }),
  retryWebhook: (logId: number) =>
    request.post('/api/platform/open/webhook/retry', null, { params: { logId } }),
}

// 配送费计算
export const deliveryApi = {
  calc: (data: any) => request.post('/api/delivery/fee/calc', data),
  check: (cityId: number, orderType: number) =>
    request.get('/api/delivery/fee/check', { params: { cityId, orderType } }),
}

// 配送订单管理(外部系统推入的订单)
export const deliveryOrderApi = {
  create: (data: any) => request.post('/api/open/delivery/order/create', data),
  query: (outOrderNo: string) =>
    request.get('/api/open/delivery/order/query', { params: { outOrderNo } }),
  cancel: (outOrderNo: string) =>
    request.post('/api/open/delivery/order/cancel', null, { params: { outOrderNo } }),
}

// 附近骑手
export const locationApi = {
  nearby: (cityId: number, lng: string, lat: string) =>
    request.get('/api/rider/location/nearby', { params: { cityId, lng, lat } }),
}