Some checks failed
Node CI / build (14.x, macOS-latest) (push) Has been cancelled
Node CI / build (14.x, ubuntu-latest) (push) Has been cancelled
Node CI / build (14.x, windows-latest) (push) Has been cancelled
Node CI / build (16.x, macOS-latest) (push) Has been cancelled
Node CI / build (16.x, ubuntu-latest) (push) Has been cancelled
Node CI / build (16.x, windows-latest) (push) Has been cancelled
CodeQL / Analyze (javascript) (push) Has been cancelled
coverage CI / build (push) Has been cancelled
Node pnpm CI / build (16.x, macOS-latest) (push) Has been cancelled
Node pnpm CI / build (16.x, ubuntu-latest) (push) Has been cancelled
Node pnpm CI / build (16.x, windows-latest) (push) Has been cancelled
267 lines
6.9 KiB
TypeScript
267 lines
6.9 KiB
TypeScript
import { request } from '@umijs/max';
|
|
import { downLoadXlsx } from '@/utils/downloadfile';
|
|
import type { RecruitmentFairExportParams } from './recruitmentFairExport';
|
|
|
|
const BASE_URL = '/api/cms/publicJobFair';
|
|
|
|
/** 企业报名审核请求 */
|
|
export interface PublicJobFairCompanyReviewParams {
|
|
reviewStatus: '0' | '1' | '2';
|
|
reviewRemark?: string;
|
|
}
|
|
|
|
/** 企业报名岗位表单 */
|
|
export interface PublicJobFairJobForm {
|
|
jobId?: number;
|
|
jobTitle: string;
|
|
minSalary?: number;
|
|
maxSalary?: number;
|
|
education?: string;
|
|
experience?: string;
|
|
vacancies?: number;
|
|
jobLocation?: string;
|
|
jobAddress?: string;
|
|
description?: string;
|
|
jobCategory?: string;
|
|
type?: string;
|
|
}
|
|
|
|
/** 跨域招聘会岗位列表项 */
|
|
export interface CrossDomainJobItem {
|
|
jobId: number;
|
|
jobTitle: string;
|
|
view?: number;
|
|
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;
|
|
/** 招聘会起始日期(含当天) */
|
|
startDate?: string;
|
|
/** 招聘会起始日期(含当天) */
|
|
endDate?: string;
|
|
current?: number;
|
|
pageSize?: number;
|
|
}
|
|
|
|
/** 跨域岗位列表响应 */
|
|
export interface CrossDomainJobResult {
|
|
code: number;
|
|
msg?: string;
|
|
total: number;
|
|
rows: CrossDomainJobItem[];
|
|
}
|
|
|
|
/** 查询跨域招聘会下的岗位(可按联盟城市过滤) */
|
|
export async function getCrossDomainJobs(params?: CrossDomainJobParams) {
|
|
return request<CrossDomainJobResult>(`${BASE_URL}/cross-domain-jobs`, {
|
|
method: 'GET',
|
|
params,
|
|
});
|
|
}
|
|
|
|
/** 查询跨域线上招聘会的去重统计。 */
|
|
export interface CrossDomainStatisticsParams {
|
|
startDate: string;
|
|
endDate: string;
|
|
}
|
|
|
|
export interface CrossDomainStatistics {
|
|
fairCount: number;
|
|
companyCount: number;
|
|
jobCount: number;
|
|
demandCount: number;
|
|
viewCount: number;
|
|
}
|
|
|
|
export async function getCrossDomainStatistics(params: CrossDomainStatisticsParams) {
|
|
return request<{ code: number; msg?: string; data?: CrossDomainStatistics }>(
|
|
`${BASE_URL}/cross-domain-statistics`,
|
|
{
|
|
method: 'GET',
|
|
params,
|
|
},
|
|
);
|
|
}
|
|
|
|
/** 查询招聘会列表 */
|
|
export async function getPublicJobFairList(params?: API.PublicJobFair.ListParams) {
|
|
return request<API.PublicJobFair.ListResult>(`${BASE_URL}/list`, {
|
|
method: 'GET',
|
|
params,
|
|
});
|
|
}
|
|
|
|
/** 获取招聘会详情 */
|
|
export async function getPublicJobFairDetail(jobFairId: string) {
|
|
return request<API.PublicJobFair.DetailResult>(`${BASE_URL}/${jobFairId}`, {
|
|
method: 'GET',
|
|
});
|
|
}
|
|
|
|
/** 企业报名招聘会 */
|
|
export async function signupPublicJobFair(jobFairId: string) {
|
|
return request<API.PublicJobFair.CommonResult>(`${BASE_URL}/${jobFairId}/company/signup`, {
|
|
method: 'POST',
|
|
});
|
|
}
|
|
|
|
/** 管理员审核企业报名 */
|
|
export async function reviewPublicJobFairCompany(
|
|
jobFairId: string,
|
|
relationId: string,
|
|
data: PublicJobFairCompanyReviewParams,
|
|
) {
|
|
return request<API.PublicJobFair.CommonResult>(
|
|
`${BASE_URL}/${jobFairId}/companies/${relationId}/review`,
|
|
{
|
|
method: 'PUT',
|
|
data,
|
|
},
|
|
);
|
|
}
|
|
|
|
/** 新增招聘会 */
|
|
export async function addPublicJobFair(data: API.PublicJobFair.JobFairForm) {
|
|
return request<API.PublicJobFair.CommonResult>(BASE_URL, {
|
|
method: 'POST',
|
|
data,
|
|
});
|
|
}
|
|
|
|
/** 修改招聘会 */
|
|
export async function updatePublicJobFair(data: API.PublicJobFair.JobFairForm) {
|
|
return request<API.PublicJobFair.CommonResult>(BASE_URL, {
|
|
method: 'PUT',
|
|
data,
|
|
});
|
|
}
|
|
|
|
/** 删除招聘会 */
|
|
export async function deletePublicJobFair(jobFairIds: string) {
|
|
return request<API.PublicJobFair.CommonResult>(`${BASE_URL}/${jobFairIds}`, {
|
|
method: 'DELETE',
|
|
});
|
|
}
|
|
|
|
/** 添加企业到招聘会 */
|
|
export async function addCompanyToJobFair(data: API.PublicJobFair.AddCompanyParams) {
|
|
return request<API.PublicJobFair.CommonResult>(`${BASE_URL}/company`, {
|
|
method: 'POST',
|
|
data,
|
|
});
|
|
}
|
|
|
|
/** 批量添加企业到招聘会 */
|
|
export async function batchAddCompanyToJobFair(data: API.PublicJobFair.AddCompanyParams[]) {
|
|
return request<API.PublicJobFair.CommonResult>(`${BASE_URL}/company/batch`, {
|
|
method: 'POST',
|
|
data,
|
|
});
|
|
}
|
|
|
|
/** 移除招聘会企业 */
|
|
export async function removeCompanyFromJobFair(id: string) {
|
|
return request<API.PublicJobFair.CommonResult>(`${BASE_URL}/company/${id}`, {
|
|
method: 'DELETE',
|
|
});
|
|
}
|
|
|
|
/** 添加岗位到招聘会 */
|
|
export async function addJobToJobFair(data: API.PublicJobFair.AddJobParams) {
|
|
return request<API.PublicJobFair.CommonResult>(`${BASE_URL}/job`, {
|
|
method: 'POST',
|
|
data,
|
|
});
|
|
}
|
|
|
|
/** 批量添加岗位到招聘会 */
|
|
export async function batchAddJobToJobFair(data: API.PublicJobFair.AddJobParams[]) {
|
|
return request<API.PublicJobFair.CommonResult>(`${BASE_URL}/job/batch`, {
|
|
method: 'POST',
|
|
data,
|
|
});
|
|
}
|
|
|
|
/** 移除招聘会岗位 */
|
|
export async function removeJobFromJobFair(id: string) {
|
|
return request<API.PublicJobFair.CommonResult>(`${BASE_URL}/job/${id}`, {
|
|
method: 'DELETE',
|
|
});
|
|
}
|
|
|
|
/** 企业新增报名岗位 */
|
|
export async function addCurrentCompanyJob(jobFairId: string, data: PublicJobFairJobForm) {
|
|
return request<API.PublicJobFair.CommonResult>(`${BASE_URL}/${jobFairId}/company/jobs`, {
|
|
method: 'POST',
|
|
data,
|
|
});
|
|
}
|
|
|
|
/** 企业修改报名岗位 */
|
|
export async function updateCurrentCompanyJob(
|
|
jobFairId: string,
|
|
jobId: number,
|
|
data: PublicJobFairJobForm,
|
|
) {
|
|
return request<API.PublicJobFair.CommonResult>(`${BASE_URL}/${jobFairId}/company/jobs/${jobId}`, {
|
|
method: 'PUT',
|
|
data,
|
|
});
|
|
}
|
|
|
|
/** 企业删除报名岗位 */
|
|
export async function removeCurrentCompanyJob(jobFairId: string, jobId: number) {
|
|
return request<API.PublicJobFair.CommonResult>(`${BASE_URL}/${jobFairId}/company/jobs/${jobId}`, {
|
|
method: 'DELETE',
|
|
});
|
|
}
|
|
|
|
/** 查询当前企业在招聘会中已报名的岗位 */
|
|
export async function getCurrentCompanyJobs(jobFairId: string) {
|
|
return request<API.PublicJobFair.CompanyJobsResult>(`${BASE_URL}/${jobFairId}/company/jobs`, {
|
|
method: 'GET',
|
|
});
|
|
}
|
|
|
|
/** 查询招聘会报名列表 */
|
|
export async function getJobFairSignups(
|
|
jobFairId: string,
|
|
params?: { userName?: string; status?: string },
|
|
) {
|
|
return request<API.PublicJobFair.SignupListResult>(`${BASE_URL}/signups/${jobFairId}`, {
|
|
method: 'GET',
|
|
params,
|
|
});
|
|
}
|
|
|
|
/** 查询招聘会企业及岗位 */
|
|
export async function getJobFairCompanies(jobFairId: string) {
|
|
return request<API.PublicJobFair.CommonResult>(`${BASE_URL}/companies/${jobFairId}`, {
|
|
method: 'GET',
|
|
});
|
|
}
|
|
|
|
/** 导出招聘会 */
|
|
export async function exportPublicJobFair(params: RecruitmentFairExportParams) {
|
|
return downLoadXlsx(
|
|
`${BASE_URL}/export`,
|
|
{ params },
|
|
`online_fair_participants_${new Date().getTime()}.xlsx`,
|
|
);
|
|
}
|