feat: implement job management for companies in public job fairs
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

This commit is contained in:
2026-07-15 15:46:15 +08:00
parent f0c841e9c5
commit 2e88885a27
11 changed files with 804 additions and 131 deletions

View File

@@ -3,6 +3,28 @@ import { downLoadXlsx } from '@/utils/downloadfile';
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;
@@ -61,6 +83,28 @@ export async function getPublicJobFairDetail(jobFairId: string) {
});
}
/** 企业报名招聘会 */
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, {
@@ -92,7 +136,6 @@ export async function addCompanyToJobFair(data: API.PublicJobFair.AddCompanyPara
});
}
/** 批量添加企业到招聘会 */
export async function batchAddCompanyToJobFair(data: API.PublicJobFair.AddCompanyParams[]) {
return request<API.PublicJobFair.CommonResult>(`${BASE_URL}/company/batch`, {
@@ -131,8 +174,45 @@ export async function removeJobFromJobFair(id: string) {
});
}
/** 企业新增报名岗位 */
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 }) {
export async function getJobFairSignups(
jobFairId: string,
params?: { userName?: string; status?: string },
) {
return request<API.PublicJobFair.SignupListResult>(`${BASE_URL}/signups/${jobFairId}`, {
method: 'GET',
params,