import { request } from '@umijs/max'; import { downLoadXlsx } from '@/utils/downloadfile'; const BASE_URL = '/api/cms/publicJobFair'; /** 跨域招聘会岗位列表项 */ export interface CrossDomainJobItem { jobId: number; jobTitle: string; minSalary?: number; maxSalary?: number; education?: string; experience?: string; vacancies?: number; postingDate?: string; companyId?: number; companyName?: string; industry?: string; scale?: string; jobFairId?: string; jobFairTitle?: string; crossDomainCities?: string; } /** 跨域岗位查询参数 */ export interface CrossDomainJobParams { /** 逗号分隔的城市名称 */ cityNames?: string; current?: number; pageSize?: number; } /** 跨域岗位列表响应 */ export interface CrossDomainJobResult { code: number; msg?: string; total: number; rows: CrossDomainJobItem[]; } /** 查询跨域招聘会下的岗位(可按联盟城市过滤) */ export async function getCrossDomainJobs(params?: CrossDomainJobParams) { return request(`${BASE_URL}/cross-domain-jobs`, { method: 'GET', params, }); } /** 查询招聘会列表 */ export async function getPublicJobFairList(params?: API.PublicJobFair.ListParams) { return request(`${BASE_URL}/list`, { method: 'GET', params, }); } /** 获取招聘会详情 */ export async function getPublicJobFairDetail(jobFairId: string) { return request(`${BASE_URL}/${jobFairId}`, { method: 'GET', }); } /** 新增招聘会 */ export async function addPublicJobFair(data: API.PublicJobFair.JobFairForm) { return request(BASE_URL, { method: 'POST', data, }); } /** 修改招聘会 */ export async function updatePublicJobFair(data: API.PublicJobFair.JobFairForm) { return request(BASE_URL, { method: 'PUT', data, }); } /** 删除招聘会 */ export async function deletePublicJobFair(jobFairIds: string) { return request(`${BASE_URL}/${jobFairIds}`, { method: 'DELETE', }); } /** 添加企业到招聘会 */ export async function addCompanyToJobFair(data: API.PublicJobFair.AddCompanyParams) { return request(`${BASE_URL}/company`, { method: 'POST', data, }); } /** 批量添加企业到招聘会 */ export async function batchAddCompanyToJobFair(data: API.PublicJobFair.AddCompanyParams[]) { return request(`${BASE_URL}/company/batch`, { method: 'POST', data, }); } /** 移除招聘会企业 */ export async function removeCompanyFromJobFair(id: string) { return request(`${BASE_URL}/company/${id}`, { method: 'DELETE', }); } /** 添加岗位到招聘会 */ export async function addJobToJobFair(data: API.PublicJobFair.AddJobParams) { return request(`${BASE_URL}/job`, { method: 'POST', data, }); } /** 批量添加岗位到招聘会 */ export async function batchAddJobToJobFair(data: API.PublicJobFair.AddJobParams[]) { return request(`${BASE_URL}/job/batch`, { method: 'POST', data, }); } /** 移除招聘会岗位 */ export async function removeJobFromJobFair(id: string) { return request(`${BASE_URL}/job/${id}`, { method: 'DELETE', }); } /** 查询招聘会报名列表 */ export async function getJobFairSignups(jobFairId: string, params?: { userName?: string; status?: string }) { return request(`${BASE_URL}/signups/${jobFairId}`, { method: 'GET', params, }); } /** 查询招聘会企业及岗位 */ export async function getJobFairCompanies(jobFairId: string) { return request(`${BASE_URL}/companies/${jobFairId}`, { method: 'GET', }); } /** 导出招聘会 */ export async function exportPublicJobFair(params?: API.PublicJobFair.ListParams) { return downLoadXlsx(`${BASE_URL}/export`, { params }, `job_fair_${new Date().getTime()}.xlsx`); }