轻松聘AI开发
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

19994 lines
508 KiB

{
"openapi": "3.1.0",
"info": {
"title": "轻松聘 API",
"version": "v1"
},
"servers": [
{
"url": "http://localhost",
"description": "Generated server url"
}
],
"tags": [
{
"name": "岗位收藏",
"description": "学生收藏/取消收藏岗位,查看收藏列表"
},
{
"name": "API",
"description": "API 信息入口"
},
{
"name": "评分运营看板",
"description": "企业评分运营看板、评分排名与评分趋势"
},
{
"name": "认证",
"description": "登录、验证码、用户信息"
},
{
"name": "通知",
"description": "站内通知查询、已读管理"
},
{
"name": "双向匹配沟通",
"description": "匹配成功后创建或获取直聊会话(幂等)"
},
{
"name": "企业认证",
"description": "企业认证提交、审核管理"
},
{
"name": "求职者评分体系",
"description": "8 维候选人生成评分、综合分、趋势与企业只读评分卡"
},
{
"name": "投递",
"description": "学生投递、撤回、查询;企业查看和审核投递;时间线"
},
{
"name": "Offer",
"description": "企业录用邀请:创建、发送、接受/拒绝/洽谈、到期失效、提醒与时间线"
},
{
"name": "岗位",
"description": "岗位创建、管理、查询"
},
{
"name": "评价审核",
"description": "评价审核与防刷:待审列表、审核决策、审核历史(仅 ADMIN)"
},
{
"name": "简历版本",
"description": "学生简历版本管理、默认简历、导出任务"
},
{
"name": "双向匹配阈值",
"description": "企业与求职者的匹配阈值配置"
},
{
"name": "消息",
"description": "会话创建、消息发送、已读管理"
},
{
"name": "评分治理",
"description": "求职者评分申诉、审核、回滚与审计"
},
{
"name": "候选人反馈",
"description": "企业对已投递候选人的评价反馈"
},
{
"name": "求职者评分卡",
"description": "求职者评价聚合与评分卡"
},
{
"name": "双向匹配",
"description": "求职者意愿分、企业 HR 适配分、匹配状态"
},
{
"name": "系统",
"description": "健康检查、应用信息"
},
{
"name": "个人资料",
"description": "学生个人资料查询、更新与简历管理"
},
{
"name": "岗位匹配",
"description": "学生查看岗位匹配诊断(确定性规则)"
},
{
"name": "面试",
"description": "面试创建、查看、响应、取消、完成"
},
{
"name": "结构化面试评分",
"description": "企业为已完成面试填写/提交结构化评分,学生查看已提交评分与历史"
},
{
"name": "求职偏好",
"description": "学生求职偏好查询与保存"
},
{
"name": "岗位评价",
"description": "学生对已发布岗位进行评价"
},
{
"name": "企业",
"description": "企业资料创建、查询与更新"
},
{
"name": "health-controller",
"description": "health-controller 接口"
},
{
"name": "student-review-weight-controller",
"description": "student-review-weight-controller 接口"
},
{
"name": "同岗位竞争力排名",
"description": "同岗位竞争力排名 接口"
},
{
"name": "RIASEC 职业兴趣测评",
"description": "RIASEC 职业兴趣测评接口"
},
{
"name": "求职进度",
"description": "求职进度 接口"
},
{
"name": "account-deletion-controller",
"description": "account-deletion-controller 接口"
},
{
"name": "personal-data-export-controller",
"description": "personal-data-export-controller 接口"
},
{
"name": "privacy-settings-controller",
"description": "privacy-settings-controller 接口"
},
{
"name": "举报与屏蔽",
"description": "举报与屏蔽 接口"
},
{
"name": "举报管理",
"description": "举报管理 接口"
},
{
"name": "四维能力测评",
"description": "四维能力测评接口"
},
{
"name": "风险治理",
"description": "评分风险治理管理接口"
},
{
"name": "岗位推荐",
"description": "学生岗位推荐及企业推荐画像接口"
},
{
"name": "企业评价管理",
"description": "企业评价查看及官方回复接口"
},
{
"name": "官方回复审核",
"description": "管理员官方回复审核接口"
},
{
"name": "企业人才发现",
"description": "企业人才发现接口"
},
{
"name": "企业人才邀约",
"description": "企业人才邀约接口"
},
{
"name": "公司知识介绍"
},
{
"name": "入职清单"
},
{
"name": "薪资计算器"
},
{
"name": "行业技能词云"
}
],
"paths": {
"/auth/identity/select": {
"post": {
"tags": [
"认证"
],
"summary": "首次选择账号身份",
"description": "统一账号一次性选择 STUDENT 或 COMPANY;COMPANY 必须提交 company 资料且注册开关开启。首次成功撤销全部旧会话并返回新凭证;同身份重复请求只返回状态,不重复颁发凭证。",
"operationId": "selectIdentity",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/IdentitySelectionRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseIdentitySelectionResponse"
}
}
}
}
}
}
},
"/": {
"get": {
"tags": [
"API"
],
"summary": "API 信息",
"description": "返回 API v0.1 基本信息",
"operationId": "index",
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseMapStringObject"
}
}
}
}
}
}
},
"/admin/candidate-scoring/appeals": {
"get": {
"tags": [
"评分治理"
],
"summary": "全部申诉列表",
"description": "仅 ADMIN",
"operationId": "listAllAppeals",
"parameters": [
{
"name": "status",
"in": "query",
"required": false,
"schema": {
"type": "string"
}
},
{
"name": "page",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"format": "int32",
"default": 0
}
},
{
"name": "size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"format": "int32",
"default": 20
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseMapStringObject"
}
}
}
}
}
}
},
"/admin/candidate-scoring/appeals/{appealId}/decision": {
"post": {
"tags": [
"评分治理"
],
"summary": "审核决定",
"description": "仅 ADMIN;APPROVE/REJECT,REJECT 必须填 reason",
"operationId": "decideAppeal",
"parameters": [
{
"name": "appealId",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AppealDecisionRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseAppealResponse"
}
}
}
}
}
}
},
"/admin/candidate-scoring/appeals/{appealId}/history": {
"get": {
"tags": [
"评分治理"
],
"summary": "申诉历史",
"description": "本人(脱敏,无 actorUserId)或 ADMIN(全量);此路径的本人放行先于 ADMIN 通用规则",
"operationId": "getAppealHistory",
"parameters": [
{
"name": "appealId",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseListAppealHistoryItem"
}
}
}
}
}
}
},
"/admin/candidate-scoring/appeals/{appealId}/rollback": {
"post": {
"tags": [
"评分治理"
],
"summary": "执行回滚",
"description": "仅 ADMIN;记录前态+确定性重算+新版本;年 3 次上限",
"operationId": "rollbackAppeal",
"parameters": [
{
"name": "appealId",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseAppealResponse"
}
}
}
}
}
}
},
"/admin/candidate-scoring/snapshots/{candidateUserId}/{dimension}/{period}/history": {
"get": {
"tags": [
"评分治理"
],
"summary": "快照变更审计",
"description": "仅 ADMIN;按学生+维度+周期查看回滚前后完整变化",
"operationId": "getSnapshotHistory",
"parameters": [
{
"name": "candidateUserId",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "dimension",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "period",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseListSnapshotHistoryItem"
}
}
}
}
}
}
},
"/admin/companies/verifications": {
"get": {
"tags": [
"企业认证"
],
"summary": "待审核认证列表",
"description": "管理员查看认证申请列表,支持 status/from/to 筛选和分页",
"operationId": "listVerifications",
"parameters": [
{
"name": "status",
"in": "query",
"required": false,
"schema": {
"type": "string"
}
},
{
"name": "from",
"in": "query",
"required": false,
"schema": {
"type": "string",
"format": "date-time"
}
},
{
"name": "to",
"in": "query",
"required": false,
"schema": {
"type": "string",
"format": "date-time"
}
},
{
"name": "page",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"format": "int32",
"default": 0
}
},
{
"name": "size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"format": "int32",
"default": 20
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseMapStringObject"
}
}
}
}
}
}
},
"/admin/companies/verifications/history": {
"get": {
"tags": [
"企业认证"
],
"summary": "认证审核历史",
"description": "管理员查看某个认证申请的审核历史",
"operationId": "listHistory",
"parameters": [
{
"name": "verificationId",
"in": "query",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseListMapStringObject"
}
}
}
}
}
}
},
"/admin/companies/verifications/{id}": {
"get": {
"tags": [
"企业认证"
],
"summary": "认证详情",
"description": "管理员查看认证申请详情",
"operationId": "getDetail",
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseMapStringObject"
}
}
}
}
}
}
},
"/admin/companies/verifications/{id}/decision": {
"post": {
"tags": [
"企业认证"
],
"summary": "审核决定",
"description": "管理员通过或拒绝认证申请,拒绝时必须填写原因",
"operationId": "decide_1",
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/VerificationDecisionRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseMapStringObject"
}
}
}
}
}
}
},
"/admin/reviews/history": {
"get": {
"tags": [
"评价审核"
],
"summary": "审核历史",
"description": "仅 ADMIN;分页返回审核结果、审核人、时间与原因",
"operationId": "history",
"parameters": [
{
"name": "page",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"format": "int32",
"default": 0
}
},
{
"name": "size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"format": "int32",
"default": 20
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseMapStringObject"
}
}
}
}
}
}
},
"/admin/reviews/pending": {
"get": {
"tags": [
"评价审核"
],
"summary": "待审评价列表",
"description": "仅 ADMIN;分页 + jobId/riskLevel/createdFrom/createdTo 筛选;不返回明文 IP/UA",
"operationId": "pending",
"parameters": [
{
"name": "jobId",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "riskLevel",
"in": "query",
"required": false,
"schema": {
"type": "string"
}
},
{
"name": "createdFrom",
"in": "query",
"required": false,
"schema": {
"type": "string",
"format": "date-time"
}
},
{
"name": "createdTo",
"in": "query",
"required": false,
"schema": {
"type": "string",
"format": "date-time"
}
},
{
"name": "page",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"format": "int32",
"default": 0
}
},
{
"name": "size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"format": "int32",
"default": 20
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseMapStringObject"
}
}
}
}
}
}
},
"/admin/reviews/{reviewId}/decision": {
"post": {
"tags": [
"评价审核"
],
"summary": "评价审核决策",
"description": "仅 ADMIN;仅 PENDING 可审,重复提交 409;决策写入历史与 audit_logs",
"operationId": "decide",
"parameters": [
{
"name": "reviewId",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ReviewDecisionRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseMapStringObject"
}
}
}
}
}
}
},
"/admin/scoring/dashboard/overview": {
"get": {
"tags": [
"评分运营看板"
],
"summary": "全局运营概览",
"description": "仅 ADMIN",
"operationId": "getAdminOverview",
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseAdminDashboardOverviewResponse"
}
}
}
}
}
}
},
"/applications": {
"post": {
"tags": [
"投递"
],
"summary": "投递岗位",
"description": "只能投递 PUBLISHED 状态的岗位,不可重复投递",
"operationId": "apply",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApplicationCreateRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseMapStringObject"
}
}
}
}
}
}
},
"/applications/me": {
"get": {
"tags": [
"投递"
],
"summary": "我的投递列表",
"description": "查看当前学生自己的投递记录,支持 status 筛选和分页;附当前岗位摘要 jobTitle/companyId/companyName/city/salaryMin/salaryMax/jobStatus/employmentType,薪资单位元/月",
"operationId": "listMyApplications",
"parameters": [
{
"name": "status",
"in": "query",
"required": false,
"schema": {
"type": "string"
}
},
{
"name": "page",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"format": "int32",
"default": 0
}
},
{
"name": "size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"format": "int32",
"default": 20
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseMapStringObject"
}
}
}
}
}
}
},
"/applications/{applicationId}/feedback": {
"get": {
"tags": [
"候选人反馈"
],
"summary": "查询候选人反馈",
"description": "该投递的企业或学生可查看",
"operationId": "get_4",
"parameters": [
{
"name": "applicationId",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseCandidateFeedbackResponse"
}
}
}
}
}
},
"put": {
"tags": [
"候选人反馈"
],
"summary": "修改候选人反馈",
"description": "仅岗位所属企业",
"operationId": "update_4",
"parameters": [
{
"name": "applicationId",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CandidateFeedbackRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseCandidateFeedbackResponse"
}
}
}
}
}
},
"post": {
"tags": [
"候选人反馈"
],
"summary": "创建候选人反馈",
"description": "仅岗位所属企业;同一投递只能反馈一次",
"operationId": "create",
"parameters": [
{
"name": "applicationId",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CandidateFeedbackRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseCandidateFeedbackResponse"
}
}
}
}
}
},
"delete": {
"tags": [
"候选人反馈"
],
"summary": "删除候选人反馈",
"description": "仅岗位所属企业",
"operationId": "delete_2",
"parameters": [
{
"name": "applicationId",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseMapStringObject"
}
}
}
}
}
}
},
"/applications/{applicationId}/interviews": {
"get": {
"tags": [
"面试"
],
"summary": "查询投递的面试列表",
"description": "学生本人或岗位所属企业可查看",
"operationId": "listByApplication",
"parameters": [
{
"name": "applicationId",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseListMapStringObject"
}
}
}
}
}
},
"post": {
"tags": [
"面试"
],
"summary": "创建面试邀请",
"description": "企业为投递记录创建面试邀请",
"operationId": "create_4",
"parameters": [
{
"name": "applicationId",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/InterviewCreateRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseMapStringObject"
}
}
}
}
}
}
},
"/applications/{id}": {
"get": {
"tags": [
"投递"
],
"summary": "投递详情",
"description": "查看自己的投递记录详情",
"operationId": "getApplication",
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseMapStringObject"
}
}
}
}
}
}
},
"/applications/{id}/candidate-interest-score": {
"put": {
"tags": [
"双向匹配"
],
"summary": "提交求职者岗位意愿分",
"description": "仅投递本人(STUDENT);0-100;MATCHED/CLOSED 后不可修改",
"operationId": "submitCandidateInterestScore",
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ScoreRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseMapStringObject"
}
}
}
}
}
}
},
"/applications/{id}/conversation": {
"post": {
"tags": [
"双向匹配沟通"
],
"summary": "创建/获取匹配会话",
"description": "仅 MATCHED 双方可调用;重复调用返回同一会话",
"operationId": "createOrGetConversation",
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseMapStringObject"
}
}
}
}
}
}
},
"/applications/{id}/hr-suitability-score": {
"put": {
"tags": [
"双向匹配"
],
"summary": "提交企业 HR 适配分",
"description": "仅岗位所属企业;0-100;MATCHED/CLOSED 后不可修改",
"operationId": "submitHrSuitabilityScore",
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ScoreRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseMapStringObject"
}
}
}
}
}
}
},
"/applications/{id}/match": {
"get": {
"tags": [
"双向匹配"
],
"summary": "查询投递匹配状态",
"description": "仅投递求职者或岗位所属企业;不暴露内部路径/事件 ID",
"operationId": "getMatch",
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseMapStringObject"
}
}
}
}
}
}
},
"/applications/{id}/status": {
"patch": {
"tags": [
"投递"
],
"summary": "更新投递状态(企业)",
"description": "SUBMITTED→VIEWED→INTERVIEW→REJECTED/HIRED",
"operationId": "updateStatus_1",
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApplicationStatusRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseMapStringObject"
}
}
}
}
}
}
},
"/applications/{id}/timeline": {
"get": {
"tags": [
"投递"
],
"summary": "投递状态时间线",
"description": "学生本人或岗位所属企业可查看状态变更历史",
"operationId": "timeline_2",
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseListMapStringObject"
}
}
}
}
}
}
},
"/applications/{id}/withdraw": {
"post": {
"tags": [
"投递"
],
"summary": "撤回投递",
"description": "仅 SUBMITTED/VIEWED 状态可撤回,撤回后不可逆",
"operationId": "withdraw",
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseMapStringObject"
}
}
}
}
}
}
},
"/auth/login": {
"post": {
"tags": [
"认证"
],
"summary": "手机号验证码登录",
"description": "手机号验证码登录;返回 passwordConfigured。无密码且密码功能开启时,login 短信验证成功还返回一次性的 passwordSetupToken 与 passwordSetupExpiresIn=600;设置成功替换 Token 后根据 identitySelectionRequired 选择身份。旧角色、验证码登录及成功码 200 保持不变。",
"operationId": "mockLogin",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/LoginRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseMapStringObject"
}
}
}
}
}
}
},
"/auth/me": {
"get": {
"tags": [
"认证"
],
"summary": "当前用户信息",
"description": "需要 JWT 认证",
"operationId": "me",
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseMapStringObject"
}
}
}
}
}
}
},
"/auth/sms/send": {
"post": {
"tags": [
"认证"
],
"summary": "发送短信验证码",
"description": "真实发送使用阿里云短信网关;Mock 仅供开发测试。网关受理不等于手机送达,验证码不会写入日志。",
"operationId": "sendSmsCode",
"parameters": [
{
"name": "phone",
"in": "query",
"required": true,
"schema": {
"type": "string",
"minLength": 1,
"pattern": "[0-9]{11}"
}
},
{
"name": "purpose",
"in": "query",
"required": false,
"schema": {
"type": "string",
"default": "login"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseMapStringString"
}
}
}
}
}
}
},
"/companies/me": {
"get": {
"tags": [
"企业"
],
"summary": "查询当前企业资料",
"description": "返回当前登录用户绑定的企业资料,未绑定企业返回 404",
"operationId": "getMyCompany",
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseMapStringObject"
}
}
}
}
}
},
"put": {
"tags": [
"企业"
],
"summary": "更新企业资料",
"description": "仅更新传入的非 null 字段;未绑定企业时返回 404",
"operationId": "updateMyCompany",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CompanyUpdateRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseMapStringObject"
}
}
}
}
}
},
"post": {
"tags": [
"企业"
],
"summary": "创建企业资料",
"description": "仅 COMPANY 角色可调用;已存在时返回 409",
"operationId": "createMyCompany",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CompanyCreateRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseMapStringObject"
}
}
}
}
}
}
},
"/companies/me/match-rule": {
"get": {
"tags": [
"双向匹配阈值"
],
"summary": "查询企业匹配阈值",
"description": "未配置返回默认 60",
"operationId": "getCompanyRule",
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseMapStringObject"
}
}
}
}
}
},
"put": {
"tags": [
"双向匹配阈值"
],
"summary": "更新企业匹配阈值",
"description": "requiredCandidateScore 0-100;首次更新创建配置",
"operationId": "updateCompanyRule",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CompanyMatchRuleRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseMapStringObject"
}
}
}
}
}
}
},
"/companies/me/verification": {
"get": {
"tags": [
"企业认证"
],
"summary": "查询企业认证状态",
"description": "企业查询自己的认证状态和历史",
"operationId": "getMyVerification",
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseMapStringObject"
}
}
}
}
}
},
"post": {
"tags": [
"企业认证"
],
"summary": "提交企业认证",
"description": "企业提交认证材料(营业执照等),只能提交自己的认证",
"operationId": "submit",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/VerificationSubmitRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseMapStringObject"
}
}
}
}
}
}
},
"/companies/{companyId}": {
"get": {
"tags": [
"企业"
],
"summary": "查询企业公开详情",
"description": "匿名可访问,仅返回 6 个公开字段",
"operationId": "getPublicCompany",
"parameters": [
{
"name": "companyId",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseCompanyPublicView"
}
}
}
}
}
}
},
"/companies/me/jobs": {
"get": {
"tags": [
"企业"
],
"summary": "查询当前企业岗位管理列表",
"description": "仅返回当前登录企业自己的岗位,可按状态、标题关键词和城市筛选;未认证企业可查看自己的岗位记录",
"operationId": "getMyJobs",
"parameters": [
{
"name": "status",
"in": "query",
"required": false,
"schema": {
"type": "string",
"enum": ["DRAFT", "PUBLISHED", "CLOSED"]
}
},
{
"name": "keyword",
"in": "query",
"required": false,
"schema": {"type": "string"}
},
{
"name": "city",
"in": "query",
"required": false,
"schema": {"type": "string"}
},
{
"name": "page",
"in": "query",
"required": false,
"schema": {"type": "integer", "format": "int32", "default": 0}
},
{
"name": "size",
"in": "query",
"required": false,
"schema": {"type": "integer", "format": "int32", "default": 20}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponsePageResponseCompanyManagedJobItem"
}
}
}
}
},
"security": [
{"bearerAuth": []}
]
}
},
"/companies/{companyId}/jobs": {
"get": {
"tags": [
"企业"
],
"summary": "查询企业公开岗位列表",
"description": "匿名可访问,仅返回 PUBLISHED 岗位",
"operationId": "getCompanyJobs",
"parameters": [
{
"name": "companyId",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "page",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"format": "int32",
"default": 0
}
},
{
"name": "size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"format": "int32",
"default": 20
}
},
{
"name": "sort",
"in": "query",
"required": false,
"schema": {
"type": "string",
"default": "latest"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseMapStringObject"
}
}
}
}
}
}
},
"/company/applications": {
"get": {
"tags": [
"投递"
],
"summary": "查看岗位投递列表(企业)",
"description": "企业查看自己发布的某个岗位收到的投递,支持 status 筛选和分页",
"operationId": "listCompanyApplications",
"parameters": [
{
"name": "jobId",
"in": "query",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "status",
"in": "query",
"required": false,
"schema": {
"type": "string"
}
},
{
"name": "page",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"format": "int32",
"default": 0
}
},
{
"name": "size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"format": "int32",
"default": 20
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseMapStringObject"
}
}
}
}
}
}
},
"/company/candidates": {
"get": {
"tags": [
"投递"
],
"summary": "企业候选人列表",
"description": "跨岗位查询本企业所有候选人投递,支持按岗位、状态、关键词筛选,支持分页和排序",
"operationId": "listCompanyCandidates",
"parameters": [
{
"name": "jobId",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "status",
"in": "query",
"required": false,
"schema": {
"type": "string"
}
},
{
"name": "keyword",
"in": "query",
"required": false,
"schema": {
"type": "string"
}
},
{
"name": "sort",
"in": "query",
"required": false,
"schema": {
"type": "string"
}
},
{
"name": "order",
"in": "query",
"required": false,
"schema": {
"type": "string"
}
},
{
"name": "page",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"format": "int32",
"default": 0
}
},
{
"name": "size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"format": "int32",
"default": 20
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseCandidateListResponse"
}
}
}
}
}
}
},
"/company/candidates/{applicationId}": {
"get": {
"tags": [
"投递"
],
"summary": "企业候选人详情",
"description": "查看投递详情及候选人公开资料,只能查看本企业岗位下的投递",
"operationId": "getCompanyCandidateDetail",
"parameters": [
{
"name": "applicationId",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseCandidateDetailView"
}
}
}
}
}
}
},
"/company/candidates/{applicationId}/scoring": {
"get": {
"tags": [
"求职者评分体系"
],
"summary": "企业候选人评分卡",
"description": "仅岗位所属企业;只读,仅返回 applicationId/overallScore/status/dimensions/generatedAt/rulesVersion,不泄露候选人敏感信息",
"operationId": "getCompanyScoring",
"parameters": [
{
"name": "applicationId",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseCompanyCandidateScoringResponse"
}
}
}
}
}
}
},
"/company/scoring/dashboard/candidate-rankings": {
"get": {
"tags": [
"评分运营看板"
],
"summary": "候选人评分排名",
"description": "仅 COMPANY;按学生去重;overallScore DESC, applicationId DESC",
"operationId": "getCandidateRankings",
"parameters": [
{
"name": "page",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"format": "int32",
"default": 0
}
},
{
"name": "size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"format": "int32",
"default": 20
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseCandidateRankingListResponse"
}
}
}
}
}
}
},
"/company/scoring/dashboard/candidate-rankings/{applicationId}": {
"get": {
"tags": [
"评分运营看板"
],
"summary": "单候选人评分排名明细",
"description": "仅 COMPANY;跨企业 403/8004",
"operationId": "getCandidateRanking",
"parameters": [
{
"name": "applicationId",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseCandidateRankingDetailResponse"
}
}
}
}
}
}
},
"/company/scoring/dashboard/job-rankings": {
"get": {
"tags": [
"评分运营看板"
],
"summary": "岗位评分排名",
"description": "仅 COMPANY;avgRating DESC, jobId DESC;审核通过评价",
"operationId": "getJobRankings",
"parameters": [
{
"name": "page",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"format": "int32",
"default": 0
}
},
{
"name": "size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"format": "int32",
"default": 20
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseJobRankingListResponse"
}
}
}
}
}
}
},
"/company/scoring/dashboard/job-rankings/{jobId}": {
"get": {
"tags": [
"评分运营看板"
],
"summary": "单岗位评分排名",
"description": "仅 COMPANY;跨企业 403/8004",
"operationId": "getJobRanking",
"parameters": [
{
"name": "jobId",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseJobRankingItem"
}
}
}
}
}
}
},
"/company/scoring/dashboard/overview": {
"get": {
"tags": [
"评分运营看板"
],
"summary": "企业评分运营概览",
"description": "仅 COMPANY;只返回本企业数据",
"operationId": "getOverview_1",
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseDashboardOverviewResponse"
}
}
}
}
}
}
},
"/company/scoring/dashboard/trend": {
"get": {
"tags": [
"评分运营看板"
],
"summary": "企业评分趋势",
"description": "仅 COMPANY;months 1–24",
"operationId": "getTrend_2",
"parameters": [
{
"name": "months",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"format": "int32",
"default": 6
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseScoreTrendResponse"
}
}
}
}
}
}
},
"/conversations": {
"get": {
"tags": [
"消息"
],
"summary": "会话列表",
"description": "当前用户参与的所有会话",
"operationId": "listConversations",
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseListMapStringObject"
}
}
}
}
}
},
"post": {
"tags": [
"消息"
],
"summary": "创建/获取会话",
"description": "创建或返回与另一用户的 DIRECT 会话",
"operationId": "createConversation",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateConversationRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseMapStringObject"
}
}
}
}
}
}
},
"/conversations/messages": {
"post": {
"tags": [
"消息"
],
"summary": "发送消息",
"description": "在会话中发送消息,仅成员可发送",
"operationId": "sendMessage",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SendMessageRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseMapStringObject"
}
}
}
}
}
}
},
"/conversations/{id}": {
"get": {
"tags": [
"消息"
],
"summary": "会话详情",
"description": "查看会话信息和未读数",
"operationId": "getConversation",
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseMapStringObject"
}
}
}
}
}
}
},
"/conversations/{id}/events": {
"get": {
"tags": [
"消息"
],
"summary": "补拉会话事件",
"description": "按持久化游标恢复新消息、已读、撤回;仅当前会话成员",
"operationId": "replayEvents",
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "after",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"format": "int64",
"default": 0
}
},
{
"name": "size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"format": "int32",
"default": 50
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseMapStringObject"
}
}
}
}
}
}
},
"/conversations/{id}/messages": {
"get": {
"tags": [
"消息"
],
"summary": "消息列表",
"description": "分页查询会话消息,倒序;仅成员可查看",
"operationId": "listMessages",
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "page",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"format": "int32",
"default": 0
}
},
{
"name": "size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"format": "int32",
"default": 20
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseMessagePageResponse"
}
}
}
}
}
}
},
"/conversations/{id}/read": {
"post": {
"tags": [
"消息"
],
"summary": "标记已读",
"description": "将当前会话所有消息标记为已读",
"operationId": "markRead_1",
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseMapStringObject"
}
}
}
}
}
}
},
"/conversations/{conversationId}/messages/{messageId}/recall": {
"post": {
"tags": [
"消息"
],
"summary": "撤回消息",
"description": "仅原发送者可在发送后两分钟内撤回消息;重复撤回幂等返回当前状态",
"operationId": "recallMessage",
"parameters": [
{
"name": "conversationId",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "messageId",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseMessageResponse"
}
}
}
},
"401": {
"description": "未登录"
},
"403": {
"description": "非会话成员或非原发送者"
},
"404": {
"description": "会话或消息不存在"
},
"409": {
"description": "撤回窗口已过期或并发冲突"
}
}
}
},
"/health": {
"get": {
"tags": [
"系统"
],
"summary": "应用健康检查",
"description": "返回应用及依赖服务状态",
"operationId": "health",
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseMapStringObject"
}
}
}
}
}
}
},
"/health/details": {
"get": {
"tags": [
"health-controller"
],
"operationId": "healthDetails",
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseMapStringObject"
}
}
}
}
}
}
},
"/info": {
"get": {
"tags": [
"系统"
],
"summary": "应用信息",
"description": "返回应用版本、运行时信息",
"operationId": "info",
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseMapStringObject"
}
}
}
}
}
}
},
"/interviews/me": {
"get": {
"tags": [
"面试"
],
"summary": "我的面试列表",
"description": "查看当前用户相关的面试,支持 status/from/to 筛选和分页",
"operationId": "listMyInterviews",
"parameters": [
{
"name": "status",
"in": "query",
"required": false,
"schema": {
"type": "string"
}
},
{
"name": "from",
"in": "query",
"required": false,
"schema": {
"type": "string",
"format": "date-time"
}
},
{
"name": "to",
"in": "query",
"required": false,
"schema": {
"type": "string",
"format": "date-time"
}
},
{
"name": "page",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"format": "int32",
"default": 0
}
},
{
"name": "size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"format": "int32",
"default": 20
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseMapStringObject"
}
}
}
}
}
}
},
"/interviews/{interviewId}": {
"get": {
"tags": [
"面试"
],
"summary": "面试详情",
"description": "学生本人或企业可查看面试详情",
"operationId": "get_3",
"parameters": [
{
"name": "interviewId",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseMapStringObject"
}
}
}
}
}
},
"put": {
"tags": [
"面试"
],
"summary": "修改面试",
"description": "企业修改面试时间、地点等信息,仅 SCHEDULED/CONFIRMED 状态可修改",
"operationId": "update_3",
"parameters": [
{
"name": "interviewId",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/InterviewUpdateRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseMapStringObject"
}
}
}
}
}
}
},
"/interviews/{interviewId}/cancel": {
"post": {
"tags": [
"面试"
],
"summary": "取消面试",
"description": "企业取消已安排的面试",
"operationId": "cancel",
"parameters": [
{
"name": "interviewId",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/InterviewCancelRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseMapStringObject"
}
}
}
}
}
}
},
"/interviews/{interviewId}/complete": {
"post": {
"tags": [
"面试"
],
"summary": "完成面试",
"description": "企业在面试时间结束后将面试标记为完成",
"operationId": "complete",
"parameters": [
{
"name": "interviewId",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"type": "object",
"additionalProperties": {
"type": "string"
}
}
}
}
},
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseMapStringObject"
}
}
}
}
}
}
},
"/interviews/{interviewId}/respond": {
"post": {
"tags": [
"面试"
],
"summary": "响应面试邀请",
"description": "学生接受、拒绝或申请改期",
"operationId": "respond",
"parameters": [
{
"name": "interviewId",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/InterviewRespondRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseMapStringObject"
}
}
}
}
}
}
},
"/interviews/{interviewId}/timeline": {
"get": {
"tags": [
"面试"
],
"summary": "面试状态时间线",
"description": "查看面试状态变更历史",
"operationId": "timeline_1",
"parameters": [
{
"name": "interviewId",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseListMapStringObject"
}
}
}
}
}
}
},
"/jobs": {
"get": {
"tags": [
"岗位"
],
"summary": "查询已发布岗位列表",
"description": "仅返回 PUBLISHED 岗位,支持关键词、城市、用工类型、薪资筛选和分页",
"operationId": "listJobs",
"parameters": [
{
"name": "keyword",
"in": "query",
"required": false,
"schema": {
"type": "string"
}
},
{
"name": "city",
"in": "query",
"required": false,
"schema": {
"type": "string"
}
},
{
"name": "employmentType",
"in": "query",
"required": false,
"schema": {
"type": "string"
}
},
{
"name": "salaryMin",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "salaryMax",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "page",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"format": "int32",
"default": 0
}
},
{
"name": "size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"format": "int32",
"default": 20
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseMapStringObject"
}
}
}
}
}
},
"post": {
"tags": [
"岗位"
],
"summary": "创建岗位",
"description": "仅企业账号可调用,新岗位默认 DRAFT 状态",
"operationId": "createJob",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/JobCreateRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseMapStringObject"
}
}
}
}
}
}
},
"/jobs/compare": {
"get": {
"tags": [
"岗位评价"
],
"summary": "岗位对比",
"description": "公开访问;ids 为 2-3 个公开岗位;返回公开岗位字段与公开评分",
"operationId": "compare_1",
"parameters": [
{
"name": "ids",
"in": "query",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseListMapStringObject"
}
}
}
}
}
}
},
"/jobs/favorites": {
"get": {
"tags": [
"岗位收藏"
],
"summary": "我的收藏列表",
"description": "仅 STUDENT;分页,按收藏时间倒序",
"operationId": "listFavorites",
"parameters": [
{
"name": "page",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"format": "int32",
"default": 0
}
},
{
"name": "size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"format": "int32",
"default": 20
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseMapStringObject"
}
}
}
}
}
}
},
"/jobs/filters": {
"get": {
"tags": [
"岗位"
],
"summary": "岗位筛选选项",
"description": "返回当前 PUBLISHED 岗位可用的城市、用工类型和薪资范围",
"operationId": "getFilters",
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseMapStringObject"
}
}
}
}
}
}
},
"/jobs/public/{jobId}": {
"get": {
"tags": [
"岗位"
],
"summary": "查询岗位详情(公开)",
"description": "仅返回 PUBLISHED 岗位详情;CLOSED 也可查看详情",
"operationId": "getPublicJob",
"parameters": [
{
"name": "jobId",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseMapStringObject"
}
}
}
}
}
}
},
"/jobs/search": {
"get": {
"tags": [
"岗位"
],
"summary": "岗位高级搜索",
"description": "仅返回 PUBLISHED 岗位,支持关键词、城市、用工类型、薪资、公司筛选、排序和分页",
"operationId": "searchJobs",
"parameters": [
{
"name": "keyword",
"in": "query",
"required": false,
"schema": {
"type": "string"
}
},
{
"name": "city",
"in": "query",
"required": false,
"schema": {
"type": "string"
}
},
{
"name": "employmentType",
"in": "query",
"required": false,
"schema": {
"type": "string"
}
},
{
"name": "salaryMin",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "salaryMax",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "companyId",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "sort",
"in": "query",
"required": false,
"schema": {
"type": "string"
}
},
{
"name": "page",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"format": "int32",
"default": 0
}
},
{
"name": "size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"format": "int32",
"default": 20
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseMapStringObject"
}
}
}
}
}
}
},
"/jobs/{jobId}": {
"get": {
"tags": [
"岗位"
],
"summary": "查询岗位详情",
"description": "企业可查看自己管理的岗位详情",
"operationId": "getJob",
"parameters": [
{
"name": "jobId",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseMapStringObject"
}
}
}
}
}
},
"put": {
"tags": [
"岗位"
],
"summary": "更新岗位",
"description": "仅岗位所属企业可修改",
"operationId": "updateJob",
"parameters": [
{
"name": "jobId",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/JobUpdateRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseMapStringObject"
}
}
}
}
}
}
},
"/jobs/{jobId}/favorite": {
"post": {
"tags": [
"岗位收藏"
],
"summary": "收藏岗位",
"description": "仅 STUDENT;仅 PUBLISHED;幂等",
"operationId": "favorite",
"parameters": [
{
"name": "jobId",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseMapStringObject"
}
}
}
}
}
},
"delete": {
"tags": [
"岗位收藏"
],
"summary": "取消收藏",
"description": "仅 STUDENT;幂等,未收藏也返回 200",
"operationId": "unfavorite",
"parameters": [
{
"name": "jobId",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseMapStringObject"
}
}
}
}
}
}
},
"/jobs/{jobId}/match": {
"get": {
"tags": [
"岗位匹配"
],
"summary": "岗位匹配诊断",
"description": "仅 STUDENT;返回匹配分、硬性条件、缺口和说明",
"operationId": "diagnose",
"parameters": [
{
"name": "jobId",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseMapStringObject"
}
}
}
}
}
}
},
"/jobs/{jobId}/personalized-review-score": {
"get": {
"tags": [
"student-review-weight-controller"
],
"operationId": "getPersonalizedScore",
"parameters": [
{
"name": "jobId",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponsePersonalizedScoreResponse"
}
}
}
},
"401": {
"description": "未登录",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponse"
}
}
}
},
"403": {
"description": "非 STUDENT 角色",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponse"
}
}
}
}
}
}
},
"/jobs/{jobId}/competition-ranking": {
"get": {
"tags": [
"同岗位竞争力排名"
],
"summary": "同岗位竞争力排名",
"description": "仅 STUDENT 且已投递该(PUBLISHED)岗位的学生可查看。返回本人排名/综合分/百分位/维度/缺口及匿名 Top 5。COMPANY/ADMIN 或未投递学生返回 403;岗位不存在或非 PUBLISHED 返回 404。身份仅取自 JWT,不接收 userId/studentUserId/candidateId 参数。topCandidates 每项仅含 rank 与 overallScore,不含任何身份字段(studentUserId/candidateId/name/school/phone/email/resumeUrl/applicationId)。cohort 排除 WITHDRAWN/REJECTED 投递。",
"operationId": "getCompetitionRanking",
"parameters": [
{
"name": "jobId",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponse"
}
}
}
},
"400": {
"description": "jobId 为空或 <=0",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponse"
}
}
}
},
"401": {
"description": "未登录",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponse"
}
}
}
},
"403": {
"description": "非 STUDENT 角色或学生未投递该岗位",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponse"
}
}
}
},
"404": {
"description": "岗位不存在或岗位状态非 PUBLISHED",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponse"
}
}
}
}
},
"security": [
{
"bearerAuth": []
}
]
}
},
"/assessments/types": {
"get": {
"tags": [
"RIASEC 职业兴趣测评"
],
"summary": "测评类型列表",
"description": "返回全部 ACTIVE 测评定义。任意已登录用户可访问;未登录 401。",
"operationId": "listAssessmentTypes",
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponse"
}
}
}
},
"401": {
"description": "未登录",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponse"
}
}
}
}
},
"security": [
{
"bearerAuth": []
}
]
}
},
"/assessments/{type}/questions": {
"get": {
"tags": [
"RIASEC 职业兴趣测评"
],
"summary": "题目列表",
"description": "返回指定测评的 ACTIVE 题目,隐藏维度/reverseScored/source/版本等内部字段。",
"operationId": "listAssessmentQuestions",
"parameters": [
{
"name": "type",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponse"
}
}
}
},
"401": {
"description": "未登录",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponse"
}
}
}
},
"404": {
"description": "测评类型不存在(9701)",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponse"
}
}
}
}
},
"security": [
{
"bearerAuth": []
}
]
}
},
"/assessments/attempts": {
"post": {
"tags": [
"RIASEC 职业兴趣测评"
],
"summary": "创建答卷",
"description": "照六维各抽 5 题共 30 道并持久化,刷新不重抽。幂等键重放返回原答卷;同键不同定义 409/9709;已有活跃答卷 409/9708。仅 STUDENT。",
"operationId": "createAssessmentAttempt",
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponse"
}
}
}
},
"401": {
"description": "未登录",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponse"
}
}
}
},
"403": {
"description": "非 STUDENT(2002)",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponse"
}
}
}
},
"404": {
"description": "测评类型不存在(9701)",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponse"
}
}
}
},
"409": {
"description": "活跃答卷/幂等冲突(9708/9709)",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponse"
}
}
}
}
},
"security": [
{
"bearerAuth": []
}
]
}
},
"/assessments/attempts/{attemptId}": {
"get": {
"tags": [
"RIASEC 职业兴趣测评"
],
"summary": "答卷详情",
"description": "返回本次抽中的 30 道题(固定顺序)、已保存答案、进度与当前状态。仅本人可访问;非 STUDENT 403。",
"operationId": "getAssessmentAttempt",
"parameters": [
{
"name": "attemptId",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponse"
}
}
}
},
"401": {
"description": "未登录",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponse"
}
}
}
},
"403": {
"description": "非本人或非 STUDENT(2002)",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponse"
}
}
}
},
"404": {
"description": "答卷不存在(9702)",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponse"
}
}
}
}
},
"security": [
{
"bearerAuth": []
}
]
}
},
"/assessments/attempts/{attemptId}/answers": {
"patch": {
"tags": [
"RIASEC 职业兴趣测评"
],
"summary": "保存答案",
"description": "单题或批量保存,重复保存 upsert;value 1-5;题目必须属于本答卷;版本冲突 409/9707;首次保存后状态置为 IN_PROGRESS。仅本人。",
"operationId": "saveAssessmentAnswers",
"parameters": [
{
"name": "attemptId",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponse"
}
}
}
},
"401": {
"description": "未登录",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponse"
}
}
}
},
"403": {
"description": "非本人或非 STUDENT(2002)",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponse"
}
}
}
},
"404": {
"description": "答卷不存在(9702)",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponse"
}
}
}
},
"409": {
"description": "非法状态/并发(9703/9707)",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponse"
}
}
}
}
},
"security": [
{
"bearerAuth": []
}
]
}
},
"/assessments/attempts/{attemptId}/submit": {
"post": {
"tags": [
"RIASEC 职业兴趣测评"
],
"summary": "提交答卷",
"description": "30 题全答且每维各 5 题后方可提交(否则 400/9706);提交后生成结果并写审计;重复提交返回原结果,不重复生成与审计。仅本人。",
"operationId": "submitAssessmentAttempt",
"parameters": [
{
"name": "attemptId",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponse"
}
}
}
},
"400": {
"description": "未完成(9706)",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponse"
}
}
}
},
"401": {
"description": "未登录",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponse"
}
}
}
},
"403": {
"description": "非本人或非 STUDENT(2002)",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponse"
}
}
}
},
"404": {
"description": "答卷不存在(9702)",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponse"
}
}
}
},
"409": {
"description": "非法状态(9703)",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponse"
}
}
}
}
},
"security": [
{
"bearerAuth": []
}
]
}
},
"/assessments/attempts/{attemptId}/result": {
"get": {
"tags": [
"RIASEC 职业兴趣测评"
],
"summary": "查看结果",
"description": "答卷 COMPLETED 后返回聚合分、类型排名、探索方向。仅本人可访问。",
"operationId": "getAssessmentResult",
"parameters": [
{
"name": "attemptId",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponse"
}
}
}
},
"401": {
"description": "未登录",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponse"
}
}
}
},
"403": {
"description": "非本人或非 STUDENT(2002)",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponse"
}
}
}
},
"404": {
"description": "答卷不存在(9702)",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponse"
}
}
}
},
"409": {
"description": "答卷未完成(9703)",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponse"
}
}
}
}
},
"security": [
{
"bearerAuth": []
}
]
}
},
"/assessments/me": {
"get": {
"tags": [
"RIASEC 职业兴趣测评"
],
"summary": "我的测评历史",
"description": "分页返回当前学生的全部答卷与结果概要。仅 STUDENT 本人可访问。",
"operationId": "listMyAssessments",
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponse"
}
}
}
},
"401": {
"description": "未登录",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponse"
}
}
}
},
"403": {
"description": "非 STUDENT(2002)",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponse"
}
}
}
}
},
"security": [
{
"bearerAuth": []
}
]
}
},
"/jobs/{jobId}/reviews": {
"get": {
"tags": [
"岗位评价"
],
"summary": "查询岗位评价列表",
"description": "公开访问;仅返回 PUBLISHED 评价,分页;每条含八维评分",
"operationId": "list_2",
"parameters": [
{
"name": "jobId",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "page",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"format": "int32",
"default": 0
}
},
{
"name": "size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"format": "int32",
"default": 20
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseMapStringObject"
}
}
}
}
}
},
"post": {
"tags": [
"岗位评价"
],
"summary": "创建岗位评价",
"description": "仅 STUDENT;同一学生对同一岗位只能评价一次",
"operationId": "create_3",
"parameters": [
{
"name": "jobId",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/JobReviewCreateRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseMapStringObject"
}
}
}
}
}
}
},
"/jobs/{jobId}/reviews/summary": {
"get": {
"tags": [
"岗位评价"
],
"summary": "评分汇总",
"description": "公开访问;统计 PUBLISHED 评价的平均分、分布和热门标签",
"operationId": "summary",
"parameters": [
{
"name": "jobId",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseMapStringObject"
}
}
}
}
}
}
},
"/jobs/{jobId}/reviews/{reviewId}": {
"get": {
"tags": [
"岗位评价"
],
"summary": "岗位评价详情",
"description": "公开访问;返回单条 PUBLISHED 评价与八维评分",
"operationId": "get_2",
"parameters": [
{
"name": "jobId",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "reviewId",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseMapStringObject"
}
}
}
}
}
},
"put": {
"tags": [
"岗位评价"
],
"summary": "修改评价",
"description": "仅评价本人可以修改",
"operationId": "update_2",
"parameters": [
{
"name": "jobId",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "reviewId",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/JobReviewUpdateRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseMapStringObject"
}
}
}
}
}
},
"delete": {
"tags": [
"岗位评价"
],
"summary": "删除评价",
"description": "仅评价本人可以删除",
"operationId": "delete_1",
"parameters": [
{
"name": "jobId",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "reviewId",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseMapStringObject"
}
}
}
}
}
}
},
"/jobs/{jobId}/status": {
"patch": {
"tags": [
"岗位"
],
"summary": "发布/关闭岗位",
"description": "DRAFT→PUBLISHED,PUBLISHED→CLOSED;禁止非法回退",
"operationId": "updateStatus",
"parameters": [
{
"name": "jobId",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/JobStatusRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseMapStringObject"
}
}
}
}
}
}
},
"/notifications": {
"get": {
"tags": [
"通知"
],
"summary": "通知列表",
"description": "当前用户的通知,分页,按时间倒序",
"operationId": "list_3",
"parameters": [
{
"name": "page",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"format": "int32",
"default": 0
}
},
{
"name": "size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"format": "int32",
"default": 20
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseMapStringObject"
}
}
}
}
}
}
},
"/notifications/read-all": {
"post": {
"tags": [
"通知"
],
"summary": "全部已读",
"description": "标记当前用户全部通知已读(幂等)",
"operationId": "markAllRead",
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseMapStringObject"
}
}
}
}
}
}
},
"/notifications/unread-count": {
"get": {
"tags": [
"通知"
],
"summary": "未读数",
"description": "当前用户未读通知数",
"operationId": "unreadCount",
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseMapStringObject"
}
}
}
}
}
}
},
"/notifications/{id}/read": {
"post": {
"tags": [
"通知"
],
"summary": "标记已读",
"description": "标记单条通知已读(幂等)",
"operationId": "markRead",
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseMapStringObject"
}
}
}
}
}
}
},
"/offers": {
"get": {
"tags": [
"Offer"
],
"summary": "Offer 列表",
"description": "候选人查看收到的、企业查看发出的 Offer;支持 status、applicationId 筛选与分页",
"operationId": "list_1",
"parameters": [
{
"name": "status",
"in": "query",
"required": false,
"schema": {
"type": "string"
}
},
{
"name": "applicationId",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "page",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"format": "int32",
"default": 0
}
},
{
"name": "size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"format": "int32",
"default": 20
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseMapStringObject"
}
}
}
}
}
},
"post": {
"tags": [
"Offer"
],
"summary": "创建 Offer",
"description": "仅企业账号;投递存在、岗位属于本企业、投递状态可发、无有效 Offer;默认 DRAFT",
"operationId": "create_2",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OfferCreateRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseMapStringObject"
}
}
}
}
}
}
},
"/offers/compare": {
"get": {
"tags": [
"Offer"
],
"summary": "Offer 比较",
"description": "仅候选人本人;比较 2-5 个非 DRAFT 的 Offer",
"operationId": "compare",
"parameters": [
{
"name": "ids",
"in": "query",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseListMapStringObject"
}
}
}
}
}
}
},
"/offers/statistics": {
"get": {
"tags": [
"Offer"
],
"summary": "Offer 统计",
"description": "仅企业;统计本企业 Offer 状态分布、接受率、平均响应时间",
"operationId": "statistics",
"parameters": [
{
"name": "months",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"format": "int32",
"default": 6
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseMapStringObject"
}
}
}
}
}
}
},
"/offers/{id}": {
"get": {
"tags": [
"Offer"
],
"summary": "Offer 详情",
"description": "仅目标候选人、所属企业可访问;其他账号返回无权限错误",
"operationId": "get_1",
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseMapStringObject"
}
}
}
}
}
},
"put": {
"tags": [
"Offer"
],
"summary": "修改 Offer",
"description": "仅所属企业、仅 DRAFT 状态可修改;其余状态返回业务错误",
"operationId": "update_1",
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OfferUpdateRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseMapStringObject"
}
}
}
}
}
}
},
"/offers/{id}/counter-offers": {
"get": {
"tags": [
"Offer"
],
"summary": "还价列表",
"description": "候选人查看本人 Offer 的还价、企业查看本企业 Offer 的还价",
"operationId": "listCounterOffers",
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseListMapStringObject"
}
}
}
}
}
},
"post": {
"tags": [
"Offer"
],
"summary": "发起还价",
"description": "仅候选人本人;仅 SENT/NEGOTIATING 可发起;SENT 时自动进入 NEGOTIATING",
"operationId": "createCounterOffer",
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CounterOfferCreateRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseMapStringObject"
}
}
}
}
}
}
},
"/offers/{id}/counter-offers/{coId}/accept": {
"patch": {
"tags": [
"Offer"
],
"summary": "接受还价",
"description": "仅所属企业;接受后更新 Offer 薪资/入职日期并变为 ACCEPTED",
"operationId": "acceptCounterOffer",
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "coId",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseMapStringObject"
}
}
}
}
}
}
},
"/offers/{id}/counter-offers/{coId}/reject": {
"patch": {
"tags": [
"Offer"
],
"summary": "拒绝还价",
"description": "仅所属企业;拒绝后 Offer 保持 NEGOTIATING",
"operationId": "rejectCounterOffer",
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "coId",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseMapStringObject"
}
}
}
}
}
}
},
"/offers/{id}/remind": {
"post": {
"tags": [
"Offer"
],
"summary": "手动提醒",
"description": "仅所属企业;仅 SENT/NEGOTIATING 可提醒;相同提醒不重复创建",
"operationId": "remind",
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseMapStringObject"
}
}
}
}
}
}
},
"/offers/{id}/status": {
"patch": {
"tags": [
"Offer"
],
"summary": "Offer 状态变更",
"description": "DRAFT→SENT 企业;SENT/NEGOTIATING→ACCEPTED/REJECTED/NEGOTIATING 候选人;重复提交幂等",
"operationId": "changeStatus",
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OfferStatusRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseMapStringObject"
}
}
}
}
}
}
},
"/offers/{id}/timeline": {
"get": {
"tags": [
"Offer"
],
"summary": "Offer 状态时间线",
"description": "完整状态变更历史,含操作者、原因与请求 ID",
"operationId": "timeline",
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseListMapStringObject"
}
}
}
}
}
}
},
"/profile/me": {
"get": {
"tags": [
"个人资料"
],
"summary": "查询当前学生资料",
"description": "查询当前登录学生(仅 STUDENT 角色)自己的学生资料。身份仅从 JWT/SecurityContext 获取,不接受 userId、studentUserId 等请求参数;本接口无 Path、Query、Body 参数。若尚未创建个人资料:HTTP 200,data 为空对象 {}(非 null),且不会自动创建数据库记录。当前未设置接口级限流。",
"operationId": "getMyProfile",
"responses": {
"200": {
"description": "成功;有资料返回资料对象,无资料返回空对象 {};message=ok",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponseStudentProfileResponse"
},
"examples": {
"success-with-data": {
"summary": "有资料",
"description": "success-with-data",
"value": {
"code": 200,
"message": "ok",
"data": {
"id": 1,
"userId": 2,
"realName": "张三",
"education": "本科",
"school": "某某大学",
"graduationYear": 2026,
"resumeUrl": "/uploads/resumes/2/resume.pdf",
"skills": "[Java, Spring Boot]",
"createdAt": "2026-08-24T10:00:00"
},
"timestamp": "2026-08-24T10:00:00Z"
}
}
}
}
}
},
"401": {
"description": "未登录、Token 缺失/非法/过期;运行时实际返回 code=401、message=not authenticated",
"content": {
"application/json": {
"examples": {
"unauthorized": {
"description": "unauthorized",
"value": {
"code": 401,
"message": "not authenticated",
"timestamp": "2026-08-24T10:00:00Z"
}
}
}
}
}
},
"403": {
"description": "已登录但不是 STUDENT 角色(COMPANY/ADMIN);code=2002、message=forbidden",
"content": {
"application/json": {
"examples": {
"forbidden": {
"description": "forbidden",
"value": {
"code": 2002,
"message": "forbidden",
"data": null,
"timestamp": "2026-08-24T10:00:00Z"
}
}
}
}
}
}
},
"security": [
{
"bearerAuth": []
}
]
},
"put": {
"tags": [
"个人资料"
],
"summary": "更新学生资料",
"description": "仅更新传入的非 null 字段;不存在则自动创建",
"operationId": "updateMyProfile",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudentProfileUpdateRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseMapStringObject"
}
}
}
}
}
}
},
"/profile/me/candidate-percentile": {
"get": {
"tags": [
"求职者评分卡"
],
"summary": "查询百分位",
"description": "仅 STUDENT;返回自己在候选人中的评分百分位",
"operationId": "getPercentile",
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseCandidatePercentileResponse"
}
}
}
},
"401": {
"description": "未登录",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponse"
}
}
}
},
"403": {
"description": "非 STUDENT 角色",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponse"
}
}
}
}
}
}
},
"/profile/me/candidate-score-card": {
"get": {
"tags": [
"求职者评分卡"
],
"summary": "查询求职者评分卡",
"description": "仅 STUDENT;返回自己的评价聚合卡",
"operationId": "getScoreCard",
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseCandidateScoreCardResponse"
}
}
}
},
"401": {
"description": "未登录",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponse"
}
}
}
},
"403": {
"description": "非 STUDENT 角色",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponse"
}
}
}
}
}
}
},
"/profile/me/candidate-score-trend": {
"get": {
"tags": [
"求职者评分卡"
],
"summary": "查询评分趋势",
"description": "仅 STUDENT;返回最近月份的反馈趋势",
"operationId": "getTrend_1",
"parameters": [
{
"name": "months",
"in": "query",
"description": "统计月数,默认 6,范围 1-24",
"required": false,
"schema": {
"type": "integer",
"format": "int32",
"default": 6
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseCandidateScoreTrendResponse"
}
}
}
},
"400": {
"description": "参数不合法",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseCandidateScoreTrendResponse"
}
}
}
},
"401": {
"description": "未登录",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponse"
}
}
}
},
"403": {
"description": "非 STUDENT 角色",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponse"
}
}
}
}
}
}
},
"/profile/me/candidate-scoring": {
"get": {
"tags": [
"求职者评分体系"
],
"summary": "综合评分卡",
"description": "仅 STUDENT;返回本人 8 维评分、综合分、权重与状态",
"operationId": "getOverview",
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseCandidateScoringOverviewResponse"
}
}
}
}
}
}
},
"/profile/me/candidate-scoring/appeals": {
"get": {
"tags": [
"评分治理"
],
"summary": "我的申诉列表",
"description": "仅 STUDENT 本人",
"operationId": "listMyAppeals",
"parameters": [
{
"name": "status",
"in": "query",
"required": false,
"schema": {
"type": "string"
}
},
{
"name": "page",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"format": "int32",
"default": 0
}
},
{
"name": "size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"format": "int32",
"default": 20
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseMapStringObject"
}
}
}
}
}
},
"post": {
"tags": [
"评分治理"
],
"summary": "提交评分申诉",
"description": "仅 STUDENT 本人;同一学生+维度+周期 PENDING/APPROVED 唯一",
"operationId": "createAppeal",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateAppealRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseAppealResponse"
}
}
}
}
}
}
},
"/profile/me/candidate-scoring/appeals/{appealId}": {
"get": {
"tags": [
"评分治理"
],
"summary": "申诉详情",
"description": "本人或 ADMIN",
"operationId": "getAppeal",
"parameters": [
{
"name": "appealId",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseAppealResponse"
}
}
}
}
}
}
},
"/profile/me/candidate-scoring/appeals/{appealId}/cancel": {
"post": {
"tags": [
"评分治理"
],
"summary": "撤销申诉",
"description": "仅本人;仅 PENDING 可撤销",
"operationId": "cancelAppeal",
"parameters": [
{
"name": "appealId",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseAppealResponse"
}
}
}
}
}
}
},
"/profile/me/candidate-scoring/dimensions/{dimension}": {
"get": {
"tags": [
"求职者评分体系"
],
"summary": "单维度明细",
"description": "仅 STUDENT;返回某维度分项、归因与数据源;非法 dimension 返回 400",
"operationId": "getDimensionDetail",
"parameters": [
{
"name": "dimension",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseDimensionScoreDetailResponse"
}
}
}
}
}
}
},
"/profile/me/candidate-scoring/trend": {
"get": {
"tags": [
"求职者评分体系"
],
"summary": "评分趋势",
"description": "仅 STUDENT;基于快照按月返回综合分与维度分(months 1-24)",
"operationId": "getTrend",
"parameters": [
{
"name": "months",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"format": "int32",
"default": 6
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseCandidateScoringTrendResponse"
}
}
}
}
}
}
},
"/profile/me/career-progress": {
"get": {
"tags": [
"求职进度"
],
"summary": "统一求职进度聚合",
"description": "只读学生端接口:汇总当前学生的投递分页、岗位摘要、下一场面试、最近已提交结构化面试评分、可展示 Offer、同岗位竞争力排名,以及待办/通知计数(仅计数,不含通知标题/正文/详情)。仅 STUDENT 可访问,身份仅从 JWT/SecurityContext 获取,不接受 userId/studentUserId/candidateId 参数;COMPANY/ADMIN 返回 403/2002,未登录返回 401,参数非法返回 400/1001。通知详情仍由既有 /notifications 提供。",
"operationId": "getCareerProgress",
"parameters": [
{
"name": "page",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"format": "int32",
"default": 0
}
},
{
"name": "size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"format": "int32",
"default": 20
}
},
{
"name": "status",
"in": "query",
"required": false,
"schema": {
"type": "string",
"enum": [
"SUBMITTED",
"VIEWED",
"INTERVIEW",
"HIRED",
"REJECTED",
"WITHDRAWN"
]
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseCareerProgressResponse"
}
}
}
},
"400": {
"description": "page/size/status 参数非法",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponse"
}
}
}
},
"401": {
"description": "未登录",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponse"
}
}
}
},
"403": {
"description": "非 STUDENT 角色",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponse"
}
}
}
}
},
"security": [
{
"bearerAuth": []
}
]
}
},
"/profile/me/deletion": {
"get": {
"tags": [
"account-deletion-controller"
],
"operationId": "getStatus",
"parameters": [],
"responses": {
"200": {
"description": "success",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseAccountDeletionResponse"
}
}
}
},
"401": {
"description": "error",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponse"
}
}
}
}
}
},
"post": {
"tags": [
"account-deletion-controller"
],
"operationId": "initiate",
"parameters": [],
"responses": {
"200": {
"description": "success",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseAccountDeletionResponse"
}
}
}
},
"401": {
"description": "error",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponse"
}
}
}
},
"403": {
"description": "error",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponse"
}
}
}
},
"409": {
"description": "error",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponse"
}
}
}
}
}
}
},
"/profile/me/deletion/cancel": {
"post": {
"tags": [
"account-deletion-controller"
],
"operationId": "cancelAccountDeletion",
"parameters": [],
"responses": {
"200": {
"description": "success",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseAccountDeletionResponse"
}
}
}
},
"401": {
"description": "error",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponse"
}
}
}
},
"403": {
"description": "error",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponse"
}
}
}
},
"409": {
"description": "error",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponse"
}
}
}
}
}
}
},
"/profile/me/data-export-tasks": {
"get": {
"tags": [
"personal-data-export-controller"
],
"summary": "查询个人数据导出任务列表",
"description": "仅本人;按创建时间倒序分页;status 可选:PENDING/PROCESSING/COMPLETED/FAILED/EXPIRED/CANCELLED",
"operationId": "listDataExportTasks",
"parameters": [
{
"name": "page",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"default": 0
}
},
{
"name": "size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"default": 20
}
},
{
"name": "status",
"in": "query",
"required": false,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "success",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponsePageResponseDataExportTaskResponse"
}
}
}
},
"401": {
"description": "error",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponse"
}
}
}
},
"403": {
"description": "error",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponse"
}
}
}
},
"409": {
"description": "error",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponse"
}
}
}
}
}
},
"post": {
"tags": [
"personal-data-export-controller"
],
"summary": "创建个人数据导出任务",
"description": "异步生成 ZIP;同 idempotencyKey 重放返回原任务;注销 PENDING/COMPLETED 禁止创建",
"operationId": "createDataExportTask",
"parameters": [],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateDataExportRequest"
}
}
},
"required": false
},
"responses": {
"200": {
"description": "success",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseDataExportTaskResponse"
}
}
}
},
"401": {
"description": "error",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponse"
}
}
}
},
"403": {
"description": "error",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponse"
}
}
}
},
"409": {
"description": "error",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponse"
}
}
}
}
}
}
},
"/profile/me/data-export-tasks/{taskId}": {
"get": {
"tags": [
"personal-data-export-controller"
],
"summary": "查询个人数据导出任务详情",
"description": "仅本人;不暴露 storageKey 与内部字段",
"operationId": "getDataExportTask",
"parameters": [
{
"name": "taskId",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
}
],
"responses": {
"200": {
"description": "success",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseDataExportTaskResponse"
}
}
}
},
"401": {
"description": "error",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponse"
}
}
}
},
"403": {
"description": "error",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponse"
}
}
}
},
"404": {
"description": "error",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponse"
}
}
}
}
}
}
},
"/profile/me/data-export-tasks/{taskId}/download": {
"get": {
"tags": [
"personal-data-export-controller"
],
"summary": "下载个人数据导出 ZIP",
"description": "仅本人且 COMPLETED 未过期;attachment;需 JWT",
"operationId": "downloadDataExportTask",
"parameters": [
{
"name": "taskId",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
}
],
"responses": {
"200": {
"description": "success",
"content": {
"application/zip": {
"schema": {
"type": "string",
"format": "binary"
}
}
}
},
"401": {
"description": "error",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponse"
}
}
}
},
"403": {
"description": "error",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponse"
}
}
}
},
"409": {
"description": "error",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponse"
}
}
}
}
}
}
},
"/profile/me/match-rule": {
"get": {
"tags": [
"双向匹配阈值"
],
"summary": "查询学生匹配阈值",
"description": "未配置返回默认 60",
"operationId": "getStudentRule",
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseMapStringObject"
}
}
}
}
}
},
"put": {
"tags": [
"双向匹配阈值"
],
"summary": "更新学生匹配阈值",
"description": "requiredHrScore 0-100;首次更新创建配置",
"operationId": "updateStudentRule",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudentMatchRuleRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseMapStringObject"
}
}
}
}
}
}
},
"/profile/me/preferences": {
"get": {
"tags": [
"求职偏好"
],
"summary": "查询求职偏好",
"description": "仅 STUDENT;无记录时返回空偏好对象",
"operationId": "getPreferences",
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseMapStringObject"
}
}
}
}
}
},
"put": {
"tags": [
"求职偏好"
],
"summary": "保存求职偏好",
"description": "仅 STUDENT;upsert,完全替换传入字段",
"operationId": "savePreferences",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudentPreferenceRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseMapStringObject"
}
}
}
}
}
}
},
"/profile/me/privacy": {
"get": {
"tags": [
"privacy-settings-controller"
],
"operationId": "getMyPrivacySettings",
"parameters": [],
"responses": {
"200": {
"description": "成功;无记录时返回默认对象(PRIVATE/contactVisible=false/version=0)",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponsePrivacySettingsResponse"
}
}
}
},
"401": {
"description": "未登录",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponse"
}
}
}
},
"403": {
"description": "非 STUDENT 角色",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponse"
}
}
}
}
}
},
"put": {
"tags": [
"privacy-settings-controller"
],
"operationId": "updateMyPrivacySettings",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PrivacySettingsUpdateRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "成功;返回更新后的隐私设置对象",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponsePrivacySettingsResponse"
}
}
}
},
"400": {
"description": "请求体校验失败(缺少必填字段或非法枚举)",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponse"
}
}
}
},
"401": {
"description": "未登录",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponse"
}
}
}
},
"403": {
"description": "非 STUDENT 角色",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponse"
}
}
}
},
"409": {
"description": "乐观锁版本冲突(9201)",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponse"
}
}
}
}
}
}
},
"/profile/me/resume": {
"get": {
"tags": [
"个人资料"
],
"summary": "下载简历",
"description": "下载当前学生上传的简历文件,仅 STUDENT 角色",
"operationId": "downloadResume",
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"type": "string",
"format": "byte"
}
}
}
}
}
},
"post": {
"tags": [
"个人资料"
],
"summary": "上传简历",
"description": "仅 STUDENT 角色;PDF/DOC/DOCX,≤10MB;上传新简历时替换旧文件",
"operationId": "uploadResume",
"requestBody": {
"content": {
"multipart/form-data": {
"schema": {
"type": "object",
"properties": {
"file": {
"type": "string",
"format": "binary"
}
},
"required": [
"file"
]
}
}
}
},
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseMapStringObject"
}
}
}
}
}
},
"delete": {
"tags": [
"个人资料"
],
"summary": "删除简历",
"description": "删除当前学生的简历文件并清空 resumeUrl,仅 STUDENT 角色",
"operationId": "deleteResume",
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseMapStringObject"
}
}
}
}
}
}
},
"/profile/me/resume-versions": {
"get": {
"tags": [
"简历版本"
],
"summary": "简历版本列表",
"description": "本人 ACTIVE 版本,version_no 倒序",
"operationId": "list",
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseListMapStringObject"
}
}
}
}
}
},
"post": {
"tags": [
"简历版本"
],
"summary": "创建简历版本",
"description": "仅本人(STUDENT);PDF/DOC/DOCX ≤10MB;可附版本名",
"operationId": "create_1",
"parameters": [
{
"name": "name",
"in": "query",
"required": false,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"multipart/form-data": {
"schema": {
"type": "object",
"properties": {
"file": {
"type": "string",
"format": "binary"
}
},
"required": [
"file"
]
}
}
}
},
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseMapStringObject"
}
}
}
}
}
}
},
"/profile/me/resume-versions/{id}": {
"get": {
"tags": [
"简历版本"
],
"summary": "简历版本详情",
"description": "仅本人可查看;他人 403,不存在 404",
"operationId": "get",
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseMapStringObject"
}
}
}
}
}
},
"put": {
"tags": [
"简历版本"
],
"summary": "修改简历版本",
"description": "本人;可选重命名 + 可选替换文件(替换时删除旧文件)",
"operationId": "update",
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "name",
"in": "query",
"required": false,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"multipart/form-data": {
"schema": {
"type": "object",
"properties": {
"file": {
"type": "string",
"format": "binary"
}
}
}
}
}
},
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseMapStringObject"
}
}
}
}
}
},
"delete": {
"tags": [
"简历版本"
],
"summary": "删除简历版本",
"description": "默认版本需先设其他默认;导出进行中不可删;删除文件并移除记录",
"operationId": "delete",
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseMapStringObject"
}
}
}
}
}
}
},
"/profile/me/resume-versions/{id}/default": {
"post": {
"tags": [
"简历版本"
],
"summary": "设为默认简历",
"description": "同用户最多一个默认;已默认幂等;并发冲突 409",
"operationId": "setDefault",
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseMapStringObject"
}
}
}
}
}
}
},
"/profile/me/resume-versions/{id}/export": {
"post": {
"tags": [
"简历版本"
],
"summary": "创建简历导出任务",
"description": "异步复制该版本文件到导出目录;返回任务状态",
"operationId": "createExportTask",
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseMapStringObject"
}
}
}
}
}
}
},
"/profile/me/review-weights": {
"get": {
"tags": [
"student-review-weight-controller"
],
"operationId": "getMyWeights",
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseReviewWeightResponse"
}
}
}
},
"401": {
"description": "未登录",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponse"
}
}
}
},
"403": {
"description": "非 STUDENT 角色",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponse"
}
}
}
}
}
},
"put": {
"tags": [
"student-review-weight-controller"
],
"operationId": "saveWeights",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SaveWeightRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseReviewWeightResponse"
}
}
}
},
"401": {
"description": "未登录",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponse"
}
}
}
},
"403": {
"description": "非 STUDENT 角色",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponse"
}
}
}
}
}
}
},
"/resume-export-tasks/{taskId}": {
"get": {
"tags": [
"简历版本"
],
"summary": "导出任务状态",
"description": "仅本人可查询;SUCCESS 含输出文件,FAILED 含失败原因",
"operationId": "getExportTask",
"parameters": [
{
"name": "taskId",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseMapStringObject"
}
}
}
}
}
}
},
"/resume-export-tasks/{taskId}/download": {
"get": {
"tags": [
"简历版本"
],
"summary": "下载导出产物",
"description": "仅本人且任务 SUCCESS 可下载;attachment;不暴露内部路径",
"operationId": "downloadExportTask",
"parameters": [
{
"name": "taskId",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"type": "string",
"format": "byte"
}
}
}
}
}
}
},
"/review-weight-templates": {
"get": {
"tags": [
"student-review-weight-controller"
],
"operationId": "getTemplates",
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseListWeightTemplateResponse"
}
}
}
},
"401": {
"description": "未登录",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponse"
}
}
}
}
}
}
},
"/interviews/{interviewId}/score": {
"put": {
"tags": [
"结构化面试评分"
],
"summary": "保存评分草稿",
"description": "企业 owner 为已完成的面试保存/更新草稿;草稿阶段五个维度可为空;overallScore 由服务端计算;SUBMITTED 后再次 PUT 返回 409/9503",
"operationId": "saveInterviewScore",
"parameters": [
{
"name": "interviewId",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/InterviewScoreSaveRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "success",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseInterviewScoreResponse"
}
}
}
},
"400": {
"description": "非法维度或推荐值",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponse"
}
}
}
},
"401": {
"description": "未登录",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponse"
}
}
}
},
"403": {
"description": "非企业/跨企业/非岗位 owner",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponse"
}
}
}
},
"404": {
"description": "面试不存在 8401",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponse"
}
}
}
},
"409": {
"description": "未完成 9502 / 已提交 9503 / 并发冲突 9501",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponse"
}
}
}
}
}
},
"get": {
"tags": [
"结构化面试评分"
],
"summary": "查看评分",
"description": "企业 owner 可看 DRAFT/SUBMITTED;目标学生仅可看 SUBMITTED;无评分返回 404/9504",
"operationId": "getInterviewScore",
"parameters": [
{
"name": "interviewId",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
}
],
"responses": {
"200": {
"description": "success",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseInterviewScoreResponse"
}
}
}
},
"400": {
"description": "请求体校验失败",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponse"
}
}
}
},
"401": {
"description": "未登录",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponse"
}
}
}
},
"403": {
"description": "非目标学生 / 跨企业 / 非岗位 owner / ADMIN",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponse"
}
}
}
},
"404": {
"description": "无评分 9504 / 面试不存在 8401",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponse"
}
}
}
},
"409": {
"description": "未完成 9502",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponse"
}
}
}
}
}
}
},
"/interviews/{interviewId}/score/submit": {
"post": {
"tags": [
"结构化面试评分"
],
"summary": "提交评分",
"description": "将 DRAFT 提交为 SUBMITTED,提交后不可逆;并发冲突 409;重复提交幂等返回原评分",
"operationId": "submitInterviewScore",
"parameters": [
{
"name": "interviewId",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
}
],
"responses": {
"200": {
"description": "success",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseInterviewScoreResponse"
}
}
}
},
"400": {
"description": "缺维度 1001",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponse"
}
}
}
},
"401": {
"description": "未登录",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponse"
}
}
}
},
"403": {
"description": "非企业/跨企业/非岗位 owner",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponse"
}
}
}
},
"404": {
"description": "面试不存在 8401",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponse"
}
}
}
},
"409": {
"description": "未完成 9502 / 并发冲突 9501",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponse"
}
}
}
}
}
}
},
"/interviews/{interviewId}/score/history": {
"get": {
"tags": [
"结构化面试评分"
],
"summary": "评分历史",
"description": "企业 owner 可查看全部历史;目标学生仅在 SUBMITTED 后可见;无历史返回 200 空数组;不返回内部用户标识",
"operationId": "getInterviewScoreHistory",
"parameters": [
{
"name": "interviewId",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
}
],
"responses": {
"200": {
"description": "success",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseListInterviewScoreHistoryItem"
}
}
}
},
"401": {
"description": "未登录",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponse"
}
}
}
},
"403": {
"description": "非目标学生 / 跨企业 / 非岗位 owner / ADMIN",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponse"
}
}
}
},
"404": {
"description": "面试不存在 8401",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponse"
}
}
}
},
"409": {
"description": "未完成 9502",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponse"
}
}
}
}
}
}
},
"/reports": {
"post": {
"tags": [
"举报与屏蔽"
],
"summary": "提交举报",
"description": "targetType=USER 必填 targetUserId;MESSAGE 必填 messageId;reportedUserId 由服务端推导。同 reporter+idempotencyKey+相同请求体返回原举报 200;不同请求体 409/9606;同目标同分类已有 PENDING 409/9603。限流:每用户每小时 10 次,超限 429/9609。",
"operationId": "createReport",
"security": [
{
"bearerAuth": []
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateReportRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseReportResponse"
}
}
}
},
"400": {
"description": "BAD_REQUEST(1001)/举报自己 9602/理由缺失 9607",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponse"
}
}
}
},
"401": {
"description": "未登录",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponse"
}
}
}
},
"403": {
"description": "无权访问消息(2002,不泄露消息是否存在)",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponse"
}
}
}
},
"409": {
"description": "重复举报 9603 / 幂等冲突 9606",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponse"
}
}
}
},
"429": {
"description": "频率超限 9609",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponse"
}
}
}
}
}
}
},
"/reports/me": {
"get": {
"tags": [
"举报与屏蔽"
],
"summary": "我的举报列表",
"description": "仅返回当前用户创建的举报;身份来自 JWT;不返回举报人内部信息/phone/email/passwordHash/resumeUrl/消息全文;支持 status/page/size。",
"operationId": "listMyReports",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "status",
"in": "query",
"required": false,
"schema": {
"type": "string"
}
},
{
"name": "page",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"format": "int32",
"default": 0
}
},
{
"name": "size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"format": "int32",
"default": 20
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponsePageResponseReportResponse"
}
}
}
},
"401": {
"description": "未登录",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponse"
}
}
}
}
}
}
},
"/reports/{id}": {
"get": {
"tags": [
"举报与屏蔽"
],
"summary": "举报详情(本人/ADMIN)",
"description": "当前举报人本人或 ADMIN 可查看;其他 403/2002;非 ADMIN 不显示举报人内部 ID/手机号/邮箱;MESSAGE 仅返回脱敏 messagePreview。",
"operationId": "getReportDetail",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseReportResponse"
}
}
}
},
"401": {
"description": "未登录",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponse"
}
}
}
},
"403": {
"description": "非本人非 ADMIN(2002)",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponse"
}
}
}
},
"404": {
"description": "举报不存在(9601)",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponse"
}
}
}
}
}
}
},
"/blocks/{blockedUserId}": {
"put": {
"tags": [
"举报与屏蔽"
],
"summary": "屏蔽用户",
"description": "屏蔽自己 400/9608;目标不存在复用用户不存在错误码;已存在返回 200 不新增;不影响系统通知/投递/Offer/面试/评分/评价。",
"operationId": "blockUser",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "blockedUserId",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseBlockRelationResponse"
}
}
}
},
"400": {
"description": "屏蔽自己 9608",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponse"
}
}
}
},
"401": {
"description": "未登录",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponse"
}
}
}
}
}
},
"delete": {
"tags": [
"举报与屏蔽"
],
"summary": "解除屏蔽",
"description": "幂等:不存在时返回 200 不报错。",
"operationId": "unblockUser",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "blockedUserId",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
}
],
"responses": {
"200": {
"description": "OK(幂等)",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponse"
}
}
}
},
"401": {
"description": "未登录",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponse"
}
}
}
}
}
}
},
"/blocks/me": {
"get": {
"tags": [
"举报与屏蔽"
],
"summary": "我的屏蔽列表",
"description": "仅返回当前用户主动屏蔽的用户;不返回对方手机号/邮箱/密码/简历地址;支持 page/size。",
"operationId": "listMyBlocks",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "page",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"format": "int32",
"default": 0
}
},
{
"name": "size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"format": "int32",
"default": 20
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponsePageResponseBlockRelationResponse"
}
}
}
},
"401": {
"description": "未登录",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponse"
}
}
}
}
}
}
},
"/admin/reports": {
"get": {
"tags": [
"举报管理"
],
"summary": "举报列表(ADMIN)",
"description": "仅 ADMIN;COMPANY/STUDENT/未登录分别 403/403/401;支持 status/targetType/category/page/size;响应脱敏。",
"operationId": "adminListReports",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "status",
"in": "query",
"required": false,
"schema": {
"type": "string"
}
},
{
"name": "targetType",
"in": "query",
"required": false,
"schema": {
"type": "string"
}
},
{
"name": "category",
"in": "query",
"required": false,
"schema": {
"type": "string"
}
},
{
"name": "page",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"format": "int32",
"default": 0
}
},
{
"name": "size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"format": "int32",
"default": 20
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponsePageResponseReportResponse"
}
}
}
},
"401": {
"description": "未登录",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponse"
}
}
}
},
"403": {
"description": "非 ADMIN",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponse"
}
}
}
}
}
}
},
"/admin/reports/{id}": {
"get": {
"tags": [
"举报管理"
],
"summary": "举报详情(ADMIN)",
"description": "仅 ADMIN;可见类型/分类/理由/脱敏证据 URL/MESSAGE 脱敏内容/会话最小信息/处理历史;不返回密码/JWT/手机号/邮箱/resumeUrl。",
"operationId": "adminGetReport",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseReportResponse"
}
}
}
},
"401": {
"description": "未登录",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponse"
}
}
}
},
"403": {
"description": "非 ADMIN",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponse"
}
}
}
},
"404": {
"description": "举报不存在(9601)",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponse"
}
}
}
}
}
}
},
"/admin/reports/{id}/decision": {
"post": {
"tags": [
"举报管理"
],
"summary": "举报处理决定(ADMIN)",
"description": "仅 ADMIN;decision 仅 RESOLVED/REJECTED;REJECTED 必填 note;仅 PENDING 可处理,重复 409/9604,非法流转 409/9605;处理后发送一条 REPORT_DECISION 通知。",
"operationId": "decideReport",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ReportDecisionRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseReportResponse"
}
}
}
},
"400": {
"description": "参数错误(REJECTED 缺 note)",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponse"
}
}
}
},
"401": {
"description": "未登录",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponse"
}
}
}
},
"403": {
"description": "非 ADMIN",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponse"
}
}
}
},
"404": {
"description": "举报不存在(9601)",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponse"
}
}
}
},
"409": {
"description": "重复决定 9604 / 非法流转 9605",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponse"
}
}
}
}
}
}
},
"/abilities/types": {
"get": {
"tags": [
"四维能力测评"
],
"operationId": "listAbilityTypes",
"summary": "能力测评类型列表",
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponseAbilityTypeResponse"
}
}
}
},
"401": {
"description": "未登录"
},
"403": {
"description": "Forbidden"
}
}
}
},
"/abilities/attempts": {
"post": {
"tags": [
"四维能力测评"
],
"operationId": "createAbilityAttempt",
"summary": "创建能力测评答卷",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateAbilityAttemptRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponseAbilityAttemptResponse"
}
}
}
},
"401": {
"description": "未登录"
},
"403": {
"description": "Forbidden"
},
"404": {
"description": "9801"
},
"409": {
"description": "9808/9809/9810"
},
"429": {
"description": "9811"
}
}
}
},
"/abilities/attempts/{attemptId}": {
"get": {
"tags": [
"四维能力测评"
],
"operationId": "getAbilityAttempt",
"summary": "getAbilityAttempt",
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponseAbilityAttemptResponse"
}
}
}
},
"401": {
"description": "未登录"
},
"403": {
"description": "Forbidden"
},
"404": {
"description": "404"
},
"409": {
"description": "409"
}
}
}
},
"/abilities/attempts/{attemptId}/answers": {
"patch": {
"tags": [
"四维能力测评"
],
"operationId": "saveAbilityAnswers",
"summary": "saveAbilityAnswers",
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponseAbilityAttemptResponse"
}
}
}
},
"401": {
"description": "未登录"
},
"403": {
"description": "Forbidden"
},
"404": {
"description": "404"
},
"409": {
"description": "409"
}
},
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SaveAbilityAnswersRequest"
}
}
},
"required": true
}
}
},
"/abilities/attempts/{attemptId}/submit": {
"post": {
"tags": [
"四维能力测评"
],
"operationId": "submitAbilityAttempt",
"summary": "submitAbilityAttempt",
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponseAbilityResultResponse"
}
}
}
},
"401": {
"description": "未登录"
},
"403": {
"description": "Forbidden"
},
"404": {
"description": "404"
},
"409": {
"description": "409"
}
}
}
},
"/abilities/attempts/{attemptId}/result": {
"get": {
"tags": [
"四维能力测评"
],
"operationId": "getAbilityResult",
"summary": "getAbilityResult",
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponseAbilityResultResponse"
}
}
}
},
"401": {
"description": "未登录"
},
"403": {
"description": "Forbidden"
},
"404": {
"description": "404"
},
"409": {
"description": "409"
}
}
}
},
"/abilities/me": {
"get": {
"tags": [
"四维能力测评"
],
"operationId": "listMyAbilityAttempts",
"summary": "我的能力测评历史",
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponsePageResponseAbilityHistoryItem"
}
}
}
},
"401": {
"description": "未登录"
},
"403": {
"description": "Forbidden"
}
}
}
},
"/admin/scoring/risk/overview": {
"get": {
"tags": [
"风险治理"
],
"operationId": "riskOverview",
"summary": "风险概览(ADMIN)",
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponseRiskOverviewResponse"
}
}
}
}
},
"parameters": [
{
"name": "from",
"in": "query",
"required": false,
"schema": {
"type": "string"
}
},
{
"name": "to",
"in": "query",
"required": false,
"schema": {
"type": "string"
}
}
]
}
},
"/admin/scoring/risk/trend": {
"get": {
"tags": [
"风险治理"
],
"operationId": "riskTrend",
"summary": "风险趋势(ADMIN)",
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponseRiskTrendResponse"
}
}
}
}
},
"parameters": [
{
"name": "bucket",
"in": "query",
"required": false,
"schema": {
"type": "string"
}
},
{
"name": "from",
"in": "query",
"required": false,
"schema": {
"type": "string"
}
},
{
"name": "to",
"in": "query",
"required": false,
"schema": {
"type": "string"
}
}
]
}
},
"/admin/scoring/risk/distribution": {
"get": {
"tags": [
"风险治理"
],
"operationId": "riskDistribution",
"summary": "风险分布(ADMIN)",
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponseRiskDistributionResponse"
}
}
}
}
},
"parameters": [
{
"name": "from",
"in": "query",
"required": false,
"schema": {
"type": "string"
}
},
{
"name": "to",
"in": "query",
"required": false,
"schema": {
"type": "string"
}
}
]
}
},
"/admin/scoring/risk/events": {
"get": {
"tags": [
"风险治理"
],
"operationId": "riskEvents",
"summary": "风险事件分页(ADMIN)",
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponsePageResponseRiskEventResponse"
}
}
}
}
},
"parameters": [
{
"name": "page",
"in": "query",
"required": false,
"schema": {
"type": "string"
}
},
{
"name": "size",
"in": "query",
"required": false,
"schema": {
"type": "string"
}
},
{
"name": "status",
"in": "query",
"required": false,
"schema": {
"type": "string"
}
},
{
"name": "severity",
"in": "query",
"required": false,
"schema": {
"type": "string"
}
},
{
"name": "ruleCode",
"in": "query",
"required": false,
"schema": {
"type": "string"
}
},
{
"name": "from",
"in": "query",
"required": false,
"schema": {
"type": "string"
}
},
{
"name": "to",
"in": "query",
"required": false,
"schema": {
"type": "string"
}
}
]
}
},
"/admin/scoring/risk/rules": {
"get": {
"tags": [
"风险治理"
],
"operationId": "riskRules",
"summary": "风险规则列表(ADMIN)",
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponseListRiskRuleResponse"
}
}
}
}
}
}
},
"/admin/scoring/risk/rules/{ruleCode}": {
"put": {
"tags": [
"风险治理"
],
"operationId": "riskUpdateRule",
"summary": "更新风险规则(ADMIN)",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RiskRuleUpdateRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponseRiskRuleResponse"
}
}
}
}
}
}
},
"/admin/scoring/risk/events/{eventId}/actions": {
"post": {
"tags": [
"风险治理"
],
"operationId": "riskActionEvent",
"summary": "风险事件人工操作(ADMIN)",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RiskEventActionRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponseRiskEventResponse"
}
}
}
}
}
}
},
"/job-recommendation-taxonomies": {
"get": {
"tags": [
"岗位推荐"
],
"operationId": "recommendationTaxonomies",
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponseListTaxonomyResponse"
}
}
}
}
}
}
},
"/profile/me/job-recommendations": {
"get": {
"tags": [
"岗位推荐"
],
"operationId": "myJobRecommendations",
"parameters": [
{
"name": "page",
"in": "query",
"schema": {
"type": "integer"
}
},
{
"name": "size",
"in": "query",
"schema": {
"type": "integer"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponsePageJobRecommendationItem"
}
}
}
}
}
}
},
"/profile/me/job-recommendations/{jobId}/feedback": {
"post": {
"tags": [
"岗位推荐"
],
"operationId": "createRecommendationFeedback",
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RecommendationFeedbackRequest"
}
}
}
},
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponseRecommendationFeedbackResponse"
}
}
}
}
}
},
"delete": {
"tags": [
"岗位推荐"
],
"operationId": "revokeNotInterestedFeedback",
"parameters": [
{
"name": "expectedVersion",
"in": "query",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
}
],
"responses": {
"200": {
"description": "OK"
}
}
}
},
"/companies/me/jobs/{jobId}/recommendation-profile": {
"get": {
"tags": [
"岗位推荐"
],
"operationId": "companyRecommendationProfile",
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponseRecommendationProfileResponse"
}
}
}
}
}
},
"put": {
"tags": [
"岗位推荐"
],
"operationId": "updateCompanyRecommendationProfile",
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RecommendationProfileRequest"
}
}
}
},
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponseRecommendationProfileResponse"
}
}
}
}
}
}
},
"/admin/job-recommendation-profiles": {
"get": {
"tags": [
"岗位推荐"
],
"operationId": "adminRecommendationProfiles",
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponsePageRecommendationProfileResponse"
}
}
}
}
}
}
},
"/admin/job-recommendation-profiles/{jobId}/decision": {
"post": {
"tags": [
"岗位推荐"
],
"operationId": "decideRecommendationProfile",
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RecommendationDecisionRequest"
}
}
}
},
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponseRecommendationProfileResponse"
}
}
}
}
}
}
},
"/companies/me/job-reviews": {
"get": {
"tags": [
"企业评价管理"
],
"operationId": "listCompanyJobReviews",
"parameters": [
{
"name": "jobId",
"in": "query",
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "rating",
"in": "query",
"schema": {
"type": "integer"
}
},
{
"name": "reviewModerationStatus",
"in": "query",
"schema": {
"type": "string"
}
},
{
"name": "replyStatus",
"in": "query",
"schema": {
"type": "string"
}
},
{
"name": "createdFrom",
"in": "query",
"schema": {
"type": "string",
"format": "date-time"
}
},
{
"name": "createdTo",
"in": "query",
"schema": {
"type": "string",
"format": "date-time"
}
},
{
"name": "page",
"in": "query",
"schema": {
"type": "integer",
"default": 0
}
},
{
"name": "size",
"in": "query",
"schema": {
"type": "integer",
"default": 20
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponseReviewReplyPageResponse"
}
}
}
}
}
}
},
"/companies/me/job-reviews/{reviewId}": {
"get": {
"tags": [
"企业评价管理"
],
"operationId": "getCompanyJobReview",
"parameters": [
{
"name": "reviewId",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponseCompanyReviewDetailResponse"
}
}
}
}
}
}
},
"/companies/me/job-reviews/{reviewId}/reply": {
"post": {
"tags": [
"企业评价管理"
],
"operationId": "createCompanyReviewReply",
"parameters": [
{
"name": "reviewId",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateCompanyReviewReplyRequest"
}
}
}
},
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponseCompanyReviewReplyResponse"
}
}
}
}
}
},
"put": {
"tags": [
"企业评价管理"
],
"operationId": "reviseCompanyReviewReply",
"parameters": [
{
"name": "reviewId",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UpdateCompanyReviewReplyRequest"
}
}
}
},
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponseCompanyReviewReplyResponse"
}
}
}
}
}
}
},
"/admin/review-replies/pending": {
"get": {
"tags": [
"官方回复审核"
],
"operationId": "listPendingReviewReplies",
"parameters": [
{
"name": "companyId",
"in": "query",
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "jobId",
"in": "query",
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "riskLevel",
"in": "query",
"schema": {
"type": "string"
}
},
{
"name": "createdFrom",
"in": "query",
"schema": {
"type": "string",
"format": "date-time"
}
},
{
"name": "createdTo",
"in": "query",
"schema": {
"type": "string",
"format": "date-time"
}
},
{
"name": "page",
"in": "query",
"schema": {
"type": "integer",
"default": 0
}
},
{
"name": "size",
"in": "query",
"schema": {
"type": "integer",
"default": 20
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponseAdminReviewReplyPageResponse"
}
}
}
}
}
}
},
"/admin/review-replies/{replyId}/decision": {
"post": {
"tags": [
"官方回复审核"
],
"operationId": "decideReviewReply",
"parameters": [
{
"name": "replyId",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ReviewReplyDecisionRequest"
}
}
}
},
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponseAdminReviewReplyResponse"
}
}
}
}
}
}
},
"/profile/me/talent-discovery": {
"get": {
"tags": [
"企业人才发现"
],
"summary": "查询人才发现授权",
"responses": {
"200": {
"description": "成功",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponseTalentDiscoveryPreferenceResponse"
}
}
}
}
},
"security": [
{
"bearerAuth": []
}
]
},
"put": {
"tags": [
"企业人才发现"
],
"summary": "更新人才发现授权",
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TalentDiscoveryPreferenceUpdateRequest"
}
}
}
},
"responses": {
"200": {
"description": "成功",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponseTalentDiscoveryPreferenceResponse"
}
}
}
}
},
"security": [
{
"bearerAuth": []
}
]
}
},
"/companies/me/jobs/{jobId}/talent-recommendations": {
"get": {
"tags": [
"企业人才发现"
],
"summary": "查询岗位人才发现推荐",
"parameters": [
{
"name": "jobId",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "page",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"format": "int32",
"default": 0,
"minimum": 0
}
},
{
"name": "size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"format": "int32",
"default": 20,
"minimum": 1,
"maximum": 50
}
}
],
"responses": {
"200": {
"description": "成功",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponseTalentDiscoveryPageResponse"
}
}
}
}
},
"security": [
{
"bearerAuth": []
}
]
}
},
"/companies/me/jobs/{jobId}/talent-invitations": {
"post": {
"tags": [
"企业人才邀约"
],
"security": [
{
"bearerAuth": []
}
],
"summary": "创建人才邀约",
"parameters": [
{
"name": "jobId",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateTalentInvitationRequest"
}
}
}
},
"responses": {
"200": {
"description": "成功",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponseCompanyTalentInvitationResponse"
}
}
}
}
}
}
},
"/companies/me/talent-invitations": {
"get": {
"tags": [
"企业人才邀约"
],
"security": [
{
"bearerAuth": []
}
],
"summary": "企业邀约列表",
"parameters": [
{
"name": "page",
"in": "query",
"schema": {
"type": "integer",
"format": "int32",
"default": 0,
"minimum": 0
}
},
{
"name": "size",
"in": "query",
"schema": {
"type": "integer",
"format": "int32",
"default": 20,
"minimum": 1,
"maximum": 50
}
}
],
"responses": {
"200": {
"description": "成功",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponseCompanyTalentInvitationPageResponse"
}
}
}
}
}
}
},
"/companies/me/talent-invitations/{invitationId}": {
"get": {
"tags": [
"企业人才邀约"
],
"security": [
{
"bearerAuth": []
}
],
"summary": "企业邀约详情",
"parameters": [
{
"name": "invitationId",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
}
],
"responses": {
"200": {
"description": "成功",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponseCompanyTalentInvitationResponse"
}
}
}
}
}
}
},
"/profile/me/talent-invitations": {
"get": {
"tags": [
"企业人才邀约"
],
"security": [
{
"bearerAuth": []
}
],
"summary": "学生收到的邀约列表",
"parameters": [
{
"name": "page",
"in": "query",
"schema": {
"type": "integer",
"format": "int32",
"default": 0,
"minimum": 0
}
},
{
"name": "size",
"in": "query",
"schema": {
"type": "integer",
"format": "int32",
"default": 20,
"minimum": 1,
"maximum": 50
}
}
],
"responses": {
"200": {
"description": "成功",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponseStudentTalentInvitationPageResponse"
}
}
}
}
}
}
},
"/profile/me/talent-invitations/{invitationId}": {
"get": {
"tags": [
"企业人才邀约"
],
"security": [
{
"bearerAuth": []
}
],
"summary": "学生邀约详情",
"parameters": [
{
"name": "invitationId",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
}
],
"responses": {
"200": {
"description": "成功",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponseStudentTalentInvitationResponse"
}
}
}
}
}
}
},
"/profile/me/talent-invitations/{invitationId}/decision": {
"post": {
"tags": [
"企业人才邀约"
],
"security": [
{
"bearerAuth": []
}
],
"summary": "处理人才邀约",
"parameters": [
{
"name": "invitationId",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TalentInvitationDecisionRequest"
}
}
}
},
"responses": {
"200": {
"description": "成功",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponseStudentTalentInvitationResponse"
}
}
}
}
}
}
},
"/admin/scoring/fairness/overview": {
"get": {
"summary": "评分完整性概览(ADMIN)",
"parameters": [
{
"name": "period",
"in": "query",
"required": true,
"schema": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}$"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponseFairnessResponseOverview"
}
}
}
},
"401": {
"description": "未登录"
},
"403": {
"description": "非 ADMIN"
},
"400": {
"description": "非法 period"
}
}
}
},
"/admin/scoring/fairness/dimensions": {
"get": {
"summary": "评分维度分布(ADMIN)",
"parameters": [
{
"name": "period",
"in": "query",
"required": true,
"schema": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}$"
}
},
{
"name": "dimension",
"in": "query",
"required": false,
"schema": {
"type": "string",
"enum": [
"EDUCATION",
"INTERNSHIP",
"ABILITY",
"COMPLIANCE",
"STABILITY",
"GROWTH",
"INTEGRITY",
"ACTIVITY"
]
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponseFairnessResponseDimensions"
}
}
}
},
"401": {
"description": "未登录"
},
"403": {
"description": "非 ADMIN"
},
"400": {
"description": "非法参数"
}
}
}
},
"/admin/scoring/fairness/drift": {
"get": {
"summary": "评分历史漂移(ADMIN)",
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponseFairnessResponseUnavailable"
}
}
}
},
"401": {
"description": "未登录"
},
"403": {
"description": "非 ADMIN"
}
}
}
},
"/admin/scoring/fairness/ranking-stability": {
"get": {
"summary": "排名稳定性(ADMIN)",
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponseFairnessResponseUnavailable"
}
}
}
},
"401": {
"description": "未登录"
},
"403": {
"description": "非 ADMIN"
}
}
}
},
"/admin/scoring/fairness/appeals": {
"get": {
"summary": "申诉纠错聚合(ADMIN)",
"parameters": [
{
"name": "from",
"in": "query",
"required": false,
"schema": {
"type": "string",
"format": "date"
}
},
{
"name": "to",
"in": "query",
"required": false,
"schema": {
"type": "string",
"format": "date"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponseFairnessResponseAppeals"
}
}
}
},
"401": {
"description": "未登录"
},
"403": {
"description": "非 ADMIN"
},
"400": {
"description": "非法日期范围"
}
}
}
},
"/auth/refresh": {
"post": {
"tags": [
"认证"
],
"summary": "刷新 Token",
"description": "使用 Refresh Token 换取新的 Access/Refresh Token 对;旧 Refresh Token 立即失效",
"operationId": "refresh",
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RefreshTokenRequest"
}
}
}
},
"responses": {
"200": {
"description": "成功",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponseTokenPairResponse"
}
}
}
}
}
}
},
"/auth/logout": {
"post": {
"tags": [
"认证"
],
"summary": "登出",
"description": "撤销当前登录会话;需要 Access Token,不接受任何请求体",
"operationId": "logout",
"responses": {
"200": {
"description": "成功",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponseMapStringString"
}
}
}
}
}
}
},
"/company/candidates/{applicationId}/resume": {
"get": {
"tags": [
"投递"
],
"summary": "企业下载候选人简历",
"description": "按候选人隐私设置授权后返回简历文件流;不返回存储路径、学生 ID 或联系方式",
"operationId": "downloadCandidateResume",
"parameters": [
{
"name": "applicationId",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"type": "string",
"format": "byte"
}
}
}
}
}
}
},
"/auth/password/setup": {
"post": {
"tags": ["认证"],
"summary": "短信登录后首次设置密码",
"description": "必须携带当前 Access Token 与 login 登录返回的 10 分钟一次性 passwordSetupToken;成功后替换两枚 Token,验证码登录继续可用。",
"operationId": "setupPassword",
"security": [{"bearerAuth": []}],
"requestBody": {"required": true, "content": {"application/json": {"schema": {"$ref": "#/components/schemas/PasswordSetupRequest"}}}},
"responses": {"200": {"description": "OK", "content": {"*/*": {"schema": {"$ref": "#/components/schemas/ApiResponsePasswordSetupResponse"}}}}, "400": {"description": "参数或密码策略错误"}, "401": {"description": "会话或设置凭证无效"}, "409": {"description": "密码已设置"}, "429": {"description": "操作限流"}, "503": {"description": "安全依赖不可用"}}
}
},
"/auth/password/set": {
"post": {
"tags": [
"认证"
],
"summary": "首次设置密码",
"operationId": "setPassword",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PasswordSetRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponsePasswordOperationResponse"
}
}
}
}
}
}
},
"/auth/password/reset": {
"post": {
"tags": [
"认证"
],
"summary": "短信找回并重置密码",
"operationId": "resetPassword",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PasswordResetRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponsePasswordOperationResponse"
}
}
}
}
}
}
},
"/auth/password/login": {
"post": {
"tags": [
"认证"
],
"summary": "手机号密码登录",
"description": "使用手机号和密码登录,返回 Access/Refresh Token;不自动创建账号",
"operationId": "passwordLogin",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PasswordLoginRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseMapStringObject"
}
}
}
}
}
}
},
"/auth/password/change": {
"post": {
"tags": [
"认证"
],
"summary": "修改密码",
"operationId": "changePassword",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PasswordChangeRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponsePasswordOperationResponse"
}
}
}
}
}
}
},
"/auth/company/register": {
"post": {
"tags": [
"认证"
],
"summary": "企业注册",
"description": "使用 company-register 短信验证码创建企业账号和企业资料",
"operationId": "companyRegister",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CompanyRegistrationRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseCompanyRegistrationResponse"
}
}
}
}
}
}
},
"/companies/me/onboarding": {
"get": {
"tags": [
"企业"
],
"summary": "查询企业入驻状态",
"description": "返回当前企业资料、认证状态和允许动作",
"operationId": "getMyOnboarding",
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResponseCompanyOnboardingResponse"
}
}
}
}
}
}
},
"/onboarding/companies/{companyId}/knowledge": {
"get": {
"tags": [
"公司知识介绍"
],
"summary": "读取公司知识介绍",
"description": "STUDENT 读取企业基础资料、企业维护内容和公开评价摘要;企业未配置知识时回退基础资料,公开评价少于 3 条时不返回均值。",
"operationId": "getCompanyKnowledgeOverview",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "companyId",
"in": "path",
"required": true,
"description": "企业 ID",
"schema": {
"type": "integer",
"format": "int64",
"minimum": 1
}
}
],
"responses": {
"200": {
"description": "查询成功",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/LxqApiResponseCompanyKnowledgeOverviewResponse"
},
"example": {
"code": 200,
"message": "ok",
"data": {
"company": {
"id": 10,
"name": "示例科技",
"logoUrl": "https://cdn.example.com/company-10.png",
"description": "面向企业提供数据基础设施产品。",
"industry": "互联网",
"website": "https://example.com",
"address": "杭州市余杭区",
"verified": true
},
"knowledgeState": "CONFIGURED",
"knowledge": {
"culture": "以用户价值为中心,保持透明和长期主义。",
"workPolicies": "弹性上班;每周一、三线下办公。",
"onboardingGuide": "报到当天携带身份证件,联系行政同事完成入职登记。",
"updatedAt": "2026-09-17T01:33:00Z"
},
"reviewSummary": {
"state": "SUFFICIENT",
"totalReviews": 4,
"averageRating": 4.5,
"ratingDistribution": {
"rating1": 0,
"rating2": 0,
"rating3": 1,
"rating4": 1,
"rating5": 2
},
"topTags": [
"发展空间",
"同事友好"
],
"dimensionSummary": {
"AUTHENTICITY": {
"averageScore": 4.5,
"sampleCount": 4,
"dataState": "SUFFICIENT"
},
"BENEFITS": {
"averageScore": 4.3,
"sampleCount": 4,
"dataState": "SUFFICIENT"
},
"SALARY_TRANSPARENCY": {
"averageScore": 4.0,
"sampleCount": 4,
"dataState": "SUFFICIENT"
},
"JD_CLARITY": {
"averageScore": 4.6,
"sampleCount": 4,
"dataState": "SUFFICIENT"
},
"GROWTH": {
"averageScore": 4.4,
"sampleCount": 4,
"dataState": "SUFFICIENT"
},
"TEAM_ATMOSPHERE": {
"averageScore": 4.7,
"sampleCount": 4,
"dataState": "SUFFICIENT"
},
"PROMOTION": {
"averageScore": 4.1,
"sampleCount": 4,
"dataState": "SUFFICIENT"
},
"WORK_LIFE_BALANCE": {
"averageScore": 4.0,
"sampleCount": 4,
"dataState": "SUFFICIENT"
}
}
}
},
"requestId": "req-company-overview",
"timestamp": "2026-09-17T01:34:00Z"
}
}
}
},
"400": {
"description": "companyId 不是正整数",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/LxqApiResponse"
},
"example": {
"code": 1001,
"message": "bad request",
"data": null,
"requestId": "req-1001",
"timestamp": "2026-09-17T01:30:00Z"
}
}
}
},
"401": {
"description": "未登录或令牌无效,由全局 Security 入口返回裸 JSON",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/LxqUnauthorizedResponse"
},
"example": {
"code": 401,
"message": "not authenticated",
"timestamp": ""
}
}
}
},
"403": {
"description": "仅 STUDENT 角色可访问",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/LxqApiResponse"
},
"example": {
"code": 2002,
"message": "forbidden",
"data": null,
"requestId": "req-2002",
"timestamp": "2026-09-17T01:30:00Z"
}
}
}
},
"404": {
"description": "企业不存在",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/LxqApiResponse"
},
"example": {
"code": 5001,
"message": "company not found",
"data": null,
"requestId": "req-5001",
"timestamp": "2026-09-17T01:30:00Z"
}
}
}
}
}
}
},
"/salary-calculator/cities/{cityCode}": {
"get": {
"tags": [
"薪资计算器"
],
"summary": "查询城市默认参数",
"description": "仅 STUDENT;未发布或未启用政策返回 404/10601,不返回参数",
"operationId": "getSalaryCity",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "cityCode",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "成功",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/LxqApiResponseSalaryCityDetailResponse"
}
}
}
},
"401": {
"description": "未认证"
},
"403": {
"description": "非 STUDENT"
},
"404": {
"description": "城市不存在或停用"
}
}
}
},
"/salary-calculator/cities": {
"get": {
"tags": [
"薪资计算器"
],
"summary": "查询启用城市列表",
"description": "仅 STUDENT;仅返回已核验发布白名单中的启用城市版本;默认空列表,不分页",
"operationId": "listSalaryCities",
"security": [
{
"bearerAuth": []
}
],
"responses": {
"200": {
"description": "成功",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/LxqApiResponseListSalaryCitySummaryResponse"
}
}
}
},
"401": {
"description": "未认证"
},
"403": {
"description": "非 STUDENT"
}
}
}
},
"/salary-calculator/calculations/{id}": {
"get": {
"tags": [
"薪资计算器"
],
"summary": "查询本人薪资历史详情",
"operationId": "getSalaryCalculation",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
}
],
"responses": {
"200": {
"description": "成功",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/LxqApiResponseSalaryHistoryDetailResponse"
}
}
}
},
"401": {
"description": "未认证"
},
"403": {
"description": "非 STUDENT"
},
"404": {
"description": "历史不存在或无权访问"
}
}
},
"delete": {
"tags": [
"薪资计算器"
],
"summary": "删除本人薪资历史",
"operationId": "deleteSalaryCalculation",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
}
],
"responses": {
"200": {
"description": "成功",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/LxqApiResponseVoid"
}
}
}
},
"401": {
"description": "未认证"
},
"403": {
"description": "非 STUDENT"
},
"404": {
"description": "历史不存在或无权访问"
}
}
}
},
"/onboarding/company/checklist-items/{itemId}": {
"put": {
"tags": [
"入职清单"
],
"summary": "更新本企业自定义清单项",
"description": "使用当前 version 更新本企业条目;版本过期返回 10502,不静默覆盖。",
"operationId": "updateCompanyChecklistItem",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "itemId",
"in": "path",
"required": true,
"description": "企业自定义清单项 ID",
"schema": {
"type": "integer",
"format": "int64",
"minimum": 1
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/LxqCompanyChecklistItemUpdateRequest"
},
"example": {
"title": "领取门禁卡并激活",
"description": "到行政前台领取门禁卡并完成权限激活。",
"category": "ADMIN",
"sortOrder": 900,
"required": true,
"active": true,
"version": 0
}
}
}
},
"responses": {
"200": {
"description": "更新成功并递增 version",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/LxqApiResponseCompanyChecklistItemView"
},
"example": {
"code": 200,
"message": "ok",
"data": {
"itemId": 501,
"source": "COMPANY",
"itemKey": "company-10-8f1c",
"title": "领取门禁卡",
"description": "到行政前台领取门禁卡并完成权限激活。",
"category": "ADMIN",
"required": false,
"sortOrder": 1000,
"active": true,
"version": 0
},
"requestId": "req-onboarding-company-item",
"timestamp": "2026-09-17T01:32:00Z"
}
}
}
},
"400": {
"description": "参数或请求体验证失败",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/LxqApiResponse"
},
"example": {
"code": 1001,
"message": "bad request",
"data": null,
"requestId": "req-1001",
"timestamp": "2026-09-17T01:30:00Z"
}
}
}
},
"401": {
"description": "未登录或令牌无效,由全局 Security 入口返回裸 JSON",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/LxqUnauthorizedResponse"
},
"example": {
"code": 401,
"message": "not authenticated",
"timestamp": ""
}
}
}
},
"403": {
"description": "仅 COMPANY 角色可访问 COMPANY_NOT_VERIFIED: business code 5004; companies.verified must be true.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/LxqApiResponse"
},
"example": {
"code": 2002,
"message": "forbidden",
"data": null,
"requestId": "req-2002",
"timestamp": "2026-09-17T01:30:00Z"
}
}
}
},
"404": {
"description": "条目不存在、已不属于该企业,或不属于该企业的有效清单",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/LxqApiResponse"
},
"example": {
"code": 10501,
"message": "onboarding checklist item not found",
"data": null,
"requestId": "req-10501",
"timestamp": "2026-09-17T01:30:00Z"
}
}
}
},
"409": {
"description": "请求 version 已过期",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/LxqApiResponse"
},
"example": {
"code": 10502,
"message": "onboarding checklist item was modified concurrently",
"data": null,
"requestId": "req-10502",
"timestamp": "2026-09-17T01:30:00Z"
}
}
}
}
}
},
"delete": {
"tags": [
"入职清单"
],
"summary": "软删除本企业自定义清单项",
"description": "使用当前 version 将 active 置为 false;重复删除保持幂等成功。",
"operationId": "deleteCompanyChecklistItem",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "itemId",
"in": "path",
"required": true,
"description": "企业自定义清单项 ID",
"schema": {
"type": "integer",
"format": "int64",
"minimum": 1
}
},
{
"name": "version",
"in": "query",
"required": true,
"description": "客户端最后读取到的条目版本",
"schema": {
"type": "integer",
"format": "int64",
"minimum": 0
}
}
],
"responses": {
"200": {
"description": "软删除成功;重复删除返回当前非活动条目",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/LxqApiResponseCompanyChecklistItemView"
},
"example": {
"code": 200,
"message": "ok",
"data": {
"itemId": 501,
"source": "COMPANY",
"itemKey": "company-10-8f1c",
"title": "领取门禁卡",
"description": "到行政前台领取门禁卡并完成权限激活。",
"category": "ADMIN",
"required": false,
"sortOrder": 1000,
"active": false,
"version": 1
},
"requestId": "req-onboarding-company-item",
"timestamp": "2026-09-17T01:32:00Z"
}
}
}
},
"400": {
"description": "缺少 version 或参数类型不正确",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/LxqApiResponse"
},
"example": {
"code": 1001,
"message": "bad request",
"data": null,
"requestId": "req-1001",
"timestamp": "2026-09-17T01:30:00Z"
}
}
}
},
"401": {
"description": "未登录或令牌无效,由全局 Security 入口返回裸 JSON",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/LxqUnauthorizedResponse"
},
"example": {
"code": 401,
"message": "not authenticated",
"timestamp": ""
}
}
}
},
"403": {
"description": "仅 COMPANY 角色可访问 COMPANY_NOT_VERIFIED: business code 5004; companies.verified must be true.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/LxqApiResponse"
},
"example": {
"code": 2002,
"message": "forbidden",
"data": null,
"requestId": "req-2002",
"timestamp": "2026-09-17T01:30:00Z"
}
}
}
},
"404": {
"description": "条目不存在、已不属于该企业,或不属于该企业的有效清单",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/LxqApiResponse"
},
"example": {
"code": 10501,
"message": "onboarding checklist item not found",
"data": null,
"requestId": "req-10501",
"timestamp": "2026-09-17T01:30:00Z"
}
}
}
},
"409": {
"description": "请求 version 已过期",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/LxqApiResponse"
},
"example": {
"code": 10502,
"message": "onboarding checklist item was modified concurrently",
"data": null,
"requestId": "req-10502",
"timestamp": "2026-09-17T01:30:00Z"
}
}
}
}
}
}
},
"/skills/match": {
"get": {
"tags": [
"行业技能词云"
],
"summary": "查询个人技能匹配度",
"description": "使用 JWT 对应学生的 skills_json,与当前筛选结果 TOP10 比对;matchScore=round(matchedCount*100/min(10,total))。仅 STUDENT 可访问。",
"operationId": "getSkillMatch",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "industryId",
"in": "query",
"required": true,
"description": "行业 ID,必填正整数",
"schema": {
"type": "integer",
"format": "int64",
"minimum": 1,
"example": 1
}
},
{
"name": "occupationId",
"in": "query",
"required": true,
"description": "职位 ID,必填正整数;必须属于该行业",
"schema": {
"type": "integer",
"format": "int64",
"minimum": 1,
"example": 2
}
},
{
"name": "categoryId",
"in": "query",
"required": false,
"description": "技能分类 ID,可选正整数;省略时使用该职位下全部技能",
"schema": {
"type": "integer",
"format": "int64",
"minimum": 1,
"example": 101
}
}
],
"responses": {
"200": {
"description": "成功返回个人技能匹配结果",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/LxqApiResponseSkillMatchResponse"
},
"example": {
"code": 200,
"message": "ok",
"data": {
"matchScore": 50,
"matchedCount": 1,
"totalCount": 2,
"matchedSkills": [
{
"rank": 1,
"skillId": 26,
"skillCode": "REACT",
"nameZh": "React",
"nameEn": "React",
"sourceType": "O*NET",
"sourceCode": "15-1254.00|React|2.E.7.h",
"categoryId": 103,
"categoryName": "前端框架",
"heat": 4.38,
"heatSourceCode": "15-1254.00",
"heatElementId": "2.E.7.h",
"heatProxy": true
}
],
"missingSkills": [
{
"rank": 2,
"skillId": 31,
"skillCode": "DOCKER",
"nameZh": "Docker",
"nameEn": "Docker",
"sourceType": "O*NET",
"sourceCode": "15-1299.08|Docker|2.E.7.h",
"categoryId": 105,
"categoryName": "工程化工具",
"heat": 4.12,
"heatSourceCode": "15-1299.08",
"heatElementId": "2.E.7.h",
"heatProxy": true
}
]
},
"requestId": "req-match",
"timestamp": "2026-09-15T10:01:00Z"
}
}
}
},
"400": {
"description": "筛选参数缺失、非正整数或节点关系非法",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/LxqApiResponse"
},
"example": {
"code": 1001,
"message": "bad request",
"data": null,
"requestId": "req-1001",
"timestamp": "2026-09-15T10:03:00Z"
}
}
}
},
"401": {
"description": "未登录或令牌无效,由全局 Security 入口返回裸 JSON",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/LxqUnauthorizedResponse"
},
"example": {
"code": 401,
"message": "not authenticated",
"timestamp": ""
}
}
}
},
"403": {
"description": "已登录但不是 STUDENT 角色",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/LxqApiResponse"
},
"example": {
"code": 2002,
"message": "forbidden",
"data": null,
"requestId": "req-2002",
"timestamp": "2026-09-15T10:03:00Z"
}
}
}
}
}
}
},
"/skills/learning-path": {
"get": {
"tags": [
"行业技能词云"
],
"summary": "生成个人学习路径",
"description": "只针对个人 TOP10 中未命中的技能,沿用热度顺序返回连续 priority 和确定性通用建议;不调用 AI,不返回课程链接、时长或进度。仅 STUDENT 可访问。",
"operationId": "getLearningPath",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "industryId",
"in": "query",
"required": true,
"description": "行业 ID,必填正整数",
"schema": {
"type": "integer",
"format": "int64",
"minimum": 1,
"example": 1
}
},
{
"name": "occupationId",
"in": "query",
"required": true,
"description": "职位 ID,必填正整数;必须属于该行业",
"schema": {
"type": "integer",
"format": "int64",
"minimum": 1,
"example": 2
}
},
{
"name": "categoryId",
"in": "query",
"required": false,
"description": "技能分类 ID,可选正整数;省略时使用该职位下全部技能",
"schema": {
"type": "integer",
"format": "int64",
"minimum": 1,
"example": 101
}
}
],
"responses": {
"200": {
"description": "成功返回缺失技能的学习路径;没有缺口时列表为空",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/LxqApiResponseSkillLearningPathResponse"
},
"example": {
"code": 200,
"message": "ok",
"data": {
"total": 1,
"items": [
{
"priority": 1,
"skillId": 26,
"skillName": "React",
"categoryId": 103,
"categoryName": "前端框架",
"suggestion": "先理解 React 的核心概念与生命周期,再通过一个小型项目练习集成。"
}
]
},
"requestId": "req-learning-path",
"timestamp": "2026-09-15T10:02:00Z"
}
}
}
},
"400": {
"description": "筛选参数缺失、非正整数或节点关系非法",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/LxqApiResponse"
},
"example": {
"code": 1001,
"message": "bad request",
"data": null,
"requestId": "req-1001",
"timestamp": "2026-09-15T10:03:00Z"
}
}
}
},
"401": {
"description": "未登录或令牌无效,由全局 Security 入口返回裸 JSON",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/LxqUnauthorizedResponse"
},
"example": {
"code": 401,
"message": "not authenticated",
"timestamp": ""
}
}
}
},
"403": {
"description": "已登录但不是 STUDENT 角色",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/LxqApiResponse"
},
"example": {
"code": 2002,
"message": "forbidden",
"data": null,
"requestId": "req-2002",
"timestamp": "2026-09-15T10:03:00Z"
}
}
}
}
}
}
},
"/onboarding/companies/{companyId}/checklist": {
"get": {
"tags": [
"入职清单"
],
"summary": "读取有效入职清单",
"description": "STUDENT 读取通用活动项与当前企业活动自定义项的合并清单;无企业自定义项时回退通用清单。",
"operationId": "getEffectiveChecklist",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "companyId",
"in": "path",
"required": true,
"description": "企业 ID",
"schema": {
"type": "integer",
"format": "int64",
"minimum": 1
}
}
],
"responses": {
"200": {
"description": "查询成功",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/LxqApiResponseEffectiveChecklistResponse"
},
"example": {
"code": 200,
"message": "ok",
"data": {
"companyId": 10,
"companyName": "示例科技",
"customized": true,
"totalItems": 13,
"completedItems": 1,
"completionRate": 7.7,
"items": [
{
"itemId": 101,
"source": "STANDARD",
"itemKey": "standard-id-card",
"title": "准备身份证件",
"description": "准备身份证原件或有效身份证明,用于入职登记。",
"category": "DOCUMENT",
"required": true,
"sortOrder": 100,
"active": true,
"completed": true,
"completedAt": "2026-09-17T09:00:00",
"progressVersion": 1
},
{
"itemId": 501,
"source": "COMPANY",
"itemKey": "company-10-8f1c",
"title": "领取门禁卡",
"description": "到行政前台领取门禁卡并完成权限激活。",
"category": "ADMIN",
"required": false,
"sortOrder": 1000,
"active": true,
"completed": false,
"completedAt": null,
"progressVersion": 0
}
]
},
"requestId": "req-onboarding-checklist",
"timestamp": "2026-09-17T01:30:00Z"
}
}
}
},
"400": {
"description": "companyId 不是正整数",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/LxqApiResponse"
},
"example": {
"code": 1001,
"message": "bad request",
"data": null,
"requestId": "req-1001",
"timestamp": "2026-09-17T01:30:00Z"
}
}
}
},
"401": {
"description": "未登录或令牌无效,由全局 Security 入口返回裸 JSON",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/LxqUnauthorizedResponse"
},
"example": {
"code": 401,
"message": "not authenticated",
"timestamp": ""
}
}
}
},
"403": {
"description": "仅 STUDENT 角色可访问",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/LxqApiResponse"
},
"example": {
"code": 2002,
"message": "forbidden",
"data": null,
"requestId": "req-2002",
"timestamp": "2026-09-17T01:30:00Z"
}
}
}
},
"404": {
"description": "企业不存在",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/LxqApiResponse"
},
"example": {
"code": 5001,
"message": "company not found",
"data": null,
"requestId": "req-5001",
"timestamp": "2026-09-17T01:30:00Z"
}
}
}
}
}
}
},
"/onboarding/company/knowledge": {
"get": {
"tags": [
"公司知识介绍"
],
"summary": "读取本企业知识配置",
"description": "返回当前 COMPANY 所属企业的知识配置;尚未配置时 configured=false、version=0。",
"operationId": "getCompanyKnowledge",
"security": [
{
"bearerAuth": []
}
],
"parameters": [],
"responses": {
"200": {
"description": "查询成功",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/LxqApiResponseCompanyKnowledgeView"
},
"example": {
"code": 200,
"message": "ok",
"data": {
"configured": true,
"culture": "以用户价值为中心,保持透明和长期主义。",
"workPolicies": "弹性上班;每周一、三线下办公。",
"onboardingGuide": "报到当天携带身份证件,联系行政同事完成入职登记。",
"updatedAt": "2026-09-17T01:33:00Z",
"version": 2
},
"requestId": "req-company-knowledge",
"timestamp": "2026-09-17T01:33:00Z"
}
}
}
},
"401": {
"description": "未登录或令牌无效,由全局 Security 入口返回裸 JSON",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/LxqUnauthorizedResponse"
},
"example": {
"code": 401,
"message": "not authenticated",
"timestamp": ""
}
}
}
},
"403": {
"description": "仅 COMPANY 角色可访问 COMPANY_NOT_VERIFIED: business code 5004; companies.verified must be true.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/LxqApiResponse"
},
"example": {
"code": 2002,
"message": "forbidden",
"data": null,
"requestId": "req-2002",
"timestamp": "2026-09-17T01:30:00Z"
}
}
}
},
"404": {
"description": "当前账号没有所属企业",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/LxqApiResponse"
},
"example": {
"code": 5001,
"message": "company not found",
"data": null,
"requestId": "req-5001",
"timestamp": "2026-09-17T01:30:00Z"
}
}
}
}
}
},
"put": {
"tags": [
"公司知识介绍"
],
"summary": "创建或更新本企业知识配置",
"description": "首次创建可省略 version;已有配置必须提交当前 version。字段按纯文本保存且禁止 HTML 标签。",
"operationId": "upsertCompanyKnowledge",
"security": [
{
"bearerAuth": []
}
],
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/LxqCompanyKnowledgeUpdateRequest"
},
"example": {
"culture": "以用户价值为中心,保持透明和长期主义。",
"workPolicies": "弹性上班;每周一、三线下办公。",
"onboardingGuide": "报到当天携带身份证件,联系行政同事完成入职登记。",
"version": 1
}
}
}
},
"responses": {
"200": {
"description": "创建或更新成功",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/LxqApiResponseCompanyKnowledgeView"
},
"example": {
"code": 200,
"message": "ok",
"data": {
"configured": true,
"culture": "以用户价值为中心,保持透明和长期主义。",
"workPolicies": "弹性上班;每周一、三线下办公。",
"onboardingGuide": "报到当天携带身份证件,联系行政同事完成入职登记。",
"updatedAt": "2026-09-17T01:33:00Z",
"version": 2
},
"requestId": "req-company-knowledge",
"timestamp": "2026-09-17T01:33:00Z"
}
}
}
},
"400": {
"description": "内容为空、超长、包含 HTML 标签,或已有配置缺少 version",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/LxqApiResponse"
},
"example": {
"code": 1001,
"message": "bad request",
"data": null,
"requestId": "req-1001",
"timestamp": "2026-09-17T01:30:00Z"
}
}
}
},
"401": {
"description": "未登录或令牌无效,由全局 Security 入口返回裸 JSON",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/LxqUnauthorizedResponse"
},
"example": {
"code": 401,
"message": "not authenticated",
"timestamp": ""
}
}
}
},
"403": {
"description": "仅 COMPANY 角色可访问 COMPANY_NOT_VERIFIED: business code 5004; companies.verified must be true.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/LxqApiResponse"
},
"example": {
"code": 2002,
"message": "forbidden",
"data": null,
"requestId": "req-2002",
"timestamp": "2026-09-17T01:30:00Z"
}
}
}
},
"404": {
"description": "当前账号没有所属企业",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/LxqApiResponse"
},
"example": {
"code": 5001,
"message": "company not found",
"data": null,
"requestId": "req-5001",
"timestamp": "2026-09-17T01:30:00Z"
}
}
}
},
"409": {
"description": "知识配置版本已过期",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/LxqApiResponse"
},
"example": {
"code": 10506,
"message": "company knowledge was modified concurrently",
"data": null,
"requestId": "req-10506",
"timestamp": "2026-09-17T01:30:00Z"
}
}
}
}
}
}
},
"/salary-calculator/calculations": {
"post": {
"tags": [
"薪资计算器"
],
"summary": "计算并保存到手工资",
"description": "仅 STUDENT;未发布政策返回 404/10601,幂等重放不可绕过发布门禁;本人历史查询不受影响",
"operationId": "calculateSalary",
"security": [
{
"bearerAuth": []
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/LxqSalaryCalculationRequest"
}
}
}
},
"responses": {
"200": {
"description": "成功",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/LxqApiResponseSalaryCalculationResponse"
}
}
}
},
"400": {
"description": "参数非法"
},
"401": {
"description": "未认证"
},
"403": {
"description": "非 STUDENT"
},
"404": {
"description": "城市不存在或停用"
},
"409": {
"description": "幂等或政策版本冲突"
}
}
},
"get": {
"tags": [
"薪资计算器"
],
"summary": "查询本人薪资历史",
"operationId": "listSalaryCalculations",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "page",
"in": "query",
"schema": {
"type": "integer",
"default": 0
}
},
{
"name": "size",
"in": "query",
"schema": {
"type": "integer",
"default": 20,
"maximum": 100
}
}
],
"responses": {
"200": {
"description": "成功",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/LxqApiResponsePageResponseSalaryHistorySummaryResponse"
}
}
}
},
"400": {
"description": "分页参数非法"
},
"401": {
"description": "未认证"
},
"403": {
"description": "非 STUDENT"
}
}
}
},
"/onboarding/company/checklist-items": {
"get": {
"tags": [
"入职清单"
],
"summary": "查询本企业自定义清单项",
"description": "返回当前 COMPANY 所属企业的活动与软删除自定义项,不包含通用项和其他企业项。",
"operationId": "listCompanyChecklistItems",
"security": [
{
"bearerAuth": []
}
],
"parameters": [],
"responses": {
"200": {
"description": "查询成功;无自定义项时返回空数组",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/LxqApiResponseListCompanyChecklistItemView"
},
"example": {
"code": 200,
"message": "ok",
"data": [
{
"itemId": 501,
"source": "COMPANY",
"itemKey": "company-10-8f1c",
"title": "领取门禁卡",
"description": "到行政前台领取门禁卡并完成权限激活。",
"category": "ADMIN",
"required": false,
"sortOrder": 1000,
"active": true,
"version": 0
}
],
"requestId": "req-onboarding-company-items",
"timestamp": "2026-09-17T01:32:00Z"
}
}
}
},
"401": {
"description": "未登录或令牌无效,由全局 Security 入口返回裸 JSON",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/LxqUnauthorizedResponse"
},
"example": {
"code": 401,
"message": "not authenticated",
"timestamp": ""
}
}
}
},
"403": {
"description": "仅 COMPANY 角色可访问 COMPANY_NOT_VERIFIED: business code 5004; companies.verified must be true.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/LxqApiResponse"
},
"example": {
"code": 2002,
"message": "forbidden",
"data": null,
"requestId": "req-2002",
"timestamp": "2026-09-17T01:30:00Z"
}
}
}
},
"404": {
"description": "当前账号没有所属企业",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/LxqApiResponse"
},
"example": {
"code": 5001,
"message": "company not found",
"data": null,
"requestId": "req-5001",
"timestamp": "2026-09-17T01:30:00Z"
}
}
}
}
}
},
"post": {
"tags": [
"入职清单"
],
"summary": "创建本企业自定义清单项",
"description": "为当前 COMPANY 所属企业创建自定义项;idempotencyKey 用于网络重试,活动项累计不超过 50 条。",
"operationId": "createCompanyChecklistItem",
"security": [
{
"bearerAuth": []
}
],
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/LxqCompanyChecklistItemCreateRequest"
},
"example": {
"title": "领取门禁卡",
"description": "到行政前台领取门禁卡并完成权限激活。",
"category": "ADMIN",
"sortOrder": 1000,
"required": false,
"idempotencyKey": "company-10-access-card-20260917"
}
}
}
},
"responses": {
"200": {
"description": "创建成功;相同幂等请求返回首次创建的条目",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/LxqApiResponseCompanyChecklistItemView"
},
"example": {
"code": 200,
"message": "ok",
"data": {
"itemId": 501,
"source": "COMPANY",
"itemKey": "company-10-8f1c",
"title": "领取门禁卡",
"description": "到行政前台领取门禁卡并完成权限激活。",
"category": "ADMIN",
"required": false,
"sortOrder": 1000,
"active": true,
"version": 0
},
"requestId": "req-onboarding-company-item",
"timestamp": "2026-09-17T01:32:00Z"
}
}
}
},
"400": {
"description": "标题、分类、排序、必填标记或幂等键不符合约束",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/LxqApiResponse"
},
"example": {
"code": 1001,
"message": "bad request",
"data": null,
"requestId": "req-1001",
"timestamp": "2026-09-17T01:30:00Z"
}
}
}
},
"401": {
"description": "未登录或令牌无效,由全局 Security 入口返回裸 JSON",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/LxqUnauthorizedResponse"
},
"example": {
"code": 401,
"message": "not authenticated",
"timestamp": ""
}
}
}
},
"403": {
"description": "仅 COMPANY 角色可访问 COMPANY_NOT_VERIFIED: business code 5004; companies.verified must be true.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/LxqApiResponse"
},
"example": {
"code": 2002,
"message": "forbidden",
"data": null,
"requestId": "req-2002",
"timestamp": "2026-09-17T01:30:00Z"
}
}
}
},
"404": {
"description": "当前账号没有所属企业",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/LxqApiResponse"
},
"example": {
"code": 5001,
"message": "company not found",
"data": null,
"requestId": "req-5001",
"timestamp": "2026-09-17T01:30:00Z"
}
}
}
},
"409": {
"description": "活动自定义项已达到 50 条;或 10504 幂等键已用于不同请求体",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/LxqApiResponse"
},
"example": {
"code": 10503,
"message": "onboarding checklist item limit exceeded",
"data": null,
"requestId": "req-10503",
"timestamp": "2026-09-17T01:30:00Z"
}
}
}
}
}
}
},
"/skills/word-cloud": {
"get": {
"tags": [
"行业技能词云"
],
"summary": "查询行业技能词云",
"description": "返回筛选范围内的全部技能,按 heat DESC, nameZh ASC, skillId ASC 排序,heat=null 最后;前端取前十条作为 TOP10。仅 STUDENT 可访问。",
"operationId": "getWordCloud",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "industryId",
"in": "query",
"required": true,
"description": "行业 ID,必填正整数",
"schema": {
"type": "integer",
"format": "int64",
"minimum": 1,
"example": 1
}
},
{
"name": "occupationId",
"in": "query",
"required": true,
"description": "职位 ID,必填正整数;必须属于该行业",
"schema": {
"type": "integer",
"format": "int64",
"minimum": 1,
"example": 2
}
},
{
"name": "categoryId",
"in": "query",
"required": false,
"description": "技能分类 ID,可选正整数;省略时返回该职位下全部分类",
"schema": {
"type": "integer",
"format": "int64",
"minimum": 1,
"example": 101
}
}
],
"responses": {
"200": {
"description": "成功返回筛选范围内的完整技能列表",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/LxqApiResponseSkillCloudResponse"
},
"example": {
"code": 200,
"message": "ok",
"data": {
"industry": {
"id": 1,
"code": "INTERNET",
"name": "互联网"
},
"occupation": {
"id": 1,
"code": "FRONTEND_DEVELOPER",
"name": "前端开发工程师"
},
"category": null,
"total": 1,
"items": [
{
"rank": 1,
"skillId": 26,
"skillCode": "REACT",
"nameZh": "React",
"nameEn": "React",
"sourceType": "O*NET",
"sourceCode": "15-1254.00|React|2.E.7.h",
"categoryId": 103,
"categoryName": "前端框架",
"heat": 4.38,
"heatSourceCode": "15-1254.00",
"heatElementId": "2.E.7.h",
"heatProxy": true
}
]
},
"requestId": "req-word-cloud",
"timestamp": "2026-09-15T10:00:00Z"
}
}
}
},
"400": {
"description": "筛选参数缺失、非正整数或节点关系非法",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/LxqApiResponse"
},
"example": {
"code": 1001,
"message": "bad request",
"data": null,
"requestId": "req-1001",
"timestamp": "2026-09-15T10:03:00Z"
}
}
}
},
"401": {
"description": "未登录或令牌无效,由全局 Security 入口返回裸 JSON",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/LxqUnauthorizedResponse"
},
"example": {
"code": 401,
"message": "not authenticated",
"timestamp": ""
}
}
}
},
"403": {
"description": "已登录但不是 STUDENT 角色",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/LxqApiResponse"
},
"example": {
"code": 2002,
"message": "forbidden",
"data": null,
"requestId": "req-2002",
"timestamp": "2026-09-15T10:03:00Z"
}
}
}
}
}
}
},
"/onboarding/companies/{companyId}/checklist/items/{itemId}/completion": {
"put": {
"tags": [
"入职清单"
],
"summary": "更新清单条目完成状态",
"description": "STUDENT 使用绝对 completed 状态更新本人进度;已有进度变化时必须提交当前 version,首次创建只接受 version=0 或空。",
"operationId": "updateCompletion",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "companyId",
"in": "path",
"required": true,
"description": "企业 ID",
"schema": {
"type": "integer",
"format": "int64",
"minimum": 1
}
},
{
"name": "itemId",
"in": "path",
"required": true,
"description": "有效清单条目 ID",
"schema": {
"type": "integer",
"format": "int64",
"minimum": 1
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/LxqProgressUpdateRequest"
},
"example": {
"completed": true,
"version": 0
}
}
}
},
"responses": {
"200": {
"description": "更新成功;重复提交相同状态返回幂等结果",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/LxqApiResponseProgressUpdateResponse"
},
"example": {
"code": 200,
"message": "ok",
"data": {
"itemId": 501,
"completed": true,
"completedAt": "2026-09-17T01:31:00Z",
"progressVersion": 1,
"totalItems": 13,
"completedItems": 2,
"completionRate": 15.4
},
"requestId": "req-onboarding-progress",
"timestamp": "2026-09-17T01:31:00Z"
}
}
}
},
"400": {
"description": "completed 缺失或 version 为负数",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/LxqApiResponse"
},
"example": {
"code": 1001,
"message": "bad request",
"data": null,
"requestId": "req-1001",
"timestamp": "2026-09-17T01:30:00Z"
}
}
}
},
"401": {
"description": "未登录或令牌无效,由全局 Security 入口返回裸 JSON",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/LxqUnauthorizedResponse"
},
"example": {
"code": 401,
"message": "not authenticated",
"timestamp": ""
}
}
}
},
"403": {
"description": "仅 STUDENT 角色可访问",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/LxqApiResponse"
},
"example": {
"code": 2002,
"message": "forbidden",
"data": null,
"requestId": "req-2002",
"timestamp": "2026-09-17T01:30:00Z"
}
}
}
},
"404": {
"description": "条目不存在、已不属于该企业,或不属于该企业的有效清单",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/LxqApiResponse"
},
"example": {
"code": 10501,
"message": "onboarding checklist item not found",
"data": null,
"requestId": "req-10501",
"timestamp": "2026-09-17T01:30:00Z"
}
}
}
},
"409": {
"description": "进度版本已过期",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/LxqApiResponse"
},
"example": {
"code": 10505,
"message": "onboarding progress was modified concurrently",
"data": null,
"requestId": "req-10505",
"timestamp": "2026-09-17T01:30:00Z"
}
}
}
}
}
}
}
},
"components": {
"schemas": {
"IdentitySelectionRequest": {
"type": "object",
"required": [
"identity"
],
"properties": {
"identity": {
"type": "string",
"enum": [
"STUDENT",
"COMPANY"
]
},
"company": {
"$ref": "#/components/schemas/CompanyDetails"
}
}
},
"IdentitySelectionResponse": {
"type": "object",
"properties": {
"userId": {
"type": "integer",
"format": "int64"
},
"role": {
"type": "string"
},
"identitySelectionRequired": {
"type": "boolean"
},
"companyId": {
"type": "integer",
"format": "int64"
},
"onboardingStatus": {
"type": "string"
},
"accessToken": {
"type": "string"
},
"refreshToken": {
"type": "string"
},
"expiresIn": {
"type": "integer",
"format": "int64"
},
"reauthenticationRequired": {
"type": "boolean"
}
}
},
"ApiResponseIdentitySelectionResponse": {
"type": "object",
"properties": {
"code": {
"type": "integer",
"format": "int32"
},
"message": {
"type": "string"
},
"data": {
"$ref": "#/components/schemas/IdentitySelectionResponse"
},
"requestId": {
"type": "string"
},
"timestamp": {
"type": "string",
"format": "date-time"
}
}
},
"TaxonomyResponse": {
"type": "object",
"properties": {
"code": {
"type": "string"
},
"parentCode": {
"type": "string"
},
"type": {
"type": "string"
},
"displayName": {
"type": "string"
}
}
},
"RecommendationFeedbackRequest": {
"type": "object",
"required": [
"feedbackType",
"idempotencyKey",
"expectedVersion"
],
"properties": {
"feedbackType": {
"type": "string"
},
"reasonType": {
"type": "string"
},
"idempotencyKey": {
"type": "string"
},
"expectedVersion": {
"type": "integer",
"format": "int64"
}
}
},
"RecommendationProfileRequest": {
"type": "object",
"required": [
"industryCode",
"jobFamilyCode",
"enabled",
"expectedVersion"
],
"properties": {
"industryCode": {
"type": "string"
},
"jobFamilyCode": {
"type": "string"
},
"riasecWeights": {
"type": "object",
"additionalProperties": {
"type": "integer"
}
},
"abilityExpectations": {
"type": "object",
"additionalProperties": {
"type": "integer"
}
},
"enabled": {
"type": "boolean"
},
"expectedVersion": {
"type": "integer",
"format": "int64"
}
}
},
"RecommendationDecisionRequest": {
"type": "object",
"required": [
"decision",
"expectedVersion"
],
"properties": {
"decision": {
"type": "string",
"enum": [
"APPROVE",
"REJECT"
]
},
"reasonCode": {
"type": "string"
},
"expectedVersion": {
"type": "integer",
"format": "int64"
}
}
},
"RecommendationProfileResponse": {
"type": "object",
"properties": {
"jobId": {
"type": "integer",
"format": "int64"
},
"industryCode": {
"type": "string"
},
"jobFamilyCode": {
"type": "string"
},
"riasecWeights": {
"type": "object",
"additionalProperties": {
"type": "integer"
}
},
"abilityExpectations": {
"type": "object",
"additionalProperties": {
"type": "integer"
}
},
"enabled": {
"type": "boolean"
},
"reviewStatus": {
"type": "string"
},
"reviewReason": {
"type": "string"
},
"version": {
"type": "integer",
"format": "int64"
},
"updatedAt": {
"type": "string",
"format": "date-time"
}
}
},
"RecommendationFeedbackResponse": {
"type": "object",
"properties": {
"jobId": {
"type": "integer",
"format": "int64"
},
"feedbackType": {
"type": "string"
},
"reasonType": {
"type": "string"
},
"status": {
"type": "string"
},
"version": {
"type": "integer",
"format": "int64"
}
}
},
"JobRecommendationItem": {
"type": "object",
"properties": {
"jobId": {
"type": "integer",
"format": "int64"
},
"title": {
"type": "string"
},
"city": {
"type": "string"
},
"employmentType": {
"type": "string"
},
"salaryMin": {
"type": "integer"
},
"salaryMax": {
"type": "integer"
},
"mode": {
"type": "string",
"enum": [
"PERSONALIZED",
"FALLBACK"
]
},
"score": {
"type": "number"
},
"reasons": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"ApiResponseListTaxonomyResponse": {
"type": "object",
"properties": {
"code": {
"type": "integer"
},
"message": {
"type": "string"
},
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/TaxonomyResponse"
}
}
}
},
"ApiResponseRecommendationFeedbackResponse": {
"type": "object",
"properties": {
"code": {
"type": "integer"
},
"message": {
"type": "string"
},
"data": {
"$ref": "#/components/schemas/RecommendationFeedbackResponse"
}
}
},
"ApiResponseRecommendationProfileResponse": {
"type": "object",
"properties": {
"code": {
"type": "integer"
},
"message": {
"type": "string"
},
"data": {
"$ref": "#/components/schemas/RecommendationProfileResponse"
}
}
},
"ApiResponsePageJobRecommendationItem": {
"type": "object",
"properties": {
"code": {
"type": "integer"
},
"message": {
"type": "string"
},
"data": {
"type": "object",
"properties": {
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/JobRecommendationItem"
}
},
"total": {
"type": "integer"
},
"page": {
"type": "integer"
},
"size": {
"type": "integer"
},
"totalPages": {
"type": "integer"
}
}
}
}
},
"ApiResponsePageRecommendationProfileResponse": {
"type": "object",
"properties": {
"code": {
"type": "integer"
},
"message": {
"type": "string"
},
"data": {
"type": "object",
"properties": {
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/RecommendationProfileResponse"
}
},
"total": {
"type": "integer"
},
"page": {
"type": "integer"
},
"size": {
"type": "integer"
},
"totalPages": {
"type": "integer"
}
}
}
}
},
"CompanyReviewJobResponse": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"title": {
"type": "string"
}
}
},
"CompanyReviewReplyResponse": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"content": {
"type": "string"
},
"status": {
"type": "string"
},
"version": {
"type": "integer",
"format": "int64"
},
"updatedAt": {
"type": "string",
"format": "date-time"
},
"rejectionReason": {
"type": "string",
"nullable": true
}
}
},
"CompanyReviewItemResponse": {
"type": "object",
"properties": {
"reviewId": {
"type": "integer",
"format": "int64"
},
"job": {
"$ref": "#/components/schemas/CompanyReviewJobResponse"
},
"rating": {
"type": "integer"
},
"content": {
"type": "string"
},
"tags": {
"type": "array",
"items": {
"type": "string"
}
},
"dimensionScores": {
"type": "object",
"additionalProperties": {
"type": "integer"
}
},
"reviewStatus": {
"type": "string"
},
"reviewCreatedAt": {
"type": "string",
"format": "date-time"
},
"reply": {
"$ref": "#/components/schemas/CompanyReviewReplyResponse"
}
}
},
"CompanyReviewDetailResponse": {
"allOf": [
{
"$ref": "#/components/schemas/CompanyReviewItemResponse"
}
]
},
"ReviewReplyPageResponse": {
"type": "object",
"properties": {
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/CompanyReviewItemResponse"
}
},
"total": {
"type": "integer",
"format": "int64"
},
"page": {
"type": "integer"
},
"size": {
"type": "integer"
},
"totalPages": {
"type": "integer"
}
}
},
"CreateCompanyReviewReplyRequest": {
"type": "object",
"required": [
"content",
"idempotencyKey"
],
"properties": {
"content": {
"type": "string",
"minLength": 1,
"maxLength": 500
},
"idempotencyKey": {
"type": "string",
"format": "uuid",
"maxLength": 64
}
}
},
"UpdateCompanyReviewReplyRequest": {
"type": "object",
"required": [
"content",
"expectedVersion"
],
"properties": {
"content": {
"type": "string",
"minLength": 1,
"maxLength": 500
},
"expectedVersion": {
"type": "integer",
"format": "int64",
"minimum": 0
}
}
},
"ReviewReplyDecisionRequest": {
"type": "object",
"required": [
"decision"
],
"properties": {
"decision": {
"type": "string",
"enum": [
"APPROVE",
"REJECT"
]
},
"reason": {
"type": "string",
"maxLength": 500
}
}
},
"AdminReviewReplyResponse": {
"type": "object",
"properties": {
"replyId": {
"type": "integer",
"format": "int64"
},
"reviewId": {
"type": "integer",
"format": "int64"
},
"jobId": {
"type": "integer",
"format": "int64"
},
"jobTitle": {
"type": "string"
},
"companyId": {
"type": "integer",
"format": "int64"
},
"companyName": {
"type": "string"
},
"rating": {
"type": "integer"
},
"reviewContent": {
"type": "string"
},
"reviewModerationStatus": {
"type": "string"
},
"replyContent": {
"type": "string"
},
"replyStatus": {
"type": "string"
},
"version": {
"type": "integer",
"format": "int64"
},
"riskScore": {
"type": "number"
},
"riskLevel": {
"type": "string"
},
"reasonCodes": {
"type": "array",
"items": {
"type": "string"
}
},
"createdAt": {
"type": "string",
"format": "date-time"
}
}
},
"AdminReviewReplyPageResponse": {
"type": "object",
"properties": {
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/AdminReviewReplyResponse"
}
},
"total": {
"type": "integer",
"format": "int64"
},
"page": {
"type": "integer"
},
"size": {
"type": "integer"
},
"totalPages": {
"type": "integer"
}
}
},
"ApiResponseReviewReplyPageResponse": {
"type": "object",
"properties": {
"code": {
"type": "integer"
},
"message": {
"type": "string"
},
"data": {
"$ref": "#/components/schemas/ReviewReplyPageResponse"
},
"requestId": {
"type": "string"
},
"timestamp": {
"type": "string",
"format": "date-time"
}
}
},
"ApiResponseCompanyReviewDetailResponse": {
"type": "object",
"properties": {
"code": {
"type": "integer"
},
"message": {
"type": "string"
},
"data": {
"$ref": "#/components/schemas/CompanyReviewDetailResponse"
},
"requestId": {
"type": "string"
},
"timestamp": {
"type": "string",
"format": "date-time"
}
}
},
"ApiResponseCompanyReviewReplyResponse": {
"type": "object",
"properties": {
"code": {
"type": "integer"
},
"message": {
"type": "string"
},
"data": {
"$ref": "#/components/schemas/CompanyReviewReplyResponse"
},
"requestId": {
"type": "string"
},
"timestamp": {
"type": "string",
"format": "date-time"
}
}
},
"ApiResponseAdminReviewReplyPageResponse": {
"type": "object",
"properties": {
"code": {
"type": "integer"
},
"message": {
"type": "string"
},
"data": {
"$ref": "#/components/schemas/AdminReviewReplyPageResponse"
},
"requestId": {
"type": "string"
},
"timestamp": {
"type": "string",
"format": "date-time"
}
}
},
"ApiResponseAdminReviewReplyResponse": {
"type": "object",
"properties": {
"code": {
"type": "integer"
},
"message": {
"type": "string"
},
"data": {
"$ref": "#/components/schemas/AdminReviewReplyResponse"
},
"requestId": {
"type": "string"
},
"timestamp": {
"type": "string",
"format": "date-time"
}
}
},
"AccountDeletionResponse": {
"type": "object",
"properties": {
"userId": {
"type": "integer",
"format": "int64",
"example": 2
},
"status": {
"type": "string",
"enum": [
"NONE",
"PENDING",
"COMPLETED"
],
"example": "PENDING",
"description": "注销状态:NONE/PENDING/COMPLETED"
},
"requestedAt": {
"type": "string",
"format": "date-time",
"nullable": true
},
"effectiveAt": {
"type": "string",
"format": "date-time",
"nullable": true
},
"cancelledAt": {
"type": "string",
"format": "date-time",
"nullable": true
},
"completedAt": {
"type": "string",
"format": "date-time",
"nullable": true
},
"version": {
"type": "integer",
"format": "int64",
"example": 0
}
}
},
"AdminDashboardOverviewResponse": {
"type": "object",
"properties": {
"totalCompanies": {
"type": "integer",
"format": "int32"
},
"totalJobs": {
"type": "integer",
"format": "int32"
},
"totalCandidates": {
"type": "integer",
"format": "int32"
},
"avgCandidateScore": {
"type": "number"
},
"topCompanies": {
"type": "array",
"items": {
"$ref": "#/components/schemas/CompanyScoreItem"
}
}
}
},
"ApiResponse": {
"type": "object",
"properties": {
"code": {
"type": "integer",
"format": "int32"
},
"message": {
"type": "string"
},
"data": {},
"requestId": {
"type": "string"
},
"timestamp": {
"type": "string",
"format": "date-time"
}
}
},
"CareerProgressResponse": {
"type": "object",
"properties": {
"todo": {
"$ref": "#/components/schemas/ProgressTodoSummary"
},
"applications": {
"$ref": "#/components/schemas/PaginatedApplications"
},
"generatedAt": {
"type": "string",
"format": "date-time"
}
}
},
"ProgressTodoSummary": {
"type": "object",
"properties": {
"pendingInterviewResponseCount": {
"type": "integer",
"format": "int64"
},
"upcomingConfirmedInterviewCount": {
"type": "integer",
"format": "int64"
},
"pendingOfferResponseCount": {
"type": "integer",
"format": "int64"
},
"unreadNotificationCount": {
"type": "integer",
"format": "int64"
},
"unreadReportDecisionCount": {
"type": "integer",
"format": "int64"
}
}
},
"PaginatedApplications": {
"type": "object",
"properties": {
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/CareerProgressItem"
}
},
"total": {
"type": "integer",
"format": "int64"
},
"page": {
"type": "integer",
"format": "int32"
},
"size": {
"type": "integer",
"format": "int32"
},
"totalPages": {
"type": "integer",
"format": "int32"
}
}
},
"CareerProgressItem": {
"type": "object",
"properties": {
"applicationId": {
"type": "integer",
"format": "int64"
},
"applicationStatus": {
"type": "string"
},
"appliedAt": {
"type": "string",
"format": "date-time"
},
"updatedAt": {
"type": "string",
"format": "date-time"
},
"job": {
"$ref": "#/components/schemas/JobSummary"
},
"nextInterview": {
"$ref": "#/components/schemas/InterviewSummary"
},
"latestSubmittedInterviewScore": {
"$ref": "#/components/schemas/ScoreSummary"
},
"offer": {
"$ref": "#/components/schemas/OfferSummary"
},
"competition": {
"$ref": "#/components/schemas/CompetitionSummary"
}
}
},
"JobSummary": {
"type": "object",
"properties": {
"jobId": {
"type": "integer",
"format": "int64"
},
"title": {
"type": "string"
},
"companyName": {
"type": "string"
},
"city": {
"type": "string"
},
"employmentType": {
"type": "string"
},
"jobStatus": {
"type": "string"
}
}
},
"InterviewSummary": {
"type": "object",
"properties": {
"interviewId": {
"type": "integer",
"format": "int64"
},
"roundNo": {
"type": "integer",
"format": "int32"
},
"title": {
"type": "string"
},
"interviewType": {
"type": "string"
},
"startAt": {
"type": "string",
"format": "date-time"
},
"endAt": {
"type": "string",
"format": "date-time"
},
"status": {
"type": "string"
}
}
},
"ScoreSummary": {
"type": "object",
"properties": {
"interviewId": {
"type": "integer",
"format": "int64"
},
"overallScore": {
"type": "number"
},
"recommendation": {
"type": "string"
},
"submittedAt": {
"type": "string",
"format": "date-time"
}
}
},
"OfferSummary": {
"type": "object",
"properties": {
"offerId": {
"type": "integer",
"format": "int64"
},
"status": {
"type": "string"
},
"title": {
"type": "string"
},
"expireAt": {
"type": "string",
"format": "date-time"
},
"onboardingDate": {
"type": "string",
"format": "date"
}
}
},
"CompetitionSummary": {
"type": "object",
"properties": {
"eligible": {
"type": "boolean"
},
"rank": {
"type": "integer",
"format": "int32"
},
"cohortSize": {
"type": "integer",
"format": "int32"
},
"overallScore": {
"type": "number"
},
"percentile": {
"type": "number"
},
"status": {
"type": "string"
},
"mySnapshotPeriod": {
"type": "string"
},
"rulesVersion": {
"type": "string"
}
}
},
"ApiResponseCareerProgressResponse": {
"type": "object",
"properties": {
"code": {
"type": "integer",
"format": "int32",
"example": 200
},
"message": {
"type": "string",
"example": "ok"
},
"data": {
"$ref": "#/components/schemas/CareerProgressResponse"
},
"requestId": {
"type": "string",
"example": "req-1"
},
"timestamp": {
"type": "string",
"format": "date-time"
}
}
},
"ApiResponseAccountDeletionResponse": {
"type": "object",
"properties": {
"code": {
"type": "integer",
"format": "int32",
"example": 200
},
"message": {
"type": "string",
"example": "ok"
},
"data": {
"$ref": "#/components/schemas/AccountDeletionResponse"
},
"requestId": {
"type": "string",
"example": "req-1"
},
"timestamp": {
"type": "string",
"format": "date-time"
}
}
},
"ApiResponseAdminDashboardOverviewResponse": {
"type": "object",
"properties": {
"code": {
"type": "integer",
"format": "int32"
},
"message": {
"type": "string"
},
"data": {
"$ref": "#/components/schemas/AdminDashboardOverviewResponse"
},
"requestId": {
"type": "string"
},
"timestamp": {
"type": "string",
"format": "date-time"
}
}
},
"ApiResponseAppealResponse": {
"type": "object",
"properties": {
"code": {
"type": "integer",
"format": "int32"
},
"message": {
"type": "string"
},
"data": {
"$ref": "#/components/schemas/AppealResponse"
},
"requestId": {
"type": "string"
},
"timestamp": {
"type": "string",
"format": "date-time"
}
}
},
"ApiResponseCandidateDetailView": {
"type": "object",
"properties": {
"code": {
"type": "integer",
"format": "int32"
},
"message": {
"type": "string"
},
"data": {
"$ref": "#/components/schemas/CandidateDetailView"
},
"requestId": {
"type": "string"
},
"timestamp": {
"type": "string",
"format": "date-time"
}
}
},
"ApiResponseCandidateFeedbackResponse": {
"type": "object",
"properties": {
"code": {
"type": "integer",
"format": "int32"
},
"message": {
"type": "string"
},
"data": {
"$ref": "#/components/schemas/CandidateFeedbackResponse"
},
"requestId": {
"type": "string"
},
"timestamp": {
"type": "string",
"format": "date-time"
}
}
},
"ApiResponseCandidateListResponse": {
"type": "object",
"properties": {
"code": {
"type": "integer",
"format": "int32"
},
"message": {
"type": "string"
},
"data": {
"$ref": "#/components/schemas/CandidateListResponse"
},
"requestId": {
"type": "string"
},
"timestamp": {
"type": "string",
"format": "date-time"
}
}
},
"ApiResponseCandidatePercentileResponse": {
"type": "object",
"properties": {
"code": {
"type": "integer",
"format": "int32"
},
"message": {
"type": "string"
},
"data": {
"$ref": "#/components/schemas/CandidatePercentileResponse"
},
"requestId": {
"type": "string"
},
"timestamp": {
"type": "string",
"format": "date-time"
}
}
},
"ApiResponseCandidateRankingDetailResponse": {
"type": "object",
"properties": {
"code": {
"type": "integer",
"format": "int32"
},
"message": {
"type": "string"
},
"data": {
"$ref": "#/components/schemas/CandidateRankingDetailResponse"
},
"requestId": {
"type": "string"
},
"timestamp": {
"type": "string",
"format": "date-time"
}
}
},
"ApiResponseCandidateRankingListResponse": {
"type": "object",
"properties": {
"code": {
"type": "integer",
"format": "int32"
},
"message": {
"type": "string"
},
"data": {
"$ref": "#/components/schemas/CandidateRankingListResponse"
},
"requestId": {
"type": "string"
},
"timestamp": {
"type": "string",
"format": "date-time"
}
}
},
"ApiResponseCandidateScoreCardResponse": {
"type": "object",
"properties": {
"code": {
"type": "integer",
"format": "int32"
},
"message": {
"type": "string"
},
"data": {
"$ref": "#/components/schemas/CandidateScoreCardResponse"
},
"requestId": {
"type": "string"
},
"timestamp": {
"type": "string",
"format": "date-time"
}
}
},
"ApiResponseCandidateScoreTrendResponse": {
"type": "object",
"properties": {
"code": {
"type": "integer",
"format": "int32"
},
"message": {
"type": "string"
},
"data": {
"$ref": "#/components/schemas/CandidateScoreTrendResponse"
},
"requestId": {
"type": "string"
},
"timestamp": {
"type": "string",
"format": "date-time"
}
}
},
"ApiResponseCandidateScoringOverviewResponse": {
"type": "object",
"properties": {
"code": {
"type": "integer",
"format": "int32"
},
"message": {
"type": "string"
},
"data": {
"$ref": "#/components/schemas/CandidateScoringOverviewResponse"
},
"requestId": {
"type": "string"
},
"timestamp": {
"type": "string",
"format": "date-time"
}
}
},
"ApiResponseCandidateScoringTrendResponse": {
"type": "object",
"properties": {
"code": {
"type": "integer",
"format": "int32"
},
"message": {
"type": "string"
},
"data": {
"$ref": "#/components/schemas/CandidateScoringTrendResponse"
},
"requestId": {
"type": "string"
},
"timestamp": {
"type": "string",
"format": "date-time"
}
}
},
"ApiResponseCompanyCandidateScoringResponse": {
"type": "object",
"properties": {
"code": {
"type": "integer",
"format": "int32"
},
"message": {
"type": "string"
},
"data": {
"$ref": "#/components/schemas/CompanyCandidateScoringResponse"
},
"requestId": {
"type": "string"
},
"timestamp": {
"type": "string",
"format": "date-time"
}
}
},
"ApiResponseCompanyPublicView": {
"type": "object",
"properties": {
"code": {
"type": "integer",
"format": "int32"
},
"message": {
"type": "string"
},
"data": {
"$ref": "#/components/schemas/CompanyPublicView"
},
"requestId": {
"type": "string"
},
"timestamp": {
"type": "string",
"format": "date-time"
}
}
},
"ApiResponseDashboardOverviewResponse": {
"type": "object",
"properties": {
"code": {
"type": "integer",
"format": "int32"
},
"message": {
"type": "string"
},
"data": {
"$ref": "#/components/schemas/DashboardOverviewResponse"
},
"requestId": {
"type": "string"
},
"timestamp": {
"type": "string",
"format": "date-time"
}
}
},
"ApiResponseDimensionScoreDetailResponse": {
"type": "object",
"properties": {
"code": {
"type": "integer",
"format": "int32"
},
"message": {
"type": "string"
},
"data": {
"$ref": "#/components/schemas/DimensionScoreDetailResponse"
},
"requestId": {
"type": "string"
},
"timestamp": {
"type": "string",
"format": "date-time"
}
}
},
"ApiResponseJobRankingItem": {
"type": "object",
"properties": {
"code": {
"type": "integer",
"format": "int32"
},
"message": {
"type": "string"
},
"data": {
"$ref": "#/components/schemas/JobRankingItem"
},
"requestId": {
"type": "string"
},
"timestamp": {
"type": "string",
"format": "date-time"
}
}
},
"ApiResponseJobRankingListResponse": {
"type": "object",
"properties": {
"code": {
"type": "integer",
"format": "int32"
},
"message": {
"type": "string"
},
"data": {
"$ref": "#/components/schemas/JobRankingListResponse"
},
"requestId": {
"type": "string"
},
"timestamp": {
"type": "string",
"format": "date-time"
}
}
},
"ApiResponseListAppealHistoryItem": {
"type": "object",
"properties": {
"code": {
"type": "integer",
"format": "int32"
},
"message": {
"type": "string"
},
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/AppealHistoryItem"
}
},
"requestId": {
"type": "string"
},
"timestamp": {
"type": "string",
"format": "date-time"
}
}
},
"ApiResponseListMapStringObject": {
"type": "object",
"properties": {
"code": {
"type": "integer",
"format": "int32"
},
"message": {
"type": "string"
},
"data": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": {}
}
},
"requestId": {
"type": "string"
},
"timestamp": {
"type": "string",
"format": "date-time"
}
}
},
"ApiResponseListSnapshotHistoryItem": {
"type": "object",
"properties": {
"code": {
"type": "integer",
"format": "int32"
},
"message": {
"type": "string"
},
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/SnapshotHistoryItem"
}
},
"requestId": {
"type": "string"
},
"timestamp": {
"type": "string",
"format": "date-time"
}
}
},
"ApiResponseListWeightTemplateResponse": {
"type": "object",
"properties": {
"code": {
"type": "integer",
"format": "int32"
},
"message": {
"type": "string"
},
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/WeightTemplateResponse"
}
},
"requestId": {
"type": "string"
},
"timestamp": {
"type": "string",
"format": "date-time"
}
}
},
"ApiResponseMapStringObject": {
"type": "object",
"properties": {
"code": {
"type": "integer",
"format": "int32"
},
"message": {
"type": "string"
},
"data": {
"type": "object",
"additionalProperties": {}
},
"requestId": {
"type": "string"
},
"timestamp": {
"type": "string",
"format": "date-time"
}
}
},
"ApiResponseMapStringString": {
"type": "object",
"properties": {
"code": {
"type": "integer",
"format": "int32"
},
"message": {
"type": "string"
},
"data": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"requestId": {
"type": "string"
},
"timestamp": {
"type": "string",
"format": "date-time"
}
}
},
"ApiResponsePersonalizedScoreResponse": {
"type": "object",
"properties": {
"code": {
"type": "integer",
"format": "int32"
},
"message": {
"type": "string"
},
"data": {
"$ref": "#/components/schemas/PersonalizedScoreResponse"
},
"requestId": {
"type": "string"
},
"timestamp": {
"type": "string",
"format": "date-time"
}
}
},
"ApiResponsePrivacySettingsResponse": {
"type": "object",
"properties": {
"code": {
"type": "integer",
"format": "int32",
"example": 200
},
"message": {
"type": "string",
"example": "ok"
},
"data": {
"$ref": "#/components/schemas/PrivacySettingsResponse"
},
"requestId": {
"type": "string",
"example": "req-1"
},
"timestamp": {
"type": "string",
"format": "date-time"
}
}
},
"ApiResponseReviewWeightResponse": {
"type": "object",
"properties": {
"code": {
"type": "integer",
"format": "int32"
},
"message": {
"type": "string"
},
"data": {
"$ref": "#/components/schemas/ReviewWeightResponse"
},
"requestId": {
"type": "string"
},
"timestamp": {
"type": "string",
"format": "date-time"
}
}
},
"ApiResponseScoreTrendResponse": {
"type": "object",
"properties": {
"code": {
"type": "integer",
"format": "int32"
},
"message": {
"type": "string"
},
"data": {
"$ref": "#/components/schemas/ScoreTrendResponse"
},
"requestId": {
"type": "string"
},
"timestamp": {
"type": "string",
"format": "date-time"
}
}
},
"AppealDecisionRequest": {
"type": "object",
"properties": {
"decision": {
"type": "string",
"minLength": 1
},
"reason": {
"type": "string"
}
},
"required": [
"decision"
]
},
"AppealHistoryItem": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"fromStatus": {
"type": "string"
},
"toStatus": {
"type": "string"
},
"actorUserId": {
"type": "integer",
"format": "int64"
},
"actorRole": {
"type": "string"
},
"reason": {
"type": "string"
},
"createdAt": {
"type": "string",
"format": "date-time"
}
}
},
"AppealResponse": {
"type": "object",
"properties": {
"appealId": {
"type": "integer",
"format": "int64"
},
"candidateId": {
"type": "integer",
"format": "int64"
},
"dimension": {
"type": "string"
},
"period": {
"type": "string"
},
"status": {
"type": "string"
},
"reason": {
"type": "string"
},
"decision": {
"type": "string"
},
"decisionReason": {
"type": "string"
},
"reviewerId": {
"type": "integer",
"format": "int64"
},
"reviewedAt": {
"type": "string",
"format": "date-time"
},
"rollbackAt": {
"type": "string",
"format": "date-time"
},
"scoreAtAppeal": {
"type": "number"
},
"snapshotVersionAtAppeal": {
"type": "integer",
"format": "int64"
},
"rulesVersion": {
"type": "string"
},
"createdAt": {
"type": "string",
"format": "date-time"
},
"updatedAt": {
"type": "string",
"format": "date-time"
}
}
},
"ApplicationCreateRequest": {
"type": "object",
"properties": {
"jobId": {
"type": "integer",
"format": "int64"
}
},
"required": [
"jobId"
]
},
"ApplicationStatusRequest": {
"type": "object",
"properties": {
"status": {
"type": "string",
"minLength": 1,
"pattern": "^(VIEWED|INTERVIEW|REJECTED|HIRED)$"
}
},
"required": [
"status"
]
},
"CandidateDetailView": {
"type": "object",
"properties": {
"applicationId": {
"type": "integer",
"format": "int64"
},
"jobId": {
"type": "integer",
"format": "int64"
},
"jobTitle": {
"type": "string"
},
"jobCity": {
"type": "string"
},
"jobEmploymentType": {
"type": "string"
},
"status": {
"type": "string"
},
"coverLetter": {
"type": "string"
},
"createdAt": {
"type": "string",
"format": "date-time"
},
"updatedAt": {
"type": "string",
"format": "date-time"
},
"candidateName": {
"type": "string"
},
"candidateAvatarUrl": {
"type": "string"
},
"candidateBio": {
"type": "string"
},
"candidateLocation": {
"type": "string"
},
"candidateSchool": {
"type": "string"
},
"candidateEducation": {
"type": "string"
},
"candidateGraduationYear": {
"type": "integer",
"format": "int32"
},
"candidateSkills": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"CandidateFeedbackRequest": {
"type": "object",
"properties": {
"rating": {
"type": "integer",
"format": "int32",
"maximum": 5,
"minimum": 1
},
"content": {
"type": "string",
"maxLength": 1000,
"minLength": 0
},
"tags": {
"type": "array",
"items": {
"type": "string",
"maxLength": 50,
"minLength": 1
},
"maxItems": 10,
"minItems": 0
}
},
"required": [
"content",
"rating"
]
},
"CandidateFeedbackResponse": {
"type": "object",
"description": "脱敏后的候选人反馈",
"properties": {
"id": {
"type": "integer",
"format": "int64",
"description": "反馈 ID",
"example": 1
},
"applicationId": {
"type": "integer",
"format": "int64",
"description": "投递 ID",
"example": 31
},
"rating": {
"type": "integer",
"format": "int32",
"description": "评分,范围 1-5",
"example": 5
},
"content": {
"type": "string",
"description": "反馈内容",
"example": "沟通良好"
},
"tags": {
"type": "array",
"description": "反馈标签",
"items": {
"type": "string"
}
},
"createdAt": {
"type": "string",
"format": "date-time",
"description": "创建时间",
"example": "2026-08-25T10:00:00"
},
"updatedAt": {
"type": "string",
"format": "date-time",
"description": "更新时间",
"example": "2026-08-25T10:00:00"
}
}
},
"CandidateFeedbackSummary": {
"type": "object",
"properties": {
"totalCount": {
"type": "integer",
"format": "int32"
},
"averageRating": {
"type": "number"
},
"ratingDistribution": {
"type": "object",
"additionalProperties": {
"type": "integer",
"format": "int32"
}
},
"tags": {
"type": "array",
"items": {
"$ref": "#/components/schemas/TagCount"
}
}
}
},
"CandidateItemView": {
"type": "object",
"properties": {
"applicationId": {
"type": "integer",
"format": "int64"
},
"jobId": {
"type": "integer",
"format": "int64"
},
"jobTitle": {
"type": "string"
},
"status": {
"type": "string"
},
"candidateName": {
"type": "string"
},
"candidateSchool": {
"type": "string"
},
"candidateEducation": {
"type": "string"
},
"candidateGraduationYear": {
"type": "integer",
"format": "int32"
},
"candidateAvatarUrl": {
"type": "string"
},
"createdAt": {
"type": "string",
"format": "date-time"
},
"updatedAt": {
"type": "string",
"format": "date-time"
}
}
},
"CandidateListResponse": {
"type": "object",
"properties": {
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/CandidateItemView"
}
},
"total": {
"type": "integer",
"format": "int64"
},
"page": {
"type": "integer",
"format": "int32"
},
"size": {
"type": "integer",
"format": "int32"
},
"totalPages": {
"type": "integer",
"format": "int32"
}
}
},
"CandidateMatchSignals": {
"type": "object",
"properties": {
"candidateInterestScore": {
"$ref": "#/components/schemas/MatchSignal"
},
"hrSuitabilityScore": {
"$ref": "#/components/schemas/MatchSignal"
}
}
},
"CandidatePercentileResponse": {
"type": "object",
"properties": {
"candidateId": {
"type": "integer",
"format": "int64"
},
"status": {
"type": "string"
},
"scoreType": {
"type": "string"
},
"score": {
"type": "number"
},
"percentile": {
"type": "number"
},
"cohortSize": {
"type": "integer",
"format": "int32"
},
"sampleCount": {
"type": "integer",
"format": "int32"
},
"minimumSampleCount": {
"type": "integer",
"format": "int32"
}
}
},
"CandidateRankingDetailResponse": {
"type": "object",
"properties": {
"applicationId": {
"type": "integer",
"format": "int64"
},
"jobId": {
"type": "integer",
"format": "int64"
},
"candidateName": {
"type": "string"
},
"candidateSchool": {
"type": "string"
},
"overallScore": {
"type": "number"
},
"percentile": {
"type": "number"
},
"cohortSize": {
"type": "integer",
"format": "int32"
},
"dimensionScores": {
"type": "array",
"items": {
"$ref": "#/components/schemas/DimensionScoreItem"
}
}
}
},
"CandidateRankingItem": {
"type": "object",
"properties": {
"applicationId": {
"type": "integer",
"format": "int64"
},
"jobId": {
"type": "integer",
"format": "int64"
},
"candidateName": {
"type": "string"
},
"candidateSchool": {
"type": "string"
},
"overallScore": {
"type": "number"
},
"percentile": {
"type": "number"
},
"sampleCount": {
"type": "integer",
"format": "int32"
}
}
},
"CandidateRankingListResponse": {
"type": "object",
"properties": {
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/CandidateRankingItem"
}
},
"total": {
"type": "integer",
"format": "int64"
},
"page": {
"type": "integer",
"format": "int32"
},
"size": {
"type": "integer",
"format": "int32"
},
"totalPages": {
"type": "integer",
"format": "int32"
}
}
},
"CandidateScoreCardResponse": {
"type": "object",
"properties": {
"candidateId": {
"type": "integer",
"format": "int64"
},
"status": {
"type": "string"
},
"overallScore": {
"type": "number"
},
"sampleCount": {
"type": "integer",
"format": "int32"
},
"feedbackSummary": {
"$ref": "#/components/schemas/CandidateFeedbackSummary"
},
"matchSignals": {
"$ref": "#/components/schemas/CandidateMatchSignals"
},
"unsupportedDimensions": {
"type": "array",
"items": {
"type": "string"
}
},
"generatedAt": {
"type": "string",
"format": "date-time"
}
}
},
"CandidateScoreTrendItem": {
"type": "object",
"properties": {
"month": {
"type": "string"
},
"feedbackCount": {
"type": "integer",
"format": "int32"
},
"averageRating": {
"type": "number"
},
"ratingScore": {
"type": "number"
}
}
},
"CandidateScoreTrendResponse": {
"type": "object",
"properties": {
"candidateId": {
"type": "integer",
"format": "int64"
},
"months": {
"type": "integer",
"format": "int32"
},
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/CandidateScoreTrendItem"
}
}
}
},
"CandidateScoringOverviewResponse": {
"type": "object",
"properties": {
"candidateId": {
"type": "integer",
"format": "int64"
},
"status": {
"type": "string"
},
"overallScore": {
"type": "number"
},
"weights": {
"type": "object",
"additionalProperties": {
"type": "number"
}
},
"dimensions": {
"type": "array",
"items": {
"$ref": "#/components/schemas/DimensionItem"
}
},
"rulesVersion": {
"type": "string"
},
"generatedAt": {
"type": "string",
"format": "date-time"
},
"explanationVersion": {
"type": "string",
"description": "解释契约版本,与评分规则版本独立"
},
"coverage": {
"$ref": "#/components/schemas/CandidateScoringCoverage"
},
"comparabilityNotice": {
"type": "string"
}
}
},
"CandidateScoringTrendResponse": {
"type": "object",
"properties": {
"candidateId": {
"type": "integer",
"format": "int64"
},
"months": {
"type": "integer",
"format": "int32"
},
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/TrendItem"
}
}
}
},
"CompanyCandidateScoringResponse": {
"type": "object",
"properties": {
"applicationId": {
"type": "integer",
"format": "int64"
},
"overallScore": {
"type": "number"
},
"status": {
"type": "string"
},
"dimensions": {
"type": "array",
"items": {
"$ref": "#/components/schemas/CompanyDimensionItem"
}
},
"generatedAt": {
"type": "string",
"format": "date-time"
},
"rulesVersion": {
"type": "string"
}
}
},
"CompanyCreateRequest": {
"type": "object",
"properties": {
"name": {
"type": "string",
"maxLength": 100,
"minLength": 0
},
"logoUrl": {
"type": "string"
},
"description": {
"type": "string"
},
"industry": {
"type": "string"
},
"website": {
"type": "string"
},
"address": {
"type": "string"
}
},
"required": [
"name"
]
},
"CompanyDimensionItem": {
"type": "object",
"properties": {
"dimension": {
"type": "string"
},
"score": {
"type": "number"
},
"status": {
"type": "string"
}
}
},
"CompanyMatchRuleRequest": {
"type": "object",
"properties": {
"requiredCandidateScore": {
"type": "integer",
"format": "int32",
"maximum": 100,
"minimum": 0
}
},
"required": [
"requiredCandidateScore"
]
},
"CompanyPublicView": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"name": {
"type": "string"
},
"logoUrl": {
"type": "string"
},
"description": {
"type": "string"
},
"industry": {
"type": "string"
},
"verified": {
"type": "boolean"
}
}
},
"CompanyScoreItem": {
"type": "object",
"properties": {
"companyId": {
"type": "integer",
"format": "int64"
},
"companyName": {
"type": "string"
},
"avgCandidateScore": {
"type": "number"
},
"jobCount": {
"type": "integer",
"format": "int32"
}
}
},
"CompanyUpdateRequest": {
"type": "object",
"properties": {
"name": {
"type": "string",
"maxLength": 120,
"minLength": 0
},
"logoUrl": {
"type": "string",
"maxLength": 500,
"minLength": 0
},
"description": {
"type": "string"
},
"industry": {
"type": "string",
"maxLength": 80,
"minLength": 0
},
"website": {
"type": "string",
"maxLength": 255,
"minLength": 0
},
"address": {
"type": "string",
"maxLength": 255,
"minLength": 0
}
},
"required": [
"name"
]
},
"CounterOfferCreateRequest": {
"type": "object",
"properties": {
"proposedSalaryMin": {
"type": "integer",
"format": "int32",
"minimum": 0
},
"proposedSalaryMax": {
"type": "integer",
"format": "int32",
"minimum": 0
},
"proposedOnboardingDate": {
"type": "string",
"format": "date"
},
"reason": {
"type": "string",
"maxLength": 2000,
"minLength": 0
}
}
},
"CreateAppealRequest": {
"type": "object",
"properties": {
"dimension": {
"type": "string",
"minLength": 1
},
"period": {
"type": "string",
"minLength": 1
},
"reason": {
"type": "string"
},
"idempotencyKey": {
"type": "string",
"maxLength": 64,
"minLength": 0
}
},
"required": [
"dimension",
"period"
]
},
"CreateConversationRequest": {
"type": "object",
"properties": {
"participantUserId": {
"type": "integer",
"format": "int64"
}
},
"required": [
"participantUserId"
]
},
"DashboardOverviewResponse": {
"type": "object",
"properties": {
"companyId": {
"type": "integer",
"format": "int64"
},
"totalJobs": {
"type": "integer",
"format": "int32"
},
"publishedJobs": {
"type": "integer",
"format": "int32"
},
"avgJobScore": {
"type": "number"
},
"totalCandidates": {
"type": "integer",
"format": "int32"
},
"avgCandidateScore": {
"type": "number"
},
"scoreDistribution": {
"type": "object",
"additionalProperties": {
"type": "integer",
"format": "int32"
}
},
"updatedAt": {
"type": "string",
"format": "date-time"
}
}
},
"DataSourceItem": {
"type": "object",
"properties": {
"source": {
"type": "string"
},
"time": {
"type": "string",
"format": "date-time"
},
"note": {
"type": "string"
}
}
},
"DimensionItem": {
"type": "object",
"properties": {
"dimension": {
"type": "string"
},
"score": {
"type": "number"
},
"status": {
"type": "string"
},
"weight": {
"type": "number"
},
"summary": {
"type": "string"
}
}
},
"DimensionScoreDetailResponse": {
"type": "object",
"properties": {
"dimension": {
"type": "string"
},
"score": {
"type": "number"
},
"status": {
"type": "string"
},
"subScores": {
"type": "array",
"items": {
"$ref": "#/components/schemas/SubScore"
}
},
"reasons": {
"type": "array",
"items": {
"type": "string"
}
},
"dataSources": {
"type": "array",
"items": {
"$ref": "#/components/schemas/DataSourceItem"
}
},
"updatedAt": {
"type": "string",
"format": "date-time"
},
"rulesVersion": {
"type": "string"
},
"displayName": {
"type": "string"
},
"whatItMeasures": {
"type": "string"
},
"interpretation": {
"type": "string"
},
"limitations": {
"type": "array",
"items": {
"type": "string"
}
},
"evidenceLevel": {
"type": "string",
"enum": [
"DIRECT_RULE",
"SELF_REPORTED",
"BEHAVIOR_PROXY",
"UNVALIDATED_PROXY"
]
},
"ruleContributions": {
"type": "array",
"items": {
"$ref": "#/components/schemas/CandidateScoringRuleContribution"
}
},
"improvementActions": {
"type": "array",
"items": {
"type": "string"
}
},
"explanationVersion": {
"type": "string"
},
"validity": {
"$ref": "#/components/schemas/CandidateScoringValidity"
},
"calculatedAt": {
"type": "string",
"format": "date-time"
}
}
},
"DimensionScoreItem": {
"type": "object",
"properties": {
"dimension": {
"type": "string"
},
"score": {
"type": "number"
},
"status": {
"type": "string"
}
}
},
"InterviewCancelRequest": {
"type": "object",
"properties": {
"reason": {
"type": "string"
}
}
},
"InterviewCreateRequest": {
"type": "object",
"properties": {
"roundNo": {
"type": "integer",
"format": "int32"
},
"title": {
"type": "string",
"maxLength": 200,
"minLength": 0
},
"interviewType": {
"type": "string",
"minLength": 1
},
"startAt": {
"type": "string",
"format": "date-time"
},
"endAt": {
"type": "string",
"format": "date-time"
},
"timezone": {
"type": "string"
},
"meetingUrl": {
"type": "string"
},
"address": {
"type": "string"
},
"interviewerName": {
"type": "string",
"maxLength": 100,
"minLength": 0
},
"notes": {
"type": "string"
}
},
"required": [
"endAt",
"interviewType",
"startAt",
"title"
]
},
"InterviewRespondRequest": {
"type": "object",
"properties": {
"action": {
"type": "string",
"minLength": 1
},
"reason": {
"type": "string"
}
},
"required": [
"action"
]
},
"InterviewUpdateRequest": {
"type": "object",
"properties": {
"title": {
"type": "string"
},
"startAt": {
"type": "string",
"format": "date-time"
},
"endAt": {
"type": "string",
"format": "date-time"
},
"timezone": {
"type": "string"
},
"meetingUrl": {
"type": "string"
},
"address": {
"type": "string"
},
"interviewerName": {
"type": "string"
},
"notes": {
"type": "string"
},
"timeRangeValid": {
"type": "boolean"
}
}
},
"JobCreateRequest": {
"type": "object",
"properties": {
"title": {
"type": "string",
"maxLength": 120,
"minLength": 0
},
"description": {
"type": "string",
"minLength": 1
},
"requirements": {
"type": "string"
},
"city": {
"type": "string",
"maxLength": 80,
"minLength": 0
},
"employmentType": {
"type": "string",
"maxLength": 30,
"minLength": 0
},
"salaryMin": {
"type": "integer",
"format": "int32"
},
"salaryMax": {
"type": "integer",
"format": "int32"
}
},
"required": [
"city",
"description",
"employmentType",
"title"
]
},
"JobRankingItem": {
"type": "object",
"properties": {
"jobId": {
"type": "integer",
"format": "int64"
},
"title": {
"type": "string"
},
"city": {
"type": "string"
},
"employmentType": {
"type": "string"
},
"avgRating": {
"type": "number"
},
"reviewCount": {
"type": "integer",
"format": "int32"
},
"rank": {
"type": "integer",
"format": "int32"
},
"cohortSize": {
"type": "integer",
"format": "int32"
},
"dimensionAverages": {
"type": "object",
"additionalProperties": {
"type": "number"
}
}
}
},
"JobRankingListResponse": {
"type": "object",
"properties": {
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/JobRankingItem"
}
},
"total": {
"type": "integer",
"format": "int64"
},
"page": {
"type": "integer",
"format": "int32"
},
"size": {
"type": "integer",
"format": "int32"
},
"totalPages": {
"type": "integer",
"format": "int32"
}
}
},
"JobReviewCreateRequest": {
"type": "object",
"properties": {
"rating": {
"type": "integer",
"format": "int32",
"maximum": 5,
"minimum": 1
},
"content": {
"type": "string",
"maxLength": 1000,
"minLength": 0
},
"tags": {
"type": "array",
"items": {
"type": "string",
"maxLength": 50,
"minLength": 1
},
"maxItems": 10,
"minItems": 0
},
"dimensionScores": {
"type": "object",
"additionalProperties": {
"type": "integer",
"format": "int32"
}
}
},
"required": [
"content",
"rating"
]
},
"JobReviewUpdateRequest": {
"type": "object",
"properties": {
"rating": {
"type": "integer",
"format": "int32",
"maximum": 5,
"minimum": 1
},
"content": {
"type": "string",
"maxLength": 1000,
"minLength": 1
},
"tags": {
"type": "array",
"items": {
"type": "string",
"maxLength": 50,
"minLength": 1
},
"maxItems": 10,
"minItems": 0
},
"status": {
"type": "string",
"pattern": "^(PUBLISHED|HIDDEN)$"
},
"dimensionScores": {
"type": "object",
"additionalProperties": {
"type": "integer",
"format": "int32"
}
}
}
},
"JobStatusRequest": {
"type": "object",
"properties": {
"status": {
"type": "string",
"minLength": 1,
"pattern": "^(PUBLISHED|CLOSED)$"
}
},
"required": [
"status"
]
},
"JobUpdateRequest": {
"type": "object",
"properties": {
"title": {
"type": "string",
"maxLength": 120,
"minLength": 0
},
"description": {
"type": "string"
},
"requirements": {
"type": "string"
},
"city": {
"type": "string",
"maxLength": 80,
"minLength": 0
},
"employmentType": {
"type": "string",
"maxLength": 30,
"minLength": 0
},
"salaryMin": {
"type": "integer",
"format": "int32"
},
"salaryMax": {
"type": "integer",
"format": "int32"
}
}
},
"LoginRequest": {
"type": "object",
"properties": {
"phone": {
"type": "string",
"minLength": 1,
"pattern": "[0-9]{11}"
},
"code": {
"type": "string",
"minLength": 1,
"pattern": "[0-9]{6}"
},
"purpose": {
"type": "string"
}
},
"required": [
"code",
"phone"
]
},
"MatchSignal": {
"type": "object",
"properties": {
"average": {
"type": "number"
},
"sampleCount": {
"type": "integer",
"format": "int32"
}
}
},
"OfferCreateRequest": {
"type": "object",
"properties": {
"applicationId": {
"type": "integer",
"format": "int64"
},
"title": {
"type": "string",
"maxLength": 120,
"minLength": 0
},
"salaryMin": {
"type": "integer",
"format": "int32",
"minimum": 0
},
"salaryMax": {
"type": "integer",
"format": "int32",
"minimum": 0
},
"salaryCurrency": {
"type": "string",
"maxLength": 10,
"minLength": 0
},
"salaryPeriod": {
"type": "string",
"pattern": "^(MONTH|YEAR|HOUR)$"
},
"workCity": {
"type": "string",
"maxLength": 80,
"minLength": 0
},
"employmentType": {
"type": "string",
"pattern": "^(FULL_TIME|PART_TIME|INTERN|INTERNSHIP)$"
},
"probationMonths": {
"type": "integer",
"format": "int32",
"minimum": 0
},
"benefits": {
"type": "string",
"maxLength": 2000,
"minLength": 0
},
"description": {
"type": "string",
"maxLength": 5000,
"minLength": 0
},
"expireAt": {
"type": "string",
"format": "date-time"
},
"onboardingDate": {
"type": "string",
"format": "date"
},
"baseSalary": {
"type": "integer",
"format": "int32",
"minimum": 0
},
"housingAllowance": {
"type": "integer",
"format": "int32",
"minimum": 0
},
"annualBonusMonths": {
"type": "integer",
"format": "int32",
"minimum": 0
},
"otherAllowances": {
"type": "string",
"maxLength": 1000,
"minLength": 0
}
},
"required": [
"applicationId",
"description",
"expireAt",
"title",
"workCity"
]
},
"OfferStatusRequest": {
"type": "object",
"properties": {
"status": {
"type": "string",
"minLength": 1,
"pattern": "^(SENT|NEGOTIATING|ACCEPTED|REJECTED|EXPIRED|WITHDRAWN)$"
},
"reason": {
"type": "string",
"maxLength": 255,
"minLength": 0
}
},
"required": [
"status"
]
},
"OfferUpdateRequest": {
"type": "object",
"properties": {
"title": {
"type": "string",
"maxLength": 120,
"minLength": 0
},
"salaryMin": {
"type": "integer",
"format": "int32",
"minimum": 0
},
"salaryMax": {
"type": "integer",
"format": "int32",
"minimum": 0
},
"salaryCurrency": {
"type": "string",
"maxLength": 10,
"minLength": 0
},
"salaryPeriod": {
"type": "string",
"pattern": "^(MONTH|YEAR|HOUR)$"
},
"workCity": {
"type": "string",
"maxLength": 80,
"minLength": 0
},
"employmentType": {
"type": "string",
"pattern": "^(FULL_TIME|PART_TIME|INTERN|INTERNSHIP)$"
},
"probationMonths": {
"type": "integer",
"format": "int32",
"minimum": 0
},
"benefits": {
"type": "string",
"maxLength": 2000,
"minLength": 0
},
"description": {
"type": "string",
"maxLength": 5000,
"minLength": 0
},
"expireAt": {
"type": "string",
"format": "date-time"
},
"onboardingDate": {
"type": "string",
"format": "date"
},
"baseSalary": {
"type": "integer",
"format": "int32",
"minimum": 0
},
"housingAllowance": {
"type": "integer",
"format": "int32",
"minimum": 0
},
"annualBonusMonths": {
"type": "integer",
"format": "int32",
"minimum": 0
},
"otherAllowances": {
"type": "string",
"maxLength": 1000,
"minLength": 0
}
}
},
"PersonalizedScoreResponse": {
"type": "object",
"properties": {
"jobId": {
"type": "integer",
"format": "int64"
},
"score": {
"type": "number"
},
"status": {
"type": "string"
},
"source": {
"type": "string"
},
"templateCode": {
"type": "string"
},
"configuredWeights": {
"type": "object",
"additionalProperties": {
"type": "number"
}
},
"effectiveWeights": {
"type": "object",
"additionalProperties": {
"type": "number"
}
},
"dimensionScores": {
"type": "object",
"additionalProperties": {
"type": "number"
}
},
"coveredWeight": {
"type": "number"
},
"missingDimensions": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"PrivacySettingsResponse": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 1,
"nullable": true
},
"studentUserId": {
"type": "integer",
"format": "int64",
"example": 2
},
"resumeVisibility": {
"$ref": "#/components/schemas/ResumeVisibility",
"description": "简历可见性(PRIVATE/APPLIED_COMPANIES/VERIFIED_COMPANIES)",
"example": "APPLIED_COMPANIES"
},
"contactVisible": {
"type": "boolean",
"example": true
},
"version": {
"type": "integer",
"format": "int64",
"example": 0
},
"createdAt": {
"type": "string",
"format": "date-time",
"nullable": true
},
"updatedAt": {
"type": "string",
"format": "date-time",
"nullable": true
}
}
},
"PrivacySettingsUpdateRequest": {
"type": "object",
"required": [
"resumeVisibility",
"contactVisible"
],
"properties": {
"resumeVisibility": {
"$ref": "#/components/schemas/ResumeVisibility",
"description": "简历可见性(必填)",
"example": "APPLIED_COMPANIES"
},
"contactVisible": {
"type": "boolean",
"description": "联系方式是否对企业可见(必填)",
"example": true
},
"version": {
"type": "integer",
"format": "int64",
"description": "乐观锁版本号(可选)",
"example": 0
}
}
},
"ResumeVisibility": {
"type": "string",
"enum": [
"PRIVATE",
"APPLIED_COMPANIES",
"VERIFIED_COMPANIES"
],
"description": "简历可见性:PRIVATE 私有;APPLIED_COMPANIES 仅对企业有效投递可见;VERIFIED_COMPANIES 仅对认证企业可见",
"example": "PRIVATE"
},
"ReviewDecisionRequest": {
"type": "object",
"properties": {
"decision": {
"type": "string",
"minLength": 1,
"pattern": "^(APPROVED|REJECTED)$"
},
"reason": {
"type": "string",
"maxLength": 500,
"minLength": 0
}
},
"required": [
"decision"
]
},
"ReviewWeightResponse": {
"type": "object",
"properties": {
"source": {
"type": "string"
},
"templateCode": {
"type": "string"
},
"configuredWeights": {
"type": "object",
"additionalProperties": {
"type": "number"
}
},
"updatedAt": {
"type": "string",
"format": "date-time"
}
}
},
"SaveWeightRequest": {
"type": "object",
"properties": {
"templateCode": {
"type": "string"
},
"weights": {
"type": "object",
"additionalProperties": {
"type": "number"
}
}
}
},
"ScoreRequest": {
"type": "object",
"properties": {
"score": {
"type": "integer",
"format": "int32",
"maximum": 100,
"minimum": 0
}
},
"required": [
"score"
]
},
"ScoreTrendResponse": {
"type": "object",
"properties": {
"companyId": {
"type": "integer",
"format": "int64"
},
"months": {
"type": "integer",
"format": "int32"
},
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/TrendItem"
}
}
}
},
"SendMessageRequest": {
"type": "object",
"properties": {
"clientMessageId": {
"type": "string",
"pattern": "[A-Za-z0-9_-]{1,64}"
},
"conversationId": {
"type": "integer",
"format": "int64"
},
"content": {
"type": "string",
"maxLength": 2000,
"minLength": 0
}
},
"required": [
"content",
"conversationId"
]
},
"SnapshotHistoryItem": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"appealId": {
"type": "integer",
"format": "int64"
},
"action": {
"type": "string"
},
"dimension": {
"type": "string"
},
"period": {
"type": "string"
},
"beforeScore": {
"type": "number"
},
"afterScore": {
"type": "number"
},
"beforeVersion": {
"type": "integer",
"format": "int64"
},
"afterVersion": {
"type": "integer",
"format": "int64"
},
"beforeRulesVersion": {
"type": "string"
},
"afterRulesVersion": {
"type": "string"
},
"createdAt": {
"type": "string",
"format": "date-time"
}
}
},
"StudentMatchRuleRequest": {
"type": "object",
"properties": {
"requiredHrScore": {
"type": "integer",
"format": "int32",
"maximum": 100,
"minimum": 0
}
},
"required": [
"requiredHrScore"
]
},
"StudentPreferenceRequest": {
"type": "object",
"properties": {
"expectedSalaryMin": {
"type": "integer",
"format": "int32",
"minimum": 0
},
"expectedSalaryMax": {
"type": "integer",
"format": "int32",
"minimum": 0
},
"preferredCities": {
"type": "array",
"items": {
"type": "string",
"maxLength": 100,
"minLength": 1
},
"maxItems": 20,
"minItems": 0
},
"employmentTypes": {
"type": "array",
"items": {
"type": "string",
"maxLength": 100,
"minLength": 1
},
"maxItems": 20,
"minItems": 0
},
"preferredIndustries": {
"type": "array",
"items": {
"type": "string",
"maxLength": 100,
"minLength": 1
},
"maxItems": 20,
"minItems": 0
},
"preferredJobTypes": {
"type": "array",
"items": {
"type": "string",
"maxLength": 100,
"minLength": 1
},
"maxItems": 20,
"minItems": 0
},
"remoteAllowed": {
"type": "boolean"
},
"salaryRangeValid": {
"type": "boolean"
}
}
},
"StudentProfileUpdateRequest": {
"type": "object",
"properties": {
"realName": {
"type": "string",
"maxLength": 50,
"minLength": 0
},
"bio": {
"type": "string"
},
"location": {
"type": "string",
"maxLength": 100,
"minLength": 0
},
"education": {
"type": "string",
"maxLength": 100,
"minLength": 0
},
"school": {
"type": "string",
"maxLength": 150,
"minLength": 0
},
"graduationYear": {
"type": "integer",
"format": "int32"
},
"resumeUrl": {
"type": "string",
"maxLength": 500,
"minLength": 0
},
"skills": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"SubScore": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"score": {
"type": "number"
},
"weight": {
"type": "number"
},
"description": {
"type": "string"
}
}
},
"TagCount": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"count": {
"type": "integer",
"format": "int32"
}
}
},
"TrendItem": {
"type": "object",
"properties": {
"period": {
"type": "string"
},
"overallScore": {
"type": "number"
},
"rulesVersion": {
"type": "string"
},
"dimensions": {
"type": "object",
"additionalProperties": {
"type": "number"
}
}
}
},
"VerificationDecisionRequest": {
"type": "object",
"properties": {
"decision": {
"type": "string",
"minLength": 1
},
"reason": {
"type": "string"
}
},
"required": [
"decision"
]
},
"VerificationSubmitRequest": {
"type": "object",
"properties": {
"materialsJson": {
"type": "string",
"minLength": 1
}
},
"required": [
"materialsJson"
]
},
"WeightTemplateResponse": {
"type": "object",
"properties": {
"code": {
"type": "string"
},
"name": {
"type": "string"
},
"description": {
"type": "string"
},
"weights": {
"type": "object",
"additionalProperties": {
"type": "number"
}
}
}
},
"InterviewScoreSaveRequest": {
"type": "object",
"properties": {
"technicalScore": {
"type": "integer",
"minimum": 1,
"maximum": 5,
"nullable": true
},
"communicationScore": {
"type": "integer",
"minimum": 1,
"maximum": 5,
"nullable": true
},
"problemSolvingScore": {
"type": "integer",
"minimum": 1,
"maximum": 5,
"nullable": true
},
"roleFitScore": {
"type": "integer",
"minimum": 1,
"maximum": 5,
"nullable": true
},
"professionalismScore": {
"type": "integer",
"minimum": 1,
"maximum": 5,
"nullable": true
},
"recommendation": {
"type": "string",
"enum": [
"STRONG_HIRE",
"HIRE",
"NEUTRAL",
"NO_HIRE"
],
"nullable": true,
"description": "企业手动选择,不根据 overallScore 自动推导"
},
"comment": {
"type": "string",
"nullable": true
}
},
"description": "评分草稿保存请求;overallScore 由服务端计算,客户端不得传入"
},
"InterviewScoreResponse": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"interviewId": {
"type": "integer",
"format": "int64"
},
"applicationId": {
"type": "integer",
"format": "int64"
},
"status": {
"type": "string",
"enum": [
"DRAFT",
"SUBMITTED"
]
},
"technicalScore": {
"type": "integer",
"nullable": true
},
"communicationScore": {
"type": "integer",
"nullable": true
},
"problemSolvingScore": {
"type": "integer",
"nullable": true
},
"roleFitScore": {
"type": "integer",
"nullable": true
},
"professionalismScore": {
"type": "integer",
"nullable": true
},
"overallScore": {
"type": "number",
"format": "decimal",
"nullable": true,
"description": "由服务端 BigDecimal 计算:(t+c+ps+rf+p)/5,保留两位小数 HALF_UP"
},
"recommendation": {
"type": "string",
"enum": [
"STRONG_HIRE",
"HIRE",
"NEUTRAL",
"NO_HIRE"
],
"nullable": true
},
"comment": {
"type": "string",
"nullable": true
},
"submittedAt": {
"type": "string",
"format": "date-time",
"nullable": true
},
"version": {
"type": "integer",
"format": "int64"
},
"createdAt": {
"type": "string",
"format": "date-time"
},
"updatedAt": {
"type": "string",
"format": "date-time"
}
},
"description": "面试评分响应(脱敏:不返回 companyUserId/studentUserId/evaluatorUserId/手机号/邮箱)"
},
"ApiResponseInterviewScoreResponse": {
"type": "object",
"properties": {
"code": {
"type": "integer",
"format": "int32"
},
"message": {
"type": "string"
},
"data": {
"$ref": "#/components/schemas/InterviewScoreResponse"
},
"requestId": {
"type": "string"
},
"timestamp": {
"type": "string",
"format": "date-time"
}
}
},
"InterviewScoreHistoryItem": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"scoreId": {
"type": "integer",
"format": "int64"
},
"interviewId": {
"type": "integer",
"format": "int64"
},
"fromStatus": {
"type": "string",
"enum": [
"DRAFT",
"SUBMITTED"
],
"nullable": true
},
"toStatus": {
"type": "string",
"enum": [
"DRAFT",
"SUBMITTED"
]
},
"actorRole": {
"type": "string",
"example": "COMPANY"
},
"snapshot": {
"type": "object",
"additionalProperties": {}
},
"createdAt": {
"type": "string",
"format": "date-time"
}
},
"description": "评分历史条目(脱敏:不返回 actorUserId/手机号/邮箱)"
},
"ApiResponseListInterviewScoreHistoryItem": {
"type": "object",
"properties": {
"code": {
"type": "integer",
"format": "int32"
},
"message": {
"type": "string"
},
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/InterviewScoreHistoryItem"
}
},
"requestId": {
"type": "string"
},
"timestamp": {
"type": "string",
"format": "date-time"
}
}
},
"CreateReportRequest": {
"type": "object",
"properties": {
"targetType": {
"type": "string",
"enum": [
"USER",
"MESSAGE"
],
"description": "举报目标类型;USER 必填 targetUserId,MESSAGE 必填 messageId"
},
"targetUserId": {
"type": "integer",
"format": "int64",
"description": "targetType=USER 时必填"
},
"messageId": {
"type": "integer",
"format": "int64",
"description": "targetType=MESSAGE 时必填"
},
"category": {
"type": "string",
"maxLength": 40,
"description": "举报分类,如 HARASSMENT"
},
"reason": {
"type": "string",
"minLength": 1,
"maxLength": 1000
},
"evidenceUrls": {
"type": "array",
"items": {
"type": "string",
"maxLength": 500
},
"description": "最多 5 个,仅 http/https,最多 500 字符"
},
"idempotencyKey": {
"type": "string",
"maxLength": 64,
"description": "幂等键(可选)"
}
}
},
"ReportDecisionRequest": {
"type": "object",
"properties": {
"decision": {
"type": "string",
"enum": [
"RESOLVED",
"REJECTED"
]
},
"note": {
"type": "string",
"maxLength": 1000,
"description": "REJECTED 必填"
}
}
},
"ReportResponse": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"targetType": {
"type": "string",
"enum": [
"USER",
"MESSAGE"
]
},
"targetUserId": {
"type": "integer",
"format": "int64"
},
"messageId": {
"type": "integer",
"format": "int64"
},
"reportedUserId": {
"type": "integer",
"format": "int64"
},
"category": {
"type": "string"
},
"reason": {
"type": "string"
},
"evidenceUrls": {
"type": "array",
"items": {
"type": "string"
}
},
"status": {
"type": "string",
"enum": [
"PENDING",
"RESOLVED",
"REJECTED"
]
},
"decision": {
"type": "string",
"enum": [
"RESOLVED",
"REJECTED"
]
},
"decisionNote": {
"type": "string"
},
"decidedAt": {
"type": "string",
"format": "date-time"
},
"createdAt": {
"type": "string",
"format": "date-time"
},
"updatedAt": {
"type": "string",
"format": "date-time"
},
"messagePreview": {
"type": "string",
"description": "MESSAGE 举报的脱敏消息预览,不返回会话其他敏感内容"
},
"reportedUser": {
"$ref": "#/components/schemas/ReportResponseReportedUser"
},
"history": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ReportResponseDecisionHistoryItem"
}
}
}
},
"ReportResponseReportedUser": {
"type": "object",
"properties": {
"userId": {
"type": "integer",
"format": "int64"
},
"nickname": {
"type": "string"
},
"role": {
"type": "string"
}
}
},
"ReportResponseDecisionHistoryItem": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"fromStatus": {
"type": "string"
},
"toStatus": {
"type": "string"
},
"actorUserId": {
"type": "integer",
"format": "int64"
},
"actorRole": {
"type": "string"
},
"note": {
"type": "string"
},
"createdAt": {
"type": "string",
"format": "date-time"
}
}
},
"BlockRelationResponse": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"blockedUserId": {
"type": "integer",
"format": "int64"
},
"nickname": {
"type": "string"
},
"createdAt": {
"type": "string",
"format": "date-time"
}
}
},
"ApiResponseReportResponse": {
"type": "object",
"properties": {
"code": {
"type": "integer",
"format": "int32"
},
"message": {
"type": "string"
},
"data": {
"$ref": "#/components/schemas/ReportResponse"
},
"requestId": {
"type": "string"
},
"timestamp": {
"type": "string",
"format": "date-time"
}
}
},
"ApiResponsePageResponseReportResponse": {
"type": "object",
"properties": {
"code": {
"type": "integer",
"format": "int32"
},
"message": {
"type": "string"
},
"data": {
"type": "object",
"properties": {
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ReportResponse"
}
},
"totalElements": {
"type": "integer",
"format": "int64"
},
"page": {
"type": "integer",
"format": "int32"
},
"size": {
"type": "integer",
"format": "int32"
}
}
},
"requestId": {
"type": "string"
},
"timestamp": {
"type": "string",
"format": "date-time"
}
}
},
"ApiResponseBlockRelationResponse": {
"type": "object",
"properties": {
"code": {
"type": "integer",
"format": "int32"
},
"message": {
"type": "string"
},
"data": {
"$ref": "#/components/schemas/BlockRelationResponse"
},
"requestId": {
"type": "string"
},
"timestamp": {
"type": "string",
"format": "date-time"
}
}
},
"ApiResponsePageResponseBlockRelationResponse": {
"type": "object",
"properties": {
"code": {
"type": "integer",
"format": "int32"
},
"message": {
"type": "string"
},
"data": {
"type": "object",
"properties": {
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/BlockRelationResponse"
}
},
"totalElements": {
"type": "integer",
"format": "int64"
},
"page": {
"type": "integer",
"format": "int32"
},
"size": {
"type": "integer",
"format": "int32"
}
}
},
"requestId": {
"type": "string"
},
"timestamp": {
"type": "string",
"format": "date-time"
}
}
},
"CreateAbilityAttemptRequest": {
"type": "object",
"required": [
"typeCode"
],
"properties": {
"typeCode": {
"type": "string"
},
"idempotencyKey": {
"type": "string",
"maxLength": 64
}
}
},
"SaveAbilityAnswersRequest": {
"type": "object",
"required": [
"answers"
],
"properties": {
"answers": {
"type": "array",
"items": {
"$ref": "#/components/schemas/AbilityAnswerItem"
}
}
}
},
"AbilityAnswerItem": {
"type": "object",
"required": [
"attemptQuestionId",
"selectedOptionId"
],
"properties": {
"attemptQuestionId": {
"type": "integer",
"format": "int64"
},
"selectedOptionId": {
"type": "string",
"maxLength": 4
}
}
},
"AbilityTypeResponse": {
"type": "object",
"properties": {
"typeCode": {
"type": "string"
},
"displayName": {
"type": "string"
},
"description": {
"type": "string"
},
"questionCount": {
"type": "integer",
"format": "int32"
},
"attemptQuestionCount": {
"type": "integer",
"format": "int32"
},
"timeLimitMinutes": {
"type": "integer",
"format": "int32"
},
"resultValidDays": {
"type": "integer",
"format": "int32"
},
"status": {
"type": "string"
}
}
},
"AbilityAttemptResponse": {
"type": "object",
"properties": {
"attemptId": {
"type": "integer",
"format": "int64"
},
"status": {
"type": "string"
},
"answeredCount": {
"type": "integer",
"format": "int32"
},
"totalQuestions": {
"type": "integer",
"format": "int32"
},
"completionRate": {
"type": "number"
},
"startedAt": {
"type": "string",
"format": "date-time",
"nullable": true
},
"expiresAt": {
"type": "string",
"format": "date-time",
"nullable": true
},
"remainingSeconds": {
"type": "integer",
"format": "int64",
"nullable": true
},
"questions": {
"type": "array",
"items": {
"$ref": "#/components/schemas/AbilityAttemptQuestionView"
}
}
}
},
"AbilityAttemptQuestionView": {
"type": "object",
"properties": {
"attemptQuestionId": {
"type": "integer",
"format": "int64"
},
"position": {
"type": "integer",
"format": "int32"
},
"itemType": {
"type": "string"
},
"stem": {
"type": "string"
},
"options": {
"type": "array",
"items": {
"$ref": "#/components/schemas/AbilityOptionView"
}
},
"selectedOptionId": {
"type": "string"
}
}
},
"AbilityOptionView": {
"type": "object",
"properties": {
"optionId": {
"type": "string"
},
"text": {
"type": "string"
}
}
},
"AbilityResultResponse": {
"type": "object",
"properties": {
"attemptId": {
"type": "integer",
"format": "int64"
},
"typeCode": {
"type": "string"
},
"status": {
"type": "string"
},
"validityStatus": {
"type": "string"
},
"validUntil": {
"type": "string",
"format": "date-time",
"nullable": true
},
"dimensionScores": {
"type": "array",
"items": {
"$ref": "#/components/schemas/AbilityDimensionScore"
}
},
"overallScore": {
"type": "number"
},
"weaknesses": {
"type": "array",
"items": {
"$ref": "#/components/schemas/AbilityWeakness"
}
},
"improvementAreas": {
"type": "array",
"items": {
"$ref": "#/components/schemas/AbilityImprovementArea"
}
},
"radar": {
"type": "array",
"items": {
"$ref": "#/components/schemas/AbilityRadarEntry"
}
},
"answeredCount": {
"type": "integer",
"format": "int32"
},
"completionRate": {
"type": "number"
},
"questionFeedback": {
"type": "array",
"items": {
"$ref": "#/components/schemas/AbilityQuestionFeedback"
}
},
"questionSetVersion": {
"type": "string"
},
"rulesVersion": {
"type": "string"
},
"generatedAt": {
"type": "string",
"format": "date-time"
},
"disclaimer": {
"type": "string"
}
}
},
"AbilityDimensionScore": {
"type": "object",
"properties": {
"code": {
"type": "string"
},
"score": {
"type": "number"
},
"answeredCount": {
"type": "integer",
"format": "int32"
}
}
},
"AbilityWeakness": {
"type": "object",
"properties": {
"code": {
"type": "string"
},
"score": {
"type": "number"
}
}
},
"AbilityImprovementArea": {
"type": "object",
"properties": {
"dimension": {
"type": "string"
},
"currentScore": {
"type": "number"
},
"summary": {
"type": "string"
},
"actions": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"AbilityRadarEntry": {
"type": "object",
"properties": {
"code": {
"type": "string"
},
"value": {
"type": "number"
}
}
},
"AbilityQuestionFeedback": {
"type": "object",
"properties": {
"attemptQuestionId": {
"type": "integer",
"format": "int64"
},
"position": {
"type": "integer",
"format": "int32"
},
"stem": {
"type": "string"
},
"selectedOptionId": {
"type": "string"
},
"awardedScore": {
"type": "integer",
"format": "int32"
},
"maxScore": {
"type": "integer",
"format": "int32"
},
"explanation": {
"type": "string"
}
}
},
"AbilityHistoryItem": {
"type": "object",
"properties": {
"attemptId": {
"type": "integer",
"format": "int64"
},
"typeCode": {
"type": "string"
},
"status": {
"type": "string"
},
"validityStatus": {
"type": "string"
},
"overallScore": {
"type": "number"
},
"answeredCount": {
"type": "integer",
"format": "int32"
},
"completionRate": {
"type": "number"
},
"startedAt": {
"type": "string",
"format": "date-time",
"nullable": true
},
"expiresAt": {
"type": "string",
"format": "date-time",
"nullable": true
},
"completedAt": {
"type": "string",
"format": "date-time",
"nullable": true
},
"validUntil": {
"type": "string",
"format": "date-time",
"nullable": true
}
}
},
"ApiResponseAbilityTypeResponse": {
"type": "object",
"properties": {
"code": {
"type": "integer",
"format": "int32"
},
"message": {
"type": "string"
},
"data": {
"$ref": "#/components/schemas/AbilityTypeResponse"
},
"requestId": {
"type": "string"
},
"timestamp": {
"type": "string",
"format": "date-time"
}
}
},
"ApiResponseAbilityAttemptResponse": {
"type": "object",
"properties": {
"code": {
"type": "integer",
"format": "int32"
},
"message": {
"type": "string"
},
"data": {
"$ref": "#/components/schemas/AbilityAttemptResponse"
},
"requestId": {
"type": "string"
},
"timestamp": {
"type": "string",
"format": "date-time"
}
}
},
"ApiResponseAbilityResultResponse": {
"type": "object",
"properties": {
"code": {
"type": "integer",
"format": "int32"
},
"message": {
"type": "string"
},
"data": {
"$ref": "#/components/schemas/AbilityResultResponse"
},
"requestId": {
"type": "string"
},
"timestamp": {
"type": "string",
"format": "date-time"
}
}
},
"ApiResponsePageResponseAbilityHistoryItem": {
"type": "object",
"properties": {
"code": {
"type": "integer",
"format": "int32"
},
"message": {
"type": "string"
},
"data": {
"type": "object",
"properties": {
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/AbilityHistoryItem"
}
},
"totalElements": {
"type": "integer",
"format": "int64"
},
"page": {
"type": "integer",
"format": "int32"
},
"size": {
"type": "integer",
"format": "int32"
}
}
},
"requestId": {
"type": "string"
},
"timestamp": {
"type": "string",
"format": "date-time"
}
}
},
"RiskRuleResponse": {
"type": "object",
"properties": {
"ruleCode": {
"type": "string"
},
"sourceAction": {
"type": "string"
},
"thresholdCount": {
"type": "integer",
"format": "int32"
},
"windowMinutes": {
"type": "integer",
"format": "int32"
},
"severity": {
"type": "string"
},
"enabled": {
"type": "boolean"
},
"version": {
"type": "integer",
"format": "int64"
}
}
},
"RiskEventResponse": {
"type": "object",
"properties": {
"eventId": {
"type": "integer",
"format": "int64"
},
"ruleCode": {
"type": "string"
},
"sourceAction": {
"type": "string"
},
"severity": {
"type": "string"
},
"status": {
"type": "string"
},
"occurrenceCount": {
"type": "integer",
"format": "int32"
},
"windowStartedAt": {
"type": "string",
"format": "date-time"
},
"windowEndedAt": {
"type": "string",
"format": "date-time"
},
"detectedAt": {
"type": "string",
"format": "date-time"
},
"version": {
"type": "integer",
"format": "int64"
}
}
},
"RiskSeverityCount": {
"type": "object",
"properties": {
"severity": {
"type": "string"
},
"count": {
"type": "integer",
"format": "int64"
}
}
},
"RiskRuleCount": {
"type": "object",
"properties": {
"ruleCode": {
"type": "string"
},
"count": {
"type": "integer",
"format": "int64"
}
}
},
"RiskOverviewResponse": {
"type": "object",
"properties": {
"openCount": {
"type": "integer",
"format": "int64"
},
"bySeverity": {
"type": "array",
"items": {
"$ref": "#/components/schemas/RiskSeverityCount"
}
},
"byRule": {
"type": "array",
"items": {
"$ref": "#/components/schemas/RiskRuleCount"
}
},
"lastDetectedAt": {
"type": "string",
"format": "date-time",
"nullable": true
}
}
},
"RiskTrendPoint": {
"type": "object",
"properties": {
"time": {
"type": "string",
"format": "date-time"
},
"count": {
"type": "integer",
"format": "int64"
}
}
},
"RiskTrendResponse": {
"type": "object",
"properties": {
"bucket": {
"type": "string"
},
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/RiskTrendPoint"
}
}
}
},
"RiskDistributionRow": {
"type": "object",
"properties": {
"ruleCode": {
"type": "string"
},
"severity": {
"type": "string"
},
"count": {
"type": "integer",
"format": "int64"
}
}
},
"RiskDistributionResponse": {
"type": "object",
"properties": {
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/RiskDistributionRow"
}
}
}
},
"RiskRuleUpdateRequest": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
},
"thresholdCount": {
"type": "integer",
"format": "int32"
},
"windowMinutes": {
"type": "integer",
"format": "int32"
},
"severity": {
"type": "string"
},
"expectedVersion": {
"type": "integer",
"format": "int64"
}
},
"required": [
"enabled",
"thresholdCount",
"windowMinutes",
"severity",
"expectedVersion"
]
},
"RiskEventActionRequest": {
"type": "object",
"properties": {
"action": {
"type": "string"
},
"reasonCode": {
"type": "string"
},
"expectedVersion": {
"type": "integer",
"format": "int64"
}
},
"required": [
"action",
"reasonCode",
"expectedVersion"
]
},
"ApiResponseRiskOverviewResponse": {
"type": "object",
"properties": {
"code": {
"type": "integer",
"format": "int32"
},
"message": {
"type": "string"
},
"data": {
"$ref": "#/components/schemas/RiskOverviewResponse"
},
"requestId": {
"type": "string"
},
"timestamp": {
"type": "string",
"format": "date-time"
}
}
},
"ApiResponseRiskTrendResponse": {
"type": "object",
"properties": {
"code": {
"type": "integer",
"format": "int32"
},
"message": {
"type": "string"
},
"data": {
"$ref": "#/components/schemas/RiskTrendResponse"
},
"requestId": {
"type": "string"
},
"timestamp": {
"type": "string",
"format": "date-time"
}
}
},
"ApiResponseRiskDistributionResponse": {
"type": "object",
"properties": {
"code": {
"type": "integer",
"format": "int32"
},
"message": {
"type": "string"
},
"data": {
"$ref": "#/components/schemas/RiskDistributionResponse"
},
"requestId": {
"type": "string"
},
"timestamp": {
"type": "string",
"format": "date-time"
}
}
},
"ApiResponsePageResponseRiskEventResponse": {
"type": "object",
"properties": {
"code": {
"type": "integer",
"format": "int32"
},
"message": {
"type": "string"
},
"data": {
"type": "object",
"properties": {
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/RiskEventResponse"
}
},
"totalElements": {
"type": "integer",
"format": "int64"
},
"page": {
"type": "integer",
"format": "int32"
},
"size": {
"type": "integer",
"format": "int32"
}
}
},
"requestId": {
"type": "string"
},
"timestamp": {
"type": "string",
"format": "date-time"
}
}
},
"ApiResponseListRiskRuleResponse": {
"type": "object",
"properties": {
"code": {
"type": "integer",
"format": "int32"
},
"message": {
"type": "string"
},
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/RiskRuleResponse"
}
},
"requestId": {
"type": "string"
},
"timestamp": {
"type": "string",
"format": "date-time"
}
}
},
"ApiResponseRiskRuleResponse": {
"type": "object",
"properties": {
"code": {
"type": "integer",
"format": "int32"
},
"message": {
"type": "string"
},
"data": {
"$ref": "#/components/schemas/RiskRuleResponse"
},
"requestId": {
"type": "string"
},
"timestamp": {
"type": "string",
"format": "date-time"
}
}
},
"ApiResponseRiskEventResponse": {
"type": "object",
"properties": {
"code": {
"type": "integer",
"format": "int32"
},
"message": {
"type": "string"
},
"data": {
"$ref": "#/components/schemas/RiskEventResponse"
},
"requestId": {
"type": "string"
},
"timestamp": {
"type": "string",
"format": "date-time"
}
}
},
"TalentDiscoveryPreferenceResponse": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
},
"version": {
"type": "integer",
"format": "int64"
},
"createdAt": {
"type": "string",
"format": "date-time"
},
"updatedAt": {
"type": "string",
"format": "date-time"
}
}
},
"TalentDiscoveryPreferenceUpdateRequest": {
"type": "object",
"required": [
"enabled"
],
"properties": {
"enabled": {
"type": "boolean"
},
"expectedVersion": {
"type": "integer",
"format": "int64",
"minimum": 0
}
}
},
"TalentDiscoveryCandidateResponse": {
"type": "object",
"properties": {
"candidateKey": {
"type": "string"
},
"candidateLabel": {
"type": "string"
},
"city": {
"type": "string"
},
"education": {
"type": "string"
},
"graduationYear": {
"type": "integer",
"format": "int32"
},
"skills": {
"type": "array",
"items": {
"type": "string"
}
},
"fitBand": {
"type": "string",
"enum": [
"HIGH",
"MEDIUM",
"BASIC"
]
},
"summary": {
"type": "string"
},
"signalsAvailable": {
"type": "array",
"items": {
"type": "string",
"enum": [
"PREFERENCE",
"RIASEC",
"ABILITY"
]
}
}
}
},
"TalentDiscoveryPageResponse": {
"type": "object",
"properties": {
"mode": {
"type": "string",
"enum": [
"PERSONALIZED",
"UNAVAILABLE",
"NO_ELIGIBLE_CANDIDATE"
]
},
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/TalentDiscoveryCandidateResponse"
}
},
"total": {
"type": "integer",
"format": "int64"
},
"page": {
"type": "integer",
"format": "int32"
},
"size": {
"type": "integer",
"format": "int32"
},
"totalPages": {
"type": "integer",
"format": "int32"
},
"message": {
"type": "string"
}
}
},
"ApiResponseTalentDiscoveryPreferenceResponse": {
"type": "object",
"properties": {
"code": {
"type": "integer",
"format": "int32"
},
"message": {
"type": "string"
},
"data": {
"$ref": "#/components/schemas/TalentDiscoveryPreferenceResponse"
},
"requestId": {
"type": "string"
},
"timestamp": {
"type": "string",
"format": "date-time"
}
}
},
"ApiResponseTalentDiscoveryPageResponse": {
"type": "object",
"properties": {
"code": {
"type": "integer",
"format": "int32"
},
"message": {
"type": "string"
},
"data": {
"$ref": "#/components/schemas/TalentDiscoveryPageResponse"
},
"requestId": {
"type": "string"
},
"timestamp": {
"type": "string",
"format": "date-time"
}
}
},
"CreateTalentInvitationRequest": {
"type": "object",
"required": [
"candidateKey",
"message",
"idempotencyKey"
],
"properties": {
"candidateKey": {
"type": "string",
"maxLength": 128
},
"message": {
"type": "string",
"minLength": 1,
"maxLength": 300
},
"idempotencyKey": {
"type": "string",
"format": "uuid",
"maxLength": 64
}
}
},
"TalentInvitationDecisionRequest": {
"type": "object",
"required": [
"decision",
"expectedVersion"
],
"properties": {
"decision": {
"type": "string",
"enum": [
"ACCEPT",
"REJECT"
]
},
"expectedVersion": {
"type": "integer",
"format": "int64",
"minimum": 0
}
}
},
"CompanyTalentInvitationResponse": {
"type": "object",
"properties": {
"invitationId": {
"type": "integer",
"format": "int64"
},
"jobId": {
"type": "integer",
"format": "int64"
},
"jobTitle": {
"type": "string"
},
"candidateLabel": {
"type": "string"
},
"message": {
"type": "string"
},
"status": {
"type": "string",
"enum": [
"PENDING",
"ACCEPTED",
"REJECTED",
"EXPIRED"
]
},
"createdAt": {
"type": "string",
"format": "date-time"
},
"expiresAt": {
"type": "string",
"format": "date-time"
},
"decidedAt": {
"type": "string",
"format": "date-time"
},
"conversationId": {
"type": "integer",
"format": "int64"
}
}
},
"StudentTalentInvitationResponse": {
"type": "object",
"properties": {
"invitationId": {
"type": "integer",
"format": "int64"
},
"companyId": {
"type": "integer",
"format": "int64"
},
"companyName": {
"type": "string"
},
"jobId": {
"type": "integer",
"format": "int64"
},
"jobTitle": {
"type": "string"
},
"jobCity": {
"type": "string"
},
"message": {
"type": "string"
},
"status": {
"type": "string",
"enum": [
"PENDING",
"ACCEPTED",
"REJECTED",
"EXPIRED"
]
},
"version": {
"type": "integer",
"format": "int64"
},
"createdAt": {
"type": "string",
"format": "date-time"
},
"expiresAt": {
"type": "string",
"format": "date-time"
},
"decidedAt": {
"type": "string",
"format": "date-time"
},
"conversationId": {
"type": "integer",
"format": "int64"
}
}
},
"TalentInvitationPageResponseCompanyTalentInvitationResponse": {
"type": "object",
"properties": {
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/CompanyTalentInvitationResponse"
}
},
"total": {
"type": "integer",
"format": "int64"
},
"page": {
"type": "integer",
"format": "int32"
},
"size": {
"type": "integer",
"format": "int32"
},
"totalPages": {
"type": "integer",
"format": "int32"
}
}
},
"TalentInvitationPageResponseStudentTalentInvitationResponse": {
"type": "object",
"properties": {
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/StudentTalentInvitationResponse"
}
},
"total": {
"type": "integer",
"format": "int64"
},
"page": {
"type": "integer",
"format": "int32"
},
"size": {
"type": "integer",
"format": "int32"
},
"totalPages": {
"type": "integer",
"format": "int32"
}
}
},
"ApiResponseCompanyTalentInvitationResponse": {
"type": "object",
"properties": {
"code": {
"type": "integer"
},
"message": {
"type": "string"
},
"data": {
"$ref": "#/components/schemas/CompanyTalentInvitationResponse"
},
"requestId": {
"type": "string"
},
"timestamp": {
"type": "string",
"format": "date-time"
}
}
},
"ApiResponseStudentTalentInvitationResponse": {
"type": "object",
"properties": {
"code": {
"type": "integer"
},
"message": {
"type": "string"
},
"data": {
"$ref": "#/components/schemas/StudentTalentInvitationResponse"
},
"requestId": {
"type": "string"
},
"timestamp": {
"type": "string",
"format": "date-time"
}
}
},
"ApiResponseCompanyTalentInvitationPageResponse": {
"type": "object",
"properties": {
"code": {
"type": "integer"
},
"message": {
"type": "string"
},
"data": {
"$ref": "#/components/schemas/TalentInvitationPageResponseCompanyTalentInvitationResponse"
},
"requestId": {
"type": "string"
},
"timestamp": {
"type": "string",
"format": "date-time"
}
}
},
"ApiResponseStudentTalentInvitationPageResponse": {
"type": "object",
"properties": {
"code": {
"type": "integer"
},
"message": {
"type": "string"
},
"data": {
"$ref": "#/components/schemas/TalentInvitationPageResponseStudentTalentInvitationResponse"
},
"requestId": {
"type": "string"
},
"timestamp": {
"type": "string",
"format": "date-time"
}
}
},
"FairnessResponseDistribution": {
"type": "object",
"properties": {
"sampleSize": {
"type": "integer"
},
"mean": {
"type": "number"
},
"median": {
"type": "number"
},
"p10": {
"type": "number"
},
"p25": {
"type": "number"
},
"p75": {
"type": "number"
},
"p90": {
"type": "number"
},
"min": {
"type": "number"
},
"max": {
"type": "number"
},
"standardDeviation": {
"type": "number"
},
"buckets": {
"type": "object",
"additionalProperties": {
"type": "integer"
}
},
"concentrationRate": {
"type": "number"
},
"riskLevel": {
"type": "string"
},
"availability": {
"type": "string"
},
"reason": {
"type": "string"
}
}
},
"FairnessResponseDimensionMetric": {
"type": "object",
"properties": {
"dimension": {
"type": "string"
},
"populationSize": {
"type": "integer"
},
"rowCount": {
"type": "integer"
},
"missingRowCount": {
"type": "integer"
},
"validSampleSize": {
"type": "integer"
},
"confidence": {
"type": "string"
},
"missingRowRate": {
"type": "number"
},
"nullScoreRate": {
"type": "number"
},
"validCoverage": {
"type": "number"
},
"statusCounts": {
"type": "object",
"additionalProperties": {
"type": "integer"
}
},
"versionCounts": {
"type": "object",
"additionalProperties": {
"type": "integer"
}
},
"inconsistentRecordCount": {
"type": "integer"
},
"unknownStatusCount": {
"type": "integer"
},
"outOfRangeScoreCount": {
"type": "integer"
},
"unknownRulesVersionCount": {
"type": "integer"
},
"distribution": {
"$ref": "#/components/schemas/FairnessResponseDistribution"
},
"distributionsByRulesVersion": {
"type": "object",
"additionalProperties": {
"$ref": "#/components/schemas/FairnessResponseDistribution"
}
},
"availability": {
"type": "string"
},
"reason": {
"type": "string"
}
}
},
"FairnessResponseOverview": {
"type": "object",
"properties": {
"basis": {
"type": "string"
},
"scope": {
"type": "string"
},
"period": {
"type": "string"
},
"capturedAt": {
"type": "string",
"format": "date-time"
},
"populationSize": {
"type": "integer"
},
"computableSnapshotRatio": {
"type": "number"
},
"confidence": {
"type": "string"
},
"riskLevel": {
"type": "string"
},
"versionCounts": {
"type": "object",
"additionalProperties": {
"type": "integer"
}
},
"mixedVersionCount": {
"type": "integer"
},
"unknownVersionCount": {
"type": "integer"
},
"distribution": {
"$ref": "#/components/schemas/FairnessResponseDistribution"
},
"distributionsByRulesVersion": {
"type": "object",
"additionalProperties": {
"$ref": "#/components/schemas/FairnessResponseDistribution"
}
},
"coherentVersionSubset": {
"type": "array",
"items": {
"type": "string"
}
},
"availability": {
"type": "string"
},
"reason": {
"type": "string"
}
}
},
"FairnessResponseDimensions": {
"type": "object",
"properties": {
"basis": {
"type": "string"
},
"scope": {
"type": "string"
},
"period": {
"type": "string"
},
"capturedAt": {
"type": "string",
"format": "date-time"
},
"dimensions": {
"type": "array",
"items": {
"$ref": "#/components/schemas/FairnessResponseDimensionMetric"
}
},
"availability": {
"type": "string"
},
"reason": {
"type": "string"
}
}
},
"FairnessResponseUnavailable": {
"type": "object",
"properties": {
"availability": {
"type": "string",
"enum": [
"UNAVAILABLE"
]
},
"reason": {
"type": "string"
},
"capturedAt": {
"type": "string",
"format": "date-time"
}
}
},
"FairnessResponseAppeals": {
"type": "object",
"properties": {
"basis": {
"type": "string"
},
"from": {
"type": "string",
"format": "date"
},
"to": {
"type": "string",
"format": "date"
},
"capturedAt": {
"type": "string",
"format": "date-time"
},
"appealCount": {
"type": "integer",
"description": "申诉事件数;与按独立候选人数统计的其他字段区分"
},
"sampleSize": {
"type": "integer"
},
"statusCounts": {
"type": "object",
"additionalProperties": {
"type": "integer"
}
},
"statusEventCounts": {
"type": "object",
"additionalProperties": {
"type": "integer"
}
},
"statusCandidateCounts": {
"type": "object",
"additionalProperties": {
"type": "integer"
}
},
"confidence": {
"type": "string"
},
"approvedEverCount": {
"type": "integer"
},
"approvalRate": {
"type": "number"
},
"rollbackExecutionRate": {
"type": "number"
},
"duplicateAppealCount": {
"type": "integer"
},
"duplicateAppealRate": {
"type": "number"
},
"comparableRollbackCount": {
"type": "integer",
"description": "可比 ROLLBACK 历史行数;仅唯一历史且分数/规则版本合法的申诉"
},
"comparableRollbackCandidateCount": {
"type": "integer",
"description": "可比回滚历史对应的独立候选人数;同一候选人的多份合法申诉只计一人"
},
"changedCount": {
"type": "integer"
},
"changedCandidateCount": {
"type": "integer"
},
"actualScoreChangeRate": {
"type": "number"
},
"meanDelta": {
"type": "number"
},
"meanAbsoluteDelta": {
"type": "number"
},
"duplicateRollbackHistoryCount": {
"type": "integer"
},
"invalidScoreRollbackCount": {
"type": "integer"
},
"ruleVersionChangedRollbackCount": {
"type": "integer"
},
"reasonCounts": {
"type": "object",
"additionalProperties": {
"type": "integer"
}
},
"availability": {
"type": "string"
},
"reason": {
"type": "string"
},
"exposureAppealRateAvailability": {
"type": "string"
},
"exposureAppealRateReason": {
"type": "string"
}
}
},
"ApiResponseFairnessResponseOverview": {
"type": "object",
"properties": {
"code": {
"type": "integer"
},
"message": {
"type": "string"
},
"data": {
"$ref": "#/components/schemas/FairnessResponseOverview"
},
"requestId": {
"type": "string"
},
"timestamp": {
"type": "string",
"format": "date-time"
}
}
},
"ApiResponseFairnessResponseDimensions": {
"type": "object",
"properties": {
"code": {
"type": "integer"
},
"message": {
"type": "string"
},
"data": {
"$ref": "#/components/schemas/FairnessResponseDimensions"
},
"requestId": {
"type": "string"
},
"timestamp": {
"type": "string",
"format": "date-time"
}
}
},
"ApiResponseFairnessResponseUnavailable": {
"type": "object",
"properties": {
"code": {
"type": "integer"
},
"message": {
"type": "string"
},
"data": {
"$ref": "#/components/schemas/FairnessResponseUnavailable"
},
"requestId": {
"type": "string"
},
"timestamp": {
"type": "string",
"format": "date-time"
}
}
},
"ApiResponseFairnessResponseAppeals": {
"type": "object",
"properties": {
"code": {
"type": "integer"
},
"message": {
"type": "string"
},
"data": {
"$ref": "#/components/schemas/FairnessResponseAppeals"
},
"requestId": {
"type": "string"
},
"timestamp": {
"type": "string",
"format": "date-time"
}
}
},
"CandidateScoringCoverage": {
"type": "object",
"properties": {
"computableDimensions": {
"type": "integer",
"format": "int32"
},
"totalDimensions": {
"type": "integer",
"format": "int32"
},
"includedDimensions": {
"type": "array",
"items": {
"type": "string"
}
},
"excludedDimensions": {
"type": "array",
"items": {
"$ref": "#/components/schemas/CandidateScoringExcludedDimension"
}
}
}
},
"CandidateScoringExcludedDimension": {
"type": "object",
"properties": {
"dimension": {
"type": "string"
},
"status": {
"type": "string"
},
"reason": {
"type": "string"
}
}
},
"CandidateScoringRuleContribution": {
"type": "object",
"properties": {
"ruleCode": {
"type": "string"
},
"outcome": {
"type": "string",
"enum": [
"APPLIED",
"NOT_APPLIED",
"MISSING",
"EXPIRED",
"UNAVAILABLE"
]
},
"contribution": {
"type": "number",
"nullable": true
},
"maxContribution": {
"type": "number",
"nullable": true
},
"label": {
"type": "string"
},
"observation": {
"type": "string"
},
"explanation": {
"type": "string"
}
}
},
"CandidateScoringValidity": {
"type": "object",
"properties": {
"completedAt": {
"type": "string",
"format": "date-time"
},
"validUntil": {
"type": "string",
"format": "date-time"
},
"expired": {
"type": "boolean"
}
}
},
"StudentProfileResponse": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"userId": {
"type": "integer",
"format": "int64"
},
"realName": {
"type": "string"
},
"bio": {
"type": "string"
},
"location": {
"type": "string"
},
"education": {
"type": "string"
},
"school": {
"type": "string"
},
"graduationYear": {
"type": "integer",
"format": "int32"
},
"resumeUrl": {
"type": "string"
},
"skills": {
"type": "string"
},
"createdAt": {
"type": "string",
"format": "date-time"
}
}
},
"CreateDataExportRequest": {
"type": "object",
"properties": {
"format": {
"type": "string"
},
"idempotencyKey": {
"type": "string",
"maxLength": 64
}
}
},
"DataExportTaskResponse": {
"type": "object",
"properties": {
"taskId": {
"type": "integer",
"format": "int64"
},
"status": {
"type": "string"
},
"format": {
"type": "string"
},
"requestedAt": {
"type": "string",
"format": "date-time"
},
"startedAt": {
"type": "string",
"format": "date-time"
},
"completedAt": {
"type": "string",
"format": "date-time"
},
"expiresAt": {
"type": "string",
"format": "date-time"
},
"sizeBytes": {
"type": "integer",
"format": "int64"
},
"downloadAvailable": {
"type": "boolean"
},
"errorCode": {
"type": "string"
}
}
},
"ApiResponseStudentProfileResponse": {
"type": "object",
"properties": {
"code": {
"type": "integer",
"format": "int32"
},
"message": {
"type": "string"
},
"data": {
"$ref": "#/components/schemas/StudentProfileResponse"
},
"requestId": {
"type": "string"
},
"timestamp": {
"type": "string",
"format": "date-time"
}
}
},
"ApiResponseDataExportTaskResponse": {
"type": "object",
"properties": {
"code": {
"type": "integer",
"format": "int32"
},
"message": {
"type": "string"
},
"data": {
"$ref": "#/components/schemas/DataExportTaskResponse"
},
"requestId": {
"type": "string"
},
"timestamp": {
"type": "string",
"format": "date-time"
}
}
},
"MessageResponse": {
"type": "object",
"description": "脱敏消息响应;TALENT_INVITATION 使用 senderScope 而非 senderUserId",
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"clientMessageId": {
"type": "string"
},
"version": {
"type": "integer",
"format": "int64"
},
"conversationId": {
"type": "integer",
"format": "int64"
},
"senderUserId": {
"type": "integer",
"format": "int64"
},
"senderScope": {
"type": "string"
},
"content": {
"type": "string"
},
"status": {
"type": "string",
"enum": [
"SENT",
"RECALLED"
]
},
"recalledAt": {
"type": "string",
"format": "date-time"
},
"createdAt": {
"type": "string",
"format": "date-time"
},
"isRead": {
"type": "boolean"
}
}
},
"MessagePageResponse": {
"type": "object",
"description": "脱敏消息分页响应",
"properties": {
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/MessageResponse"
}
},
"total": {
"type": "integer",
"format": "int64"
},
"page": {
"type": "integer",
"format": "int32"
},
"size": {
"type": "integer",
"format": "int32"
},
"totalPages": {
"type": "integer",
"format": "int32"
}
}
},
"ApiResponseMessagePageResponse": {
"type": "object",
"properties": {
"code": {
"type": "integer",
"format": "int32"
},
"message": {
"type": "string"
},
"data": {
"$ref": "#/components/schemas/MessagePageResponse"
},
"requestId": {
"type": "string"
},
"timestamp": {
"type": "string",
"format": "date-time"
}
}
},
"ApiResponseMessageResponse": {
"type": "object",
"properties": {
"code": {
"type": "integer",
"format": "int32"
},
"message": {
"type": "string"
},
"data": {
"$ref": "#/components/schemas/MessageResponse"
},
"requestId": {
"type": "string"
},
"timestamp": {
"type": "string",
"format": "date-time"
}
}
},
"ApiResponsePageResponseCompanyManagedJobItem": {
"type": "object",
"properties": {
"code": {"type": "integer", "format": "int32"},
"message": {"type": "string"},
"data": {
"type": "object",
"properties": {
"items": {
"type": "array",
"items": {"$ref": "#/components/schemas/CompanyManagedJobItem"}
},
"total": {"type": "integer", "format": "int64"},
"page": {"type": "integer", "format": "int32"},
"size": {"type": "integer", "format": "int32"},
"totalPages": {"type": "integer", "format": "int32"}
}
},
"requestId": {"type": "string"},
"timestamp": {"type": "string", "format": "date-time"}
}
},
"CompanyManagedJobItem": {
"type": "object",
"description": "企业自身岗位管理安全摘要",
"properties": {
"id": {"type": "integer", "format": "int64", "description": "岗位 ID"},
"companyId": {"type": "integer", "format": "int64", "description": "所属企业 ID"},
"title": {"type": "string", "description": "岗位名称"},
"description": {"type": "string", "description": "岗位描述"},
"requirements": {"type": "string", "description": "任职要求"},
"city": {"type": "string", "description": "工作城市"},
"employmentType": {"type": "string", "description": "用工类型"},
"salaryMin": {"type": "integer", "format": "int32", "description": "最低月薪,单位元"},
"salaryMax": {"type": "integer", "format": "int32", "description": "最高月薪,单位元"},
"status": {"type": "string", "description": "岗位状态:DRAFT、PUBLISHED、CLOSED"},
"publishedAt": {"type": "string", "format": "date-time", "description": "发布时间"},
"createdAt": {"type": "string", "format": "date-time", "description": "创建时间"},
"updatedAt": {"type": "string", "format": "date-time", "description": "更新时间"}
}
},
"ApiResponsePageResponseDataExportTaskResponse": {
"type": "object",
"properties": {
"code": {
"type": "integer",
"format": "int32"
},
"message": {
"type": "string"
},
"data": {
"type": "object",
"properties": {
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/DataExportTaskResponse"
}
},
"totalElements": {
"type": "integer",
"format": "int64"
},
"page": {
"type": "integer",
"format": "int32"
},
"size": {
"type": "integer",
"format": "int32"
}
}
},
"requestId": {
"type": "string"
},
"timestamp": {
"type": "string",
"format": "date-time"
}
}
},
"RefreshTokenRequest": {
"type": "object",
"required": [
"refreshToken"
],
"properties": {
"refreshToken": {
"type": "string",
"minLength": 1,
"maxLength": 4096
}
}
},
"TokenPairResponse": {
"type": "object",
"properties": {
"accessToken": {
"type": "string"
},
"refreshToken": {
"type": "string"
},
"expiresIn": {
"type": "integer",
"format": "int64"
}
}
},
"ApiResponseTokenPairResponse": {
"type": "object",
"properties": {
"code": {
"type": "integer"
},
"message": {
"type": "string"
},
"data": {
"$ref": "#/components/schemas/TokenPairResponse"
}
}
},
"PasswordSetRequest": {
"type": "object",
"properties": {
"smsCode": {
"type": "string",
"minLength": 1
},
"newPassword": {
"type": "string",
"minLength": 1
}
},
"required": [
"newPassword",
"smsCode"
]
},
"PasswordResetRequest": {
"type": "object",
"properties": {
"phone": {
"type": "string",
"minLength": 1,
"pattern": "[0-9]{11}"
},
"smsCode": {
"type": "string",
"minLength": 1
},
"newPassword": {
"type": "string",
"minLength": 1
}
},
"required": [
"newPassword",
"phone",
"smsCode"
]
},
"PasswordLoginRequest": {
"type": "object",
"properties": {
"phone": {
"type": "string",
"minLength": 1,
"pattern": "[0-9]{11}"
},
"password": {
"type": "string",
"minLength": 1
}
},
"required": [
"password",
"phone"
]
},
"PasswordChangeRequest": {
"type": "object",
"properties": {
"currentPassword": {
"type": "string",
"minLength": 1
},
"newPassword": {
"type": "string",
"minLength": 1
}
},
"required": [
"currentPassword",
"newPassword"
]
},
"PasswordSetupRequest": {
"type": "object", "required": ["passwordSetupToken", "newPassword"],
"properties": {"passwordSetupToken": {"type": "string", "maxLength": 512, "writeOnly": true}, "newPassword": {"type": "string", "maxLength": 256, "writeOnly": true}}
},
"PasswordSetupResponse": {
"type": "object",
"properties": {"passwordConfigured": {"type": "boolean"}, "reauthenticationRequired": {"type": "boolean"}, "identitySelectionRequired": {"type": "boolean"}, "accessToken": {"type": "string"}, "refreshToken": {"type": "string"}, "expiresIn": {"type": "integer", "format": "int64"}}
},
"ApiResponsePasswordSetupResponse": {
"type": "object",
"properties": {"code": {"type": "integer", "format": "int32"}, "message": {"type": "string"}, "data": {"$ref": "#/components/schemas/PasswordSetupResponse"}, "requestId": {"type": "string"}, "timestamp": {"type": "string", "format": "date-time"}}
},
"PasswordOperationResponse": {
"type": "object",
"properties": {
"passwordConfigured": {
"type": "boolean"
},
"reauthenticationRequired": {
"type": "boolean"
}
}
},
"ApiResponsePasswordOperationResponse": {
"type": "object",
"properties": {
"code": {
"type": "integer",
"format": "int32"
},
"message": {
"type": "string"
},
"data": {
"$ref": "#/components/schemas/PasswordOperationResponse"
},
"requestId": {
"type": "string"
},
"timestamp": {
"type": "string",
"format": "date-time"
}
}
},
"CompanyDetails": {
"type": "object",
"properties": {
"name": {
"type": "string",
"maxLength": 100,
"minLength": 0
},
"logoUrl": {
"type": "string",
"maxLength": 500,
"minLength": 0
},
"description": {
"type": "string"
},
"industry": {
"type": "string",
"maxLength": 80,
"minLength": 0
},
"website": {
"type": "string",
"maxLength": 255,
"minLength": 0
},
"address": {
"type": "string",
"maxLength": 255,
"minLength": 0
}
},
"required": [
"name"
]
},
"CompanyRegistrationRequest": {
"type": "object",
"properties": {
"phone": {
"type": "string",
"minLength": 1,
"pattern": "[0-9]{11}"
},
"code": {
"type": "string",
"minLength": 1,
"pattern": "[0-9]{6}"
},
"password": {
"type": "string",
"maxLength": 64,
"minLength": 12
},
"company": {
"$ref": "#/components/schemas/CompanyDetails"
}
},
"required": [
"code",
"company",
"password",
"phone"
]
},
"ApiResponseCompanyRegistrationResponse": {
"type": "object",
"properties": {
"code": {
"type": "integer",
"format": "int32"
},
"message": {
"type": "string"
},
"data": {
"$ref": "#/components/schemas/CompanyRegistrationResponse"
},
"requestId": {
"type": "string"
},
"timestamp": {
"type": "string",
"format": "date-time"
}
}
},
"CompanyRegistrationResponse": {
"type": "object",
"properties": {
"userId": {
"type": "integer",
"format": "int64"
},
"companyId": {
"type": "integer",
"format": "int64"
},
"role": {
"type": "string"
},
"onboardingStatus": {
"type": "string"
},
"accessToken": {
"type": "string"
},
"refreshToken": {
"type": "string"
},
"expiresIn": {
"type": "integer",
"format": "int64"
}
}
},
"ApiResponseCompanyOnboardingResponse": {
"type": "object",
"properties": {
"code": {
"type": "integer",
"format": "int32"
},
"message": {
"type": "string"
},
"data": {
"$ref": "#/components/schemas/CompanyOnboardingResponse"
},
"requestId": {
"type": "string"
},
"timestamp": {
"type": "string",
"format": "date-time"
}
}
},
"CompanyOnboardingResponse": {
"type": "object",
"properties": {
"company": {
"$ref": "#/components/schemas/CompanySummary"
},
"onboardingStatus": {
"type": "string"
},
"latestVerification": {
"$ref": "#/components/schemas/VerificationSummary"
},
"missingFields": {
"type": "array",
"items": {
"type": "string"
}
},
"allowedActions": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"CompanySummary": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"name": {
"type": "string"
},
"logoUrl": {
"type": "string"
},
"description": {
"type": "string"
},
"industry": {
"type": "string"
},
"website": {
"type": "string"
},
"address": {
"type": "string"
},
"verified": {
"type": "boolean"
}
}
},
"VerificationSummary": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"status": {
"type": "string"
},
"submittedAt": {
"type": "string",
"format": "date-time"
},
"decidedAt": {
"type": "string",
"format": "date-time"
}
}
},
"LxqSkillCloudNode": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"code": {
"type": "string"
},
"name": {
"type": "string"
}
}
},
"LxqApiResponseVoid": {
"type": "object",
"properties": {
"code": {
"type": "integer"
},
"message": {
"type": "string"
},
"requestId": {
"type": "string"
},
"timestamp": {
"type": "string",
"format": "date-time"
}
}
},
"LxqApiResponseSalaryCityDetailResponse": {
"type": "object",
"properties": {
"code": {
"type": "integer"
},
"message": {
"type": "string"
},
"data": {
"$ref": "#/components/schemas/LxqSalaryCityDetailResponse"
},
"requestId": {
"type": "string"
},
"timestamp": {
"type": "string",
"format": "date-time"
}
}
},
"LxqApiResponseCompanyKnowledgeOverviewResponse": {
"type": "object",
"properties": {
"code": {
"type": "integer",
"format": "int32"
},
"message": {
"type": "string"
},
"data": {
"$ref": "#/components/schemas/LxqCompanyKnowledgeOverviewResponse"
},
"requestId": {
"type": "string"
},
"timestamp": {
"type": "string",
"format": "date-time"
}
}
},
"LxqCompanyKnowledgeUpdateRequest": {
"type": "object",
"properties": {
"culture": {
"type": "string",
"maxLength": 2000,
"minLength": 0
},
"workPolicies": {
"type": "string",
"maxLength": 4000,
"minLength": 0
},
"onboardingGuide": {
"type": "string",
"maxLength": 4000,
"minLength": 0
},
"version": {
"type": "integer",
"format": "int64",
"minimum": 0
}
}
},
"LxqKnowledgeView": {
"type": "object",
"properties": {
"culture": {
"type": "string"
},
"workPolicies": {
"type": "string"
},
"onboardingGuide": {
"type": "string"
},
"updatedAt": {
"type": "string",
"format": "date-time"
},
"version": {
"type": "integer",
"format": "int64"
}
}
},
"LxqApiResponseListSalaryCitySummaryResponse": {
"type": "object",
"properties": {
"code": {
"type": "integer"
},
"message": {
"type": "string"
},
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/LxqSalaryCitySummaryResponse"
}
},
"requestId": {
"type": "string"
},
"timestamp": {
"type": "string",
"format": "date-time"
}
}
},
"LxqApiResponseSalaryHistoryDetailResponse": {
"type": "object",
"properties": {
"code": {
"type": "integer"
},
"message": {
"type": "string"
},
"data": {
"$ref": "#/components/schemas/LxqSalaryHistoryDetailResponse"
},
"requestId": {
"type": "string"
},
"timestamp": {
"type": "string",
"format": "date-time"
}
}
},
"LxqSkillLearningPathResponse": {
"type": "object",
"properties": {
"total": {
"type": "integer",
"format": "int32",
"minimum": 0
},
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/LxqSkillLearningPathItem"
}
}
}
},
"LxqCompanyChecklistItemView": {
"type": "object",
"properties": {
"itemId": {
"type": "integer",
"format": "int64"
},
"source": {
"type": "string"
},
"itemKey": {
"type": "string"
},
"title": {
"type": "string"
},
"description": {
"type": "string"
},
"category": {
"type": "string"
},
"required": {
"type": "boolean"
},
"sortOrder": {
"type": "integer",
"format": "int32"
},
"active": {
"type": "boolean"
},
"version": {
"type": "integer",
"format": "int64"
}
}
},
"LxqCompanyChecklistItemCreateRequest": {
"type": "object",
"properties": {
"title": {
"type": "string",
"maxLength": 120,
"minLength": 0
},
"description": {
"type": "string",
"maxLength": 1000,
"minLength": 0
},
"category": {
"type": "string",
"minLength": 1,
"pattern": "DOCUMENT|ADMIN|EQUIPMENT|TRAINING|LOGISTICS|OTHER"
},
"sortOrder": {
"type": "integer",
"format": "int32",
"default": 1000,
"maximum": 9999,
"minimum": 0
},
"required": {
"type": "boolean",
"default": false
},
"idempotencyKey": {
"type": "string",
"maxLength": 64,
"minLength": 0
}
},
"required": [
"category",
"title"
]
},
"LxqSkillMatchResponse": {
"type": "object",
"properties": {
"matchScore": {
"type": "integer",
"format": "int32",
"minimum": 0,
"maximum": 100,
"description": "round(matchedCount*100/min(10,total));total=0 时为 0。"
},
"matchedCount": {
"type": "integer",
"format": "int32",
"minimum": 0
},
"totalCount": {
"type": "integer",
"format": "int32",
"minimum": 0,
"description": "实际匹配集合大小 min(10,total)。"
},
"matchedSkills": {
"type": "array",
"items": {
"$ref": "#/components/schemas/LxqSkillCloudItem"
}
},
"missingSkills": {
"type": "array",
"items": {
"$ref": "#/components/schemas/LxqSkillCloudItem"
}
}
}
},
"LxqSalaryCitySummaryResponse": {
"type": "object",
"properties": {
"cityCode": {
"type": "string"
},
"provinceCode": {
"type": "string"
},
"provinceName": {
"type": "string"
},
"cityName": {
"type": "string"
},
"policyVersion": {
"type": "string"
},
"policyEffectiveDate": {
"type": "string",
"format": "date"
},
"dataLevel": {
"$ref": "#/components/schemas/LxqSalaryDataLevel"
}
}
},
"LxqSkillCloudResponse": {
"type": "object",
"properties": {
"industry": {
"$ref": "#/components/schemas/LxqSkillCloudNode"
},
"occupation": {
"$ref": "#/components/schemas/LxqSkillCloudNode"
},
"category": {
"$ref": "#/components/schemas/LxqSkillCloudNode",
"nullable": true
},
"total": {
"type": "integer",
"format": "int32",
"minimum": 0
},
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/LxqSkillCloudItem"
}
}
}
},
"LxqSalaryCalculationRequest": {
"type": "object",
"required": [
"cityCode",
"grossMonthlySalary",
"expectedPolicyVersion"
],
"properties": {
"cityCode": {
"type": "string"
},
"grossMonthlySalary": {
"type": "number"
},
"monthIndex": {
"type": "integer",
"minimum": 1,
"maximum": 12
},
"specialAdditionalDeduction": {
"type": "number"
},
"expectedPolicyVersion": {
"type": "string"
},
"idempotencyKey": {
"type": "string",
"maxLength": 64
},
"overrides": {
"$ref": "#/components/schemas/LxqSalaryCalculationOverrideRequest"
}
}
},
"LxqSalaryCalculationResult": {
"type": "object",
"properties": {
"cityCode": {
"type": "string"
},
"cityName": {
"type": "string"
},
"dataLevel": {
"$ref": "#/components/schemas/LxqSalaryDataLevel"
},
"policyVersion": {
"type": "string"
},
"policyEffectiveDate": {
"type": "string",
"format": "date"
},
"taxRulesVersion": {
"type": "string"
},
"estimate": {
"type": "boolean"
},
"monthIndex": {
"type": "integer"
},
"grossMonthlySalary": {
"type": "number"
},
"specialAdditionalDeduction": {
"type": "number"
},
"socialSecurityBase": {
"type": "number"
},
"housingFundBase": {
"type": "number"
},
"pensionRate": {
"type": "number"
},
"medicalRate": {
"type": "number"
},
"unemploymentRate": {
"type": "number"
},
"housingFundRate": {
"type": "number"
},
"seriousIllnessMonthlyFee": {
"type": "number"
},
"pension": {
"type": "number"
},
"medical": {
"type": "number"
},
"unemployment": {
"type": "number"
},
"housingFund": {
"type": "number"
},
"cumulativeGrossIncome": {
"type": "number"
},
"cumulativeSocialInsurance": {
"type": "number"
},
"cumulativeHousingFund": {
"type": "number"
},
"cumulativeSeriousIllness": {
"type": "number"
},
"cumulativeBasicDeduction": {
"type": "number"
},
"cumulativeSpecialAdditionalDeduction": {
"type": "number"
},
"cumulativeTaxableIncome": {
"type": "number"
},
"cumulativeTaxDue": {
"type": "number"
},
"previouslyWithheldTax": {
"type": "number"
},
"currentMonthTax": {
"type": "number"
},
"netSalary": {
"type": "number"
}
}
},
"LxqSalaryCityDetailResponse": {
"type": "object",
"properties": {
"cityCode": {
"type": "string"
},
"provinceCode": {
"type": "string"
},
"provinceName": {
"type": "string"
},
"cityName": {
"type": "string"
},
"policyVersion": {
"type": "string"
},
"policyEffectiveDate": {
"type": "string",
"format": "date"
},
"dataLevel": {
"$ref": "#/components/schemas/LxqSalaryDataLevel"
},
"dataSource": {
"type": "string"
},
"socialSecurityBaseMin": {
"type": "number"
},
"socialSecurityBaseMax": {
"type": "number"
},
"housingFundBaseMin": {
"type": "number"
},
"housingFundBaseMax": {
"type": "number"
},
"pensionRate": {
"type": "number"
},
"medicalRate": {
"type": "number"
},
"unemploymentRate": {
"type": "number"
},
"housingFundRate": {
"type": "number"
},
"seriousIllnessMonthlyFee": {
"type": "number"
}
}
},
"LxqApiResponseCompanyKnowledgeView": {
"type": "object",
"properties": {
"code": {
"type": "integer",
"format": "int32"
},
"message": {
"type": "string"
},
"data": {
"$ref": "#/components/schemas/LxqCompanyKnowledgeView"
},
"requestId": {
"type": "string"
},
"timestamp": {
"type": "string",
"format": "date-time"
}
}
},
"LxqCompanyView": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"name": {
"type": "string"
},
"logoUrl": {
"type": "string"
},
"description": {
"type": "string"
},
"industry": {
"type": "string"
},
"website": {
"type": "string"
},
"address": {
"type": "string"
},
"verified": {
"type": "boolean"
}
}
},
"LxqDimensionSummaryView": {
"type": "object",
"properties": {
"averageScore": {
"type": "number",
"format": "double"
},
"sampleCount": {
"type": "integer",
"format": "int64"
},
"dataState": {
"type": "string"
}
}
},
"LxqPageResponseSalaryHistorySummaryResponse": {
"type": "object",
"properties": {
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/LxqSalaryHistorySummaryResponse"
}
},
"total": {
"type": "integer",
"format": "int64"
},
"page": {
"type": "integer"
},
"size": {
"type": "integer"
},
"totalPages": {
"type": "integer"
}
}
},
"LxqProgressUpdateResponse": {
"type": "object",
"properties": {
"itemId": {
"type": "integer",
"format": "int64"
},
"completed": {
"type": "boolean"
},
"completedAt": {
"type": "string",
"format": "date-time"
},
"progressVersion": {
"type": "integer",
"format": "int64"
},
"totalItems": {
"type": "integer",
"format": "int32"
},
"completedItems": {
"type": "integer",
"format": "int32"
},
"completionRate": {
"type": "number",
"format": "double"
}
}
},
"LxqCompanyChecklistItemUpdateRequest": {
"type": "object",
"properties": {
"title": {
"type": "string",
"maxLength": 120,
"minLength": 0
},
"description": {
"type": "string",
"maxLength": 1000,
"minLength": 0
},
"category": {
"type": "string",
"minLength": 1,
"pattern": "DOCUMENT|ADMIN|EQUIPMENT|TRAINING|LOGISTICS|OTHER"
},
"sortOrder": {
"type": "integer",
"format": "int32",
"maximum": 9999,
"minimum": 0
},
"required": {
"type": "boolean"
},
"active": {
"type": "boolean"
},
"version": {
"type": "integer",
"format": "int64",
"minimum": 0
}
},
"required": [
"active",
"category",
"required",
"sortOrder",
"title",
"version"
]
},
"LxqCompanyKnowledgeView": {
"type": "object",
"properties": {
"configured": {
"type": "boolean"
},
"culture": {
"type": "string"
},
"workPolicies": {
"type": "string"
},
"onboardingGuide": {
"type": "string"
},
"updatedAt": {
"type": "string",
"format": "date-time"
},
"version": {
"type": "integer",
"format": "int64"
}
}
},
"LxqUnauthorizedResponse": {
"type": "object",
"additionalProperties": false,
"required": [
"code",
"message",
"timestamp"
],
"properties": {
"code": {
"type": "integer",
"format": "int32",
"enum": [
401
]
},
"message": {
"type": "string",
"enum": [
"not authenticated"
]
},
"timestamp": {
"type": "string",
"enum": [
""
]
}
}
},
"LxqSalaryHistorySummaryResponse": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"cityCode": {
"type": "string"
},
"cityName": {
"type": "string"
},
"dataLevel": {
"$ref": "#/components/schemas/LxqSalaryDataLevel"
},
"grossMonthlySalary": {
"type": "number"
},
"netSalary": {
"type": "number"
},
"monthIndex": {
"type": "integer"
},
"createdAt": {
"type": "string",
"format": "date-time"
}
}
},
"LxqProgressUpdateRequest": {
"type": "object",
"properties": {
"completed": {
"type": "boolean"
},
"version": {
"type": "integer",
"format": "int64",
"minimum": 0
}
},
"required": [
"completed"
]
},
"LxqCompanyKnowledgeOverviewResponse": {
"type": "object",
"properties": {
"company": {
"$ref": "#/components/schemas/LxqCompanyView"
},
"knowledgeState": {
"type": "string"
},
"knowledge": {
"$ref": "#/components/schemas/LxqKnowledgeView"
},
"reviewSummary": {
"$ref": "#/components/schemas/LxqReviewSummaryView"
}
}
},
"LxqApiResponseEffectiveChecklistResponse": {
"type": "object",
"properties": {
"code": {
"type": "integer",
"format": "int32"
},
"message": {
"type": "string"
},
"data": {
"$ref": "#/components/schemas/LxqEffectiveChecklistResponse"
},
"requestId": {
"type": "string"
},
"timestamp": {
"type": "string",
"format": "date-time"
}
}
},
"LxqApiResponseSalaryCalculationResponse": {
"type": "object",
"properties": {
"code": {
"type": "integer"
},
"message": {
"type": "string"
},
"data": {
"$ref": "#/components/schemas/LxqSalaryCalculationResponse"
},
"requestId": {
"type": "string"
},
"timestamp": {
"type": "string",
"format": "date-time"
}
}
},
"LxqEffectiveChecklistResponse": {
"type": "object",
"properties": {
"companyId": {
"type": "integer",
"format": "int64"
},
"companyName": {
"type": "string"
},
"customized": {
"type": "boolean"
},
"totalItems": {
"type": "integer",
"format": "int32"
},
"completedItems": {
"type": "integer",
"format": "int32"
},
"completionRate": {
"type": "number",
"format": "double"
},
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/LxqChecklistItemView"
}
}
}
},
"LxqSalaryHistoryDetailResponse": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"cityCode": {
"type": "string"
},
"cityName": {
"type": "string"
},
"dataLevel": {
"$ref": "#/components/schemas/LxqSalaryDataLevel"
},
"policyVersion": {
"type": "string"
},
"taxRulesVersion": {
"type": "string"
},
"monthIndex": {
"type": "integer"
},
"grossMonthlySalary": {
"type": "number"
},
"netSalary": {
"type": "number"
},
"createdAt": {
"type": "string",
"format": "date-time"
},
"inputSnapshot": {
"type": "object"
},
"policySnapshot": {
"type": "object"
},
"resultSnapshot": {
"type": "object"
}
}
},
"LxqApiResponseListCompanyChecklistItemView": {
"type": "object",
"properties": {
"code": {
"type": "integer",
"format": "int32"
},
"message": {
"type": "string"
},
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/LxqCompanyChecklistItemView"
}
},
"requestId": {
"type": "string"
},
"timestamp": {
"type": "string",
"format": "date-time"
}
}
},
"LxqApiResponsePageResponseSalaryHistorySummaryResponse": {
"type": "object",
"properties": {
"code": {
"type": "integer"
},
"message": {
"type": "string"
},
"data": {
"$ref": "#/components/schemas/LxqPageResponseSalaryHistorySummaryResponse"
},
"requestId": {
"type": "string"
},
"timestamp": {
"type": "string",
"format": "date-time"
}
}
},
"LxqApiResponseSkillCloudResponse": {
"type": "object",
"properties": {
"code": {
"type": "integer",
"format": "int32"
},
"message": {
"type": "string"
},
"data": {
"$ref": "#/components/schemas/LxqSkillCloudResponse"
},
"requestId": {
"type": "string"
},
"timestamp": {
"type": "string",
"format": "date-time"
}
}
},
"LxqSalaryCalculationOverrideRequest": {
"type": "object",
"properties": {
"socialSecurityBase": {
"type": "number"
},
"housingFundBase": {
"type": "number"
},
"pensionRate": {
"type": "number"
},
"medicalRate": {
"type": "number"
},
"unemploymentRate": {
"type": "number"
},
"housingFundRate": {
"type": "number"
},
"seriousIllnessMonthlyFee": {
"type": "number"
}
}
},
"LxqApiResponse": {
"type": "object",
"properties": {
"code": {
"type": "integer",
"format": "int32"
},
"message": {
"type": "string"
},
"data": {},
"requestId": {
"type": "string"
},
"timestamp": {
"type": "string",
"format": "date-time"
}
}
},
"LxqSkillCloudItem": {
"type": "object",
"properties": {
"rank": {
"type": "integer",
"format": "int32",
"minimum": 1,
"description": "当前筛选范围内的稳定排名,从 1 开始。"
},
"skillId": {
"type": "integer",
"format": "int64"
},
"skillCode": {
"type": "string"
},
"nameZh": {
"type": "string"
},
"nameEn": {
"type": "string",
"nullable": true
},
"sourceType": {
"type": "string",
"enum": [
"ESCO",
"O*NET"
],
"description": "技能身份主来源。"
},
"sourceCode": {
"type": "string",
"description": "ESCO URI 或 O*NET 三元组标识。"
},
"categoryId": {
"type": "integer",
"format": "int64"
},
"categoryName": {
"type": "string"
},
"heat": {
"type": "number",
"nullable": true,
"description": "O*NET Importance;无映射为 null,且排在非空热度之后。"
},
"heatSourceCode": {
"type": "string",
"nullable": true,
"description": "热度来源 SOC。"
},
"heatElementId": {
"type": "string",
"nullable": true,
"description": "热度来源 O*NET Element ID。"
},
"heatProxy": {
"type": "boolean",
"description": "热度是否为代理映射。"
}
}
},
"LxqApiResponseCompanyChecklistItemView": {
"type": "object",
"properties": {
"code": {
"type": "integer",
"format": "int32"
},
"message": {
"type": "string"
},
"data": {
"$ref": "#/components/schemas/LxqCompanyChecklistItemView"
},
"requestId": {
"type": "string"
},
"timestamp": {
"type": "string",
"format": "date-time"
}
}
},
"LxqSkillLearningPathItem": {
"type": "object",
"properties": {
"priority": {
"type": "integer",
"format": "int32",
"minimum": 1
},
"skillId": {
"type": "integer",
"format": "int64"
},
"skillName": {
"type": "string"
},
"categoryId": {
"type": "integer",
"format": "int64"
},
"categoryName": {
"type": "string"
},
"suggestion": {
"type": "string",
"description": "按技能分类生成的通用建议,不含课程、AI、链接、时长或进度。"
}
}
},
"LxqChecklistItemView": {
"type": "object",
"properties": {
"itemId": {
"type": "integer",
"format": "int64"
},
"source": {
"type": "string"
},
"itemKey": {
"type": "string"
},
"title": {
"type": "string"
},
"description": {
"type": "string"
},
"category": {
"type": "string"
},
"required": {
"type": "boolean"
},
"sortOrder": {
"type": "integer",
"format": "int32"
},
"active": {
"type": "boolean"
},
"completed": {
"type": "boolean"
},
"completedAt": {
"type": "string",
"format": "date-time"
},
"progressVersion": {
"type": "integer",
"format": "int64"
}
}
},
"LxqApiResponseProgressUpdateResponse": {
"type": "object",
"properties": {
"code": {
"type": "integer",
"format": "int32"
},
"message": {
"type": "string"
},
"data": {
"$ref": "#/components/schemas/LxqProgressUpdateResponse"
},
"requestId": {
"type": "string"
},
"timestamp": {
"type": "string",
"format": "date-time"
}
}
},
"LxqApiResponseSkillLearningPathResponse": {
"type": "object",
"properties": {
"code": {
"type": "integer",
"format": "int32"
},
"message": {
"type": "string"
},
"data": {
"$ref": "#/components/schemas/LxqSkillLearningPathResponse"
},
"requestId": {
"type": "string"
},
"timestamp": {
"type": "string",
"format": "date-time"
}
}
},
"LxqSalaryCalculationResponse": {
"type": "object",
"properties": {
"historyId": {
"type": "integer",
"format": "int64"
},
"createdAt": {
"type": "string",
"format": "date-time"
},
"result": {
"$ref": "#/components/schemas/LxqSalaryCalculationResult"
}
}
},
"LxqSalaryDataLevel": {
"type": "string",
"enum": [
"CITY",
"PROVINCE_FALLBACK"
]
},
"LxqApiResponseSkillMatchResponse": {
"type": "object",
"properties": {
"code": {
"type": "integer",
"format": "int32"
},
"message": {
"type": "string"
},
"data": {
"$ref": "#/components/schemas/LxqSkillMatchResponse"
},
"requestId": {
"type": "string"
},
"timestamp": {
"type": "string",
"format": "date-time"
}
}
},
"LxqReviewSummaryView": {
"type": "object",
"properties": {
"state": {
"type": "string"
},
"totalReviews": {
"type": "integer",
"format": "int32"
},
"averageRating": {
"type": "number",
"format": "double"
},
"ratingDistribution": {
"type": "object",
"additionalProperties": {
"type": "integer",
"format": "int32"
}
},
"topTags": {
"type": "array",
"items": {
"type": "string"
}
},
"dimensionSummary": {
"type": "object",
"additionalProperties": {
"$ref": "#/components/schemas/LxqDimensionSummaryView"
}
}
}
}
},
"securitySchemes": {
"bearerAuth": {
"type": "http",
"description": "通过 /auth/login 获取的 Access Token,请求头格式:Authorization: Bearer &lt;token&gt;",
"scheme": "bearer",
"bearerFormat": "JWT"
}
}
}
}