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

/** 用户免费功能永久总次数额度表（所有功能共用）信息 */
export interface UserQuotaTotal {
          userId: number; // 用户唯一ID，对应系统用户
          totalQuota?: number; // 免费体验的永久总次数上限（可通过运营活动增加）
          usedQuota?: number; // 已消耗的免费次数
          version?: number; // 乐观锁版本号（并发控制预留字段）
          createdAt?: string | Dayjs; // 首次创建额度记录的时间（通常为注册时间）
          updatedAt?: string | Dayjs; // 最近一次额度发生变化的时间（消耗或赠送）
  }

// 用户免费功能永久总次数额度表（所有功能共用） API
export const UserQuotaTotalApi = {
  // 查询用户免费功能永久总次数额度表（所有功能共用）分页
  getUserQuotaTotalPage: async (params: any) => {
    return await request.get({ url: `/keyboard/user-quota-total/page`, params })
  },

  // 查询用户免费功能永久总次数额度表（所有功能共用）详情
  getUserQuotaTotal: async (id: number) => {
    return await request.get({ url: `/keyboard/user-quota-total/get?id=` + id })
  },

  // 新增用户免费功能永久总次数额度表（所有功能共用）
  createUserQuotaTotal: async (data: UserQuotaTotal) => {
    return await request.post({ url: `/keyboard/user-quota-total/create`, data })
  },

  // 修改用户免费功能永久总次数额度表（所有功能共用）
  updateUserQuotaTotal: async (data: UserQuotaTotal) => {
    return await request.put({ url: `/keyboard/user-quota-total/update`, data })
  },

  // 删除用户免费功能永久总次数额度表（所有功能共用）
  deleteUserQuotaTotal: async (id: number) => {
    return await request.delete({ url: `/keyboard/user-quota-total/delete?id=` + id })
  },

  /** 批量删除用户免费功能永久总次数额度表（所有功能共用） */
  deleteUserQuotaTotalList: async (ids: number[]) => {
    return await request.delete({ url: `/keyboard/user-quota-total/delete-list?ids=${ids.join(',')}` })
  },

  // 导出用户免费功能永久总次数额度表（所有功能共用） Excel
  exportUserQuotaTotal: async (params) => {
    return await request.download({ url: `/keyboard/user-quota-total/export-excel`, params })
  }
}