import request from '@/utils/request'

// 融资管理API服务

/**
 * 获取融资申请列表
 * @param {Object} query - 查询参数
 * @param {string} query.pageNum - 页码
 * @param {string} query.pageSize - 每页数量
 * @param {string} query.status - 申请状态
 * @param {string} query.applicantId - 申请方ID
 * @param {string} query.financialInstitutionId - 金融机构ID
 * @returns {Promise} API响应
 */
export function listFinancing(query) {
  return request({
    url: '/api/credit/financing',
    method: 'get',
    params: query
  })
}

/**
 * 获取融资申请详情
 * @param {string} id - 融资申请ID
 * @returns {Promise} API响应
 */
export function getFinancing(id) {
  return request({
    url: `/api/credit/financing/${id}`,
    method: 'get'
  })
}

/**
 * 提交融资申请
 * @param {Object} data - 融资申请数据
 * @param {string} data.creditId - 债权ID
 * @param {number} data.requestedAmount - 申请金额
 * @param {number} data.term - 融资期限（月）
 * @param {string} data.purpose - 融资用途
 * @param {string} data.financialInstitutionId - 目标金融机构ID
 * @returns {Promise} API响应
 */
export function applyFinancing(data) {
  return request({
    url: '/api/credit/financing',
    method: 'post',
    data: data
  })
}

/**
 * 更新融资申请
 * @param {Object} data - 融资申请数据
 * @returns {Promise} API响应
 */
export function updateFinancing(data) {
  return request({
    url: '/api/credit/financing',
    method: 'put',
    data: data
  })
}

/**
 * 删除融资申请
 * @param {string} id - 融资申请ID
 * @returns {Promise} API响应
 */
export function delFinancing(id) {
  return request({
    url: `/api/credit/financing/${id}`,
    method: 'delete'
  })
}

/**
 * 审批融资申请
 * @param {string} id - 融资申请ID
 * @param {Object} data - 审批数据
 * @param {string} data.status - 审批结果 ('approved', 'rejected')
 * @param {number} data.approvedAmount - 批准金额
 * @param {number} data.interestRate - 利率
 * @param {string} data.approvalNote - 审批意见
 * @returns {Promise} API响应
 */
export function approveFinancing(id, data) {
  return request({
    url: `/api/credit/financing/${id}/approve`,
    method: 'put',
    data: data
  })
}

/**
 * 进行风险评估
 * @param {string} id - 融资申请ID
 * @param {Object} data - 评估参数
 * @returns {Promise} API响应
 */
export function riskAssessment(id, data) {
  return request({
    url: `/api/credit/financing/${id}/risk-assess`,
    method: 'post',
    data: data
  })
}

/**
 * 获取利率信息
 * @param {string} id - 融资申请ID
 * @returns {Promise} API响应
 */
export function getInterestRate(id) {
  return request({
    url: `/api/credit/financing/${id}/interest-rate`,
    method: 'get'
  })
}

/**
 * 获取融资统计信息
 * @returns {Promise} API响应
 */
export function getFinancingStats() {
  return request({
    url: '/api/credit/financing/stats',
    method: 'get'
  })
}

/**
 * 获取风险评估历史
 * @param {string} id - 融资申请ID
 * @returns {Promise} API响应
 */
export function getRiskAssessmentHistory(id) {
  return request({
    url: `/api/credit/financing/${id}/risk-history`,
    method: 'get'
  })
}

/**
 * 放款处理
 * @param {string} id - 融资申请ID
 * @param {Object} data - 放款数据
 * @param {string} data.disbursementAccount - 放款账户
 * @param {string} data.disbursementNote - 放款备注
 * @returns {Promise} API响应
 */
export function disburseFinancing(id, data) {
  return request({
    url: `/api/credit/financing/${id}/disburse`,
    method: 'put',
    data: data
  })
}

/**
 * 导出融资申请列表
 * @param {Object} query - 查询参数
 * @returns {Promise} API响应
 */
export function exportFinancing(query) {
  return request({
    url: '/api/credit/financing/export',
    method: 'get',
    params: query,
    responseType: 'blob'
  })
}