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

// 系统菜单管理
export const systemMenuApi = {
  tree: () => request.get('/api/platform/system/menu/tree'),
  add: (data: any) => request.post('/api/platform/system/menu/add', data),
  edit: (data: any) => request.put('/api/platform/system/menu/edit', data),
  del: (id: number) => request.delete('/api/platform/system/menu/del', { params: { id } }),
  setVisible: (id: number, visible: number) =>
    request.post('/api/platform/system/menu/setVisible', null, { params: { id, visible } }),
  setStatus: (id: number, status: number) =>
    request.post('/api/platform/system/menu/setStatus', null, { params: { id, status } }),
}

export const systemRoleApi = {
  list: (includeDisabled = false) => request.get('/api/platform/system/role/list', { params: { includeDisabled } }),
  add: (data: any) => request.post('/api/platform/system/role/add', data),
  edit: (data: any) => request.put('/api/platform/system/role/edit', data),
  ban: (id: number) => request.post('/api/platform/system/role/ban', null, { params: { id } }),
  cancelBan: (id: number) => request.post('/api/platform/system/role/cancelBan', null, { params: { id } }),
  del: (id: number) => request.delete('/api/platform/system/role/del', { params: { id } }),
  menuTree: (roleId: number) => request.get(`/api/platform/system/role/${roleId}/menu-tree`),
  assignMenus: (roleId: number, data: { menuIds: number[] }) =>
    request.post(`/api/platform/system/role/${roleId}/menus`, data),
}

// 城市管理
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 } }),
  listFeePlans: (cityId: number) => request.get(`/api/platform/city/${cityId}/fee-plans`),
  getFeePlan: (cityId: number, planId: number) =>
    request.get(`/api/platform/city/${cityId}/fee-plans/${planId}`),
  createFeePlan: (cityId: number, data: any) =>
    request.post(`/api/platform/city/${cityId}/fee-plans`, data),
  initDefaultFeePlan: (cityId: number) =>
    request.post(`/api/platform/city/${cityId}/fee-plans/init-default`),
  updateFeePlan: (cityId: number, planId: number, data: any) =>
    request.put(`/api/platform/city/${cityId}/fee-plans/${planId}`, data),
  copyFeePlan: (cityId: number, planId: number) =>
    request.post(`/api/platform/city/${cityId}/fee-plans/${planId}/copy`),
  setDefaultFeePlan: (cityId: number, planId: number) =>
    request.post(`/api/platform/city/${cityId}/fee-plans/${planId}/default`),
  deleteFeePlan: (cityId: number, planId: number) =>
    request.delete(`/api/platform/city/${cityId}/fee-plans/${planId}`),
  previewFeePlan: (cityId: number, data: any) =>
    request.post(`/api/platform/city/${cityId}/fee-plans/preview`, data),
}

// 分站管理
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: { id: number; oldPassword: string; newPassword: string }) =>
    request.post('/api/platform/substation/changePassword', data, { params: { id: data.id } }),
}

export const adminUserApi = {
  list: (keyword?: string) => request.get('/api/platform/admin-user/list', { params: { keyword } }),
  add: (data: any) => request.post('/api/platform/admin-user/add', data),
  edit: (data: any) => request.put('/api/platform/admin-user/edit', data),
  ban: (id: number) => request.post('/api/platform/admin-user/ban', null, { params: { id } }),
  cancelBan: (id: number) => request.post('/api/platform/admin-user/cancelBan', null, { params: { id } }),
  del: (id: number) => request.delete('/api/platform/admin-user/del', { params: { id } }),
  changePassword: (data: { id: number; oldPassword: string; newPassword: string }) =>
    request.post('/api/platform/admin-user/changePassword', data, { params: { id: data.id } }),
}

// 商家管理
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 } }),
  setHoldOrderLimit: (riderId: number, holdOrderLimit: number) =>
    request.post('/api/admin/rider/setHoldOrderLimit', null, { params: { riderId, holdOrderLimit } }),
  designateCandidates: (orderId: number) =>
    request.get('/api/admin/rider/order/candidates', { params: { orderId } }),
  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 }),
  deliveryOrderDetail: (orderId: number) =>
    request.get('/api/admin/rider/order/delivery/detail', { params: { orderId } }),
  deliveryOrderCancel: (orderId: number) =>
    request.post('/api/admin/rider/order/delivery/cancel', null, { params: { orderId } }),
}

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 }),
  mockDeliveryCreate: (data: any) => request.post('/api/platform/open/mockDelivery/create', 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 adminFeePlanApi = {
  list: (cityId?: number) => request.get('/api/admin/fee-plan/list', { params: { cityId } }),
  detail: (planId: number, cityId?: number) => request.get(`/api/admin/fee-plan/${planId}`, { params: { cityId } }),
  create: (data: any, cityId?: number) => request.post('/api/admin/fee-plan', data, { params: { cityId } }),
  initDefault: (cityId?: number) => request.post('/api/admin/fee-plan/init-default', null, { params: { cityId } }),
  update: (planId: number, data: any, cityId?: number) => request.put(`/api/admin/fee-plan/${planId}`, data, { params: { cityId } }),
  copy: (planId: number, cityId?: number) => request.post(`/api/admin/fee-plan/${planId}/copy`, null, { params: { cityId } }),
  setDefault: (planId: number, cityId?: number) => request.post(`/api/admin/fee-plan/${planId}/default`, null, { params: { cityId } }),
  del: (planId: number, cityId?: number) => request.delete(`/api/admin/fee-plan/${planId}`, { params: { cityId } }),
  preview: (data: any, cityId?: number) => request.post('/api/admin/fee-plan/preview', data, { params: { cityId } }),
}

export const dispatchRuleApi = {
  list: (cityId?: number) => request.get('/api/admin/dispatch/rule/list', { params: { cityId } }),
  getActive: (cityId?: number) => request.get('/api/admin/dispatch/rule', { params: { cityId } }),
  save: (data: any) => request.post('/api/admin/dispatch/rule/save', data),
  activate: (templateId: number, cityId?: number) => request.post('/api/admin/dispatch/rule/activate', { templateId }, { params: { cityId } }),
  del: (id: number, cityId?: number) => request.delete(`/api/admin/dispatch/rule/${id}`, { params: { cityId } }),
  copy: (templateId: number, newName: string, cityId?: number) => request.post('/api/admin/dispatch/rule/copy', { templateId, newName }, { params: { cityId } }),
}

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