import request from '@/utils/request'

// 查询所有租户列表
export function listAllCompanies(query) {
  return request({
    url: '/admin/company/list',
    method: 'get',
    params: query
  })
}

// 获取租户详情
export function getCompanyInfo(companyId) {
  return request({
    url: '/admin/company/' + companyId,
    method: 'get'
  })
}

// 禁用租户（TenantInfo: status=0 禁用）
export function disableCompany(companyId) {
  return request({
    url: '/admin/company/status/' + companyId,
    method: 'put',
    params: { status: 0 }
  })
}

// 启用租户（TenantInfo: status=1 启用）
export function enableCompany(companyId) {
  return request({
    url: '/admin/company/status/' + companyId,
    method: 'put',
    params: { status: 1 }
  })
}

// 获取租户统计信息
export function getStatistics() {
  return request({
    url: '/admin/company/statistics',
    method: 'get'
  })
}

// 新增租户
export function addCompany(data) {
  return request({
    url: '/admin/company',
    method: 'post',
    data: data
  })
}

// 更新租户信息
export function updateTenant(data) {
  return request({
    url: '/admin/company',
    method: 'put',
    data: data
  })
}

// 租户充値/扣款
export function rechargeCompany(companyId, data) {
  return request({
    url: '/admin/company/' + companyId + '/recharge',
    method: 'post',
    data: data
  })
}

// 导出租户列表
export function exportCompany(query) {
  return request({
    url: '/admin/company/export',
    method: 'get',
    params: query,
    responseType: 'blob'
  })
}

// 获取租户菜单树（管理端/销售端）
export function getTenantMenuTree(companyId, flag) {
  return request({
    url: '/admin/company/' + companyId + '/menu',
    method: 'post',
    data: { flag: flag }
  })
}

// 编辑租户菜单（勾选/取消）
export function editTenantMenu(companyId, data) {
  return request({
    url: '/admin/company/' + companyId + '/menu/edit',
    method: 'post',
    data: data
  })
}

// 重置租户管理员密码
export function resetTenantPwd(companyId, password) {
  return request({
    url: '/admin/company/' + companyId + '/resetPwd',
    method: 'put',
    data: { password }
  })
}