import request from '@/config/axios'

// 租户积分记录 VO
export interface TenantPointsVO {
  id: number // 主键
  points: number // 本次变动点数，正加负减
  balance: number // 变动后余额快照（冗余）
  type: string // 变动类型，如 RECHARGE, CONSUME, TRANSFER_OUT, TRANSFER_IN
  remark: string // 备注
  orderId: number // 订单 Id/业务单号
  bizNo: string // 业务流水号（转账、订单等唯一标识）
  operatorId: number // 操作人 Id
  targetTenantId: number // 目标租户 Id（转账使用）
  createdAt: Date // 创建时间
}

// 租户积分记录 API
export const TenantPointsApi = {
  // 查询租户积分记录分页
  getTenantPointsPage: async (params: any) => {
    return await request.get({ url: `/system/tenant-points/page`, params })
  },

  // 查询租户积分记录详情
  getTenantPoints: async (id: number) => {
    return await request.get({ url: `/system/tenant-points/get?id=` + id })
  },

  // 新增租户积分记录
  createTenantPoints: async (data: TenantPointsVO) => {
    return await request.post({ url: `/system/tenant-points/create`, data })
  },

  // 修改租户积分记录
  updateTenantPoints: async (data: TenantPointsVO) => {
    return await request.put({ url: `/system/tenant-points/update`, data })
  },

  // 删除租户积分记录
  deleteTenantPoints: async (id: number) => {
    return await request.delete({ url: `/system/tenant-points/delete?id=` + id })
  },

  // 导出租户积分记录 Excel
  exportTenantPoints: async (params) => {
    return await request.download({ url: `/system/tenant-points/export-excel`, params })
  }
}