import { post, get } from '../utils'

/**
 * 获取站点账户列表
 * @param {Object} params - 查询参数
 * @returns {Promise} 站点账户列表
 */
export const getStationAccounts = (params) => {
  return post('/finance/stationAccounts', params)
}

/**
 * 获取分账记录列表
 * @param {Object} params - 查询参数
 * @returns {Promise} 分账记录列表
 */
export const getSplitRecords = (params) => {
  return post('/finance/splitRecords', params)
}

/**
 * 申请提现
 * @param {Object} params - 提现参数
 * @returns {Promise} 提现结果
 */
export const applyWithdrawn = (params) => {
  return post('/finance/applyWithdrawn', params)
}

/**
 * 获取提现记录列表
 * @param {Object} params - 查询参数
 * @returns {Promise} 提现记录列表
 */
export const getWithdrawnRecords = (params) => {
  return post('/finance/withdrawnRecords', params)
}

/**
 * 审核提现记录
 * @param {Object} params - 审核参数
 * @returns {Promise} 审核结果
 */
export const reviewWithdrawn = (params) => {
  return post('/finance/reviewWithdrawn', params)
}

/**
 * 确认提现打款
 * @param {Object} params - 打款确认参数
 * @returns {Promise} 打款确认结果
 */
export const confirmWithdrawnPayment = (params) => {
  return post('/finance/confirmWithdrawnPayment', params)
}

/**
 * 获取退款记录列表
 * @param {Object} params - 查询参数
 * @returns {Promise} 退款记录列表
 */
export const getRefundLogs = (params) => {
  return get('/finance/listRefundLog', params)
}

/**
 * 处理退款
 * @param {string|number} id - 退款记录ID
 * @returns {Promise} 退款处理结果
 */
export const processRefund = (id) => {
  return get(`/finance/customWxRefund/${id}`)
}

/**
 * 批量处理退款
 * @param {Array<number>} ids - 退款记录ID列表
 * @returns {Promise} 批量退款处理结果
 */
export const batchProcessRefund = (ids) => {
  return post('/finance/batchWxRefund', ids)
}

/**
 * 获取退款详情
 * @param {string} outRefundNo - 商户退款单号
 * @returns {Promise} 退款详情
 */
export const getRefundDetail = (outRefundNo) => {
  return get(`/finance/refundLog/detail/${outRefundNo}`)
}

/**
 * 获取结算记录列表
 * @param {Object} params - 查询参数
 * @returns {Promise} 结算记录列表
 */
export const getSettlementRecords = (params) => {
  return post('/finance/settlementRecords', params)
}

/**
 * 申请退款
 * @param {Object} params - { userId, reason }
 * @returns {Promise} 退款申请结果
 */
export const applyRefund = (params) => {
  return post('/finance/applyRefund', params)
}