import request from '@/config/axios'
import type { Dayjs } from 'dayjs';

/** ERP 售后处理信息 */
export interface AfterSaleProcess {
          id: number; // 处理记录编号
          afterSaleId?: number; // 关联售后登记编号
          processType?: number; // 处理类型：1-退货入库，2-换货出库，3-维修处理，4-退款处理，5-取消处理，6-其他
          processCount?: number; // 处理数量（与售后类型对应：退货数量/换货数量/维修数量等）
          processResult?: string; // 处理结果描述
          processEvidence: string; // 处理凭证（图片/文件URL，多个用逗号分隔）
          relatedOrderId: number; // 关联业务订单编号（如换货对应的新销售订单号、退款对应的财务订单号）
          processStatus?: number; // 处理状态：1-处理中，2-处理完成，3-处理失败
          processFailReason: string; // 处理失败原因
          processUser?: string; // 处理人
          processTime?: string | Dayjs; // 处理时间
          finishTime: string | Dayjs; // 处理完成时间
          userRating?: number; // 用户评价评分（0-10）
  }

// ERP 售后处理 API
export const AfterSaleProcessApi = {
  // 查询ERP 售后处理分页
  getAfterSaleProcessPage: async (params: any) => {
    return await request.get({ url: `/erp/after-sale-process/page`, params })
  },

  // 查询ERP 售后处理详情
  getAfterSaleProcess: async (id: number) => {
    return await request.get({ url: `/erp/after-sale-process/get?id=` + id })
  },

  // 新增ERP 售后处理
  createAfterSaleProcess: async (data: AfterSaleProcess) => {
    return await request.post({ url: `/erp/after-sale-process/create`, data })
  },

  // 修改ERP 售后处理
  updateAfterSaleProcess: async (data: AfterSaleProcess) => {
    return await request.put({ url: `/erp/after-sale-process/update`, data })
  },

  // 删除ERP 售后处理
  deleteAfterSaleProcess: async (id: number) => {
    return await request.delete({ url: `/erp/after-sale-process/delete?id=` + id })
  },

  /** 批量删除ERP 售后处理 */
  deleteAfterSaleProcessList: async (ids: number[]) => {
    return await request.delete({ url: `/erp/after-sale-process/delete-list?ids=${ids.join(',')}` })
  },

  // 导出ERP 售后处理 Excel
  exportAfterSaleProcess: async (params) => {
    return await request.download({ url: `/erp/after-sale-process/export-excel`, params })
  }
}
