Skip to content

智萃课程发布

POST /api/admin/course/essence/{courseId}/publish
权限 ADMIN_COURSE_MANAGE

校验发布参数后,触发智萃发布编排,并写入发布范围、加入条件、字幕关联与课后考试配置。

路径参数

参数类型必填说明
courseIdnumber课程 ID

请求体

字段类型必填说明
languagestring发布语言,如 zh_CN、en,需在支持列表中且已翻译
afterCourseExamboolean是否自动加入课后固定卷考试;传 false 表示不加入
subtitleFileIdnumber字幕文件 ID(upload_files.id),用于关联视频字幕
showableboolean发布范围:false=仅后台可见,true=指定范围
publishOrgarray条件发布范围-部门 orgCode 列表,showable=true 时必填(部门为空将导致无人可见)
publishPostarray条件发布范围-岗位 ID 列表
publishUserGrouparray条件发布范围-用户组 ID 列表
publishPostRankarray条件发布范围-职级 ID 列表,职级插件未安装时自动忽略
conditionalAccessboolean是否开启加入条件
accessOrgarray条件加入条件-部门 orgCode 列表,conditionalAccess=true 时必填(部门为空将导致无人能加入)
accessPostarray条件加入条件-岗位 ID 列表
accessUserGrouparray条件加入条件-用户组 ID 列表
accessPostRankarray条件加入条件-职级 ID 列表,职级插件未安装时自动忽略
hireDateTypestring条件入职日期类型:greatThanOrEqual/lessThanOrEqual/before/after/between
daysnumber条件入职日期-天数,hireDateType 为 greatThanOrEqual/lessThanOrEqual 时使用
datestring条件入职日期-单个日期 YYYY-MM-DD,hireDateType 为 before/after 时使用
hireDateRangearray条件入职日期-范围 [start, end] YYYY-MM-DD,hireDateType 为 between 时使用
autoAddMemberboolean满足条件的用户自动加入课程
autoRemoveMemberboolean未满足条件的用户自动移出课程

响应

字段类型说明
successboolean固定为 true

请求示例

http
POST /api/admin/course/essence/1001/publish
Authorization: Bearer <token>
Content-Type: application/json
json
{
  "language": "zh_CN",
  "showable": true,
  "publishOrg": ["1.2"],
  "publishPost": [],
  "publishUserGroup": [],
  "publishPostRank": [],
  "conditionalAccess": false,
  "accessOrg": [],
  "accessPost": [],
  "accessUserGroup": [],
  "accessPostRank": [],
  "afterCourseExam": false,
  "subtitleFileId": null,
  "autoAddMember": false,
  "autoRemoveMember": false
}

响应示例

json
{
  "success": true
}

异常

错误码HTTP说明触发条件
COURSE_NOT_FOUND404课程不存在课程 ID 无效或已删除
COURSE_NOT_ESSENCE403当前课程不是智萃课程无 course_essence_file 记录
ESSENCE_NOT_PROCESSED400智萃尚未完成essence_file.status 为 processing 或 failed
ESSENCE_VERSION_NOT_FOUND404指定语言版本不存在或未生成language 不在支持列表或未翻译
ESSENCE_ALREADY_PUBLISHED400已发布,不可重复course_essence_file.status = published
ESSENCE_PUBLISH_ORG_REQUIRED400发布范围必须选择部门showable=true 且 publishOrg 为空
ESSENCE_ACCESS_ORG_REQUIRED400加入条件必须选择部门conditionalAccess=true 且 accessOrg 为空
ESSENCE_HIRE_DATE_INVALID400入职日期参数无效hireDateType 与 days/date/range 不匹配,或 date/hireDateRange 非 YYYY-MM-DD 格式
ORG_NOT_FOUND404组织/部门编码无效或不存在publishOrg/accessOrg 中存在无法解析或校验失败的 orgCode
MENU_PERMISSION_DENIED403权限不足无课程管理权限
ESSENCE_MARKER_CREATE_FAILED500弹题创建失败Marker 或 QuestionMarker 写入数据库异常