云桥大会JPX.com 捷配链
云桥杯 / 赛事资源 / 模拟工厂接口参考

API REFERENCE

模拟工厂接口参考

按需查阅参数、返回字段和业务规则,可用于万智插件或自己的程序。

本页目录先领取账号,再选择接入方式在万智中使用(可选)1. 通用说明1.1 基础地址1.2 认证方式1.3 响应格式(实测修正)1.4 常见错误1.5 已知限制与注意事项2. Orders — 订单2.1 模块说明2.2 查询订单列表2.3 获取订单详细信息2.4 新增订单2.5 随机生成一条订单2.6 委外3. Processes — 工序3.1 模块说明3.2 查询工序列表3.3 获取工序详细信息4. Exceptions — 异常4.1 模块说明4.2 查询异常列表4.3 获取异常详细信息5. Resources — 资源5.1 模块说明5.2 查询资源列表5.3 获取资源详细信息6. Jobs — 作业6.1 模块说明6.2 查询作业列表6.3 获取作业详细信息6.4 排产 arrange7. 本届可写范围与能力边界8. 数据生命周期与资源使用说明9. 接口速查表(唯一权威开放清单)10. 联调示例使用与核验提醒下载与相关说明

本页按技术团队最新接口文档整理,完整保留参数、响应与业务限制。“实测”指技术团队的核验记录,不代表网站整理时重新调用过服务。请求地址、Token 和示例 ID 请替换为本队信息。

先领取账号,再选择接入方式

模拟工厂后台账号请联系赛事群里的技术人员楼亮按需领取,建议 B(生产管理)方向按项目需要领取。登录后台查看数据并获取本队 Token 后,再选择用万智插件还是自己的程序调用 API。插件是可选方式;下面介绍插件配置,代码调用可直接查阅后续接口说明。

在万智中使用(可选)

进入工具箱 → 插件中心 → 通过 API 创建 → 模拟工厂。内置模板提供 13 个业务接口;最新技术文档还提供随机生成订单 randomOne,共 14 个端点。使用内置模板无需下载 JSON。鉴权选择“请求头”,前缀 Bearer,键 Authorization,值只填 Token 本体,不要再加 Bearer。

本包的 factory-openapi.json 是根据最新技术文档修订的配套描述,包含 14 个端点,并非平台原样导出。需要自定义插件时可参考它。技术资料列出的工厂 API 地址为 http://121.229.160.47:8090;若赛事助手另行通知本队地址,以该通知为准。当前资料已明确列表的 rows/total 位于顶层、详情 data 恒为 null、工时和修复时长均为分钟,请按下文读取数据。

详情小节保留字段说明供查阅,但当前详情响应为 data=null;实际记录请从列表的 rows 获取。有些列表没有对应 ID 筛选参数,遇到这种情况应分页获取后按原始 ID 在本地筛选,不能假设任意过滤参数都有效。

下方列表记录字段表已按 技术团队实测说明统一:长 ID 与金额按字符串返回。请求参数保留技术文档声明的类型;长 ID 传参时仍须保留完整原值,避免精度丢失。处理返回值时以实测说明为准,长 ID 必须原样保留,不要转为 JavaScript Number;金额如需计算应使用适合金额的十进制处理方式。

涵盖模块:Orders(订单)、Processes(工序)、Resources(资源)、Exceptions(异常)、Jobs(作业)

本文档为模拟工厂接口的唯一权威清单(见第 9 节速查表),技术团队已逐项实测全部端点。

1. 通用说明

1.1 基础地址

环境Base URL
演示 / 联调http://121.229.160.47:8090

工厂五模块接口前缀:

模块路径前缀
订单/system/order
工序/system/process
异常/system/exception
资源/system/resource
作业/system/job

1.2 认证方式

1. 请求头:Authorization: Bearer {{FACTORY_ACCESS_TOKEN}}

先联系赛事群里的技术人员楼亮按需领取后台账号,再登录模拟工厂后台获取本队 Token;找不到时请联系技术人员楼亮

Bearer 前缀提醒:在万智插件"鉴权方法"中已选择"Bearer"前缀时,"值"一栏只填写 Token 本体,不要重复添加 Bearer 前缀,避免出现 Bearer Bearer <token>。手工拼 HTTP 请求时(如 curl、代码调用),才需要完整写成 Authorization: Bearer {{FACTORY_ACCESS_TOKEN}}。

1.3 响应格式(实测修正)

非列表接口(详情、写操作)统一包装为:

{
  "code": 200,
  "msg": "操作成功",
  "data": null
}
字段类型说明
codeint业务状态码,200 表示成功
msgstring提示信息(写操作为"操作成功")
dataobject / string / null业务数据;详情接口恒为 null,新增订单为 null,randomOne 为新订单 ID 字符串

分页列表接口(GET .../list)不使用 data 包装,rows 与 total 在顶层(实测):

{
  "total": 18,
  "rows": [ { } ],
  "code": 200,
  "msg": "查询成功"
}

实测提示:列表行中的 ID 字段(orderId 等雪花 ID)以字符串返回;金额字段(money/cost/compensation)也以字符串返回(如 "6000.00");订单行还包含本文档未列出的 tenantId 等附加字段,以实际返回为准。

1.4 常见错误

HTTP 状态code说明
200401未携带或 Token 无效:HTTP 仍为 200,响应体 code=401,msg 认证失败,无法访问系统资源(实测)
403403无菜单权限
500500服务端异常

1.5 已知限制与注意事项

1. 详情接口空返回:各模块的详情接口(GET .../{id})当前服务端实现为 code=200 但 data 恒为 null,属已知行为,以 code 200 判通;需要业务数据时请使用对应列表接口。只使用参数表中列明的筛选项;没有对应 ID 筛选参数时,翻页读取并按完整 ID 匹配。

2. 新增接口不返回新 ID:POST /system/order 返回 code 200 但不带回新记录 ID;创建后请调用列表接口查回,请按订单字段核对新记录,不能仅凭 rows 第一行判断。

3. 长整型(雪花)ID 精度:接口已将长整型 ID 以字符串序列化返回(如 "orderId":"2110559967900676098",实测),可规避 JSON 解析精度问题;但程序若将其转为数值(如 JS Number),末几位仍会被截断(...762 变 ...800)。请始终按字符串保留返回原值使用,不要数值运算后再回传;网页后台的显示误差同理,以 API 返回原值为准。

4. 结果核验:所有写操作(新增订单、排产、委外)执行后,须通过列表接口或网页后台核对后台保存的结果后再汇报,不得仅凭 code 200 宣称业务效果已达成。

5. 数据是实时变化的模拟数据(实测观测):作业会随真实时间自动推进,设备会随机故障与恢复——两次查询结果不同属正常现象;做状态评估与核验时注意数据时效,引用数据建议带上查询时间。

2. Orders — 订单

2.1 模块说明

下方是原文对后台模块的概括;其中提到的修改、删除、导出不代表开放 API,官方可调用范围以第 9 节清单为准。

工厂生产订单管理:创建/修改/删除订单,分页查询,导出 Excel,随机生成演示数据,以及订单委外标记(0 自产 / 1 委外)。

订单状态 orderStatus:如「初始化、开料」等,以系统字典/业务配置为准。

层数 layer:1 单面板/铝基板,2 双面板,>2 多层板。

列表记录字段 TOrderVo 主要字段

字段类型说明
orderIdstring(列表实测)订单id
layerint层数:1 单面板/铝基板(业务说明),2 双面板,>2 多层板
layerNamestring—
orderStatusstring初始化,开料
moneystring(列表实测)销售金额
coststring(列表实测)成本
compensationstring(列表实测)赔偿金
quantityint数量
deliveryDatedatetime交付日期
outsourceint0 自产 1 委外
outsourceNamestring—

2.2 查询订单列表

GET /system/order/list

请求参数(Query)

参数类型必填说明
orderIdint否订单号
orderIdsarray[int]否订单号
layerint否层数
orderStatusstring否订单状态
outsourceint否委外
beginTimedatetime否查询开始日期
endTimedatetime否查询结束时间
pageSizeint否分页大小
pageNumint否当前页数
orderByColumnstring否排序列
isAscstring否排序方向(asc/desc)

响应

分页列表。

列表 rows 中的记录字段:TOrderVo

字段类型说明
orderIdstring(列表实测)订单id
layerint层数:1 单面板/铝基板(业务说明),2 双面板,>2 多层板
layerNamestring—
orderStatusstring初始化,开料
moneystring(列表实测)销售金额
coststring(列表实测)成本
compensationstring(列表实测)赔偿金
quantityint数量
deliveryDatedatetime交付日期
outsourceint0 自产 1 委外
outsourceNamestring—

请求示例

GET http://121.229.160.47:8090/system/order/list?pageNum=1&pageSize=10
Authorization: Bearer {{FACTORY_ACCESS_TOKEN}}

2.3 获取订单详细信息

GET /system/order/{orderId}

已知限制:该接口当前返回 code=200 但 data 恒为 null(见 1.5),业务数据请用列表接口按 orderId 过滤获取。

路径参数

参数类型必填说明
orderIdint是主键

响应

当前响应为 code=200、data=null,不返回详情业务数据。下列或对应模块中的字段说明用于理解列表记录,不表示详情已返回这些字段。

列表 rows 中的记录字段:TOrderVo

字段类型说明
orderIdstring(列表实测)订单id
layerint层数:1 单面板/铝基板(业务说明),2 双面板,>2 多层板
layerNamestring—
orderStatusstring初始化,开料
moneystring(列表实测)销售金额
coststring(列表实测)成本
compensationstring(列表实测)赔偿金
quantityint数量
deliveryDatedatetime交付日期
outsourceint0 自产 1 委外
outsourceNamestring—

2.4 新增订单

POST /system/order

访问策略:需要登录

请求体(Body)

Content-Type: application/json

实测通过示例(可直接复制后修改):

{
  "layer": 2,
  "orderStatus": "初始化",
  "money": 100,
  "quantity": 1,
  "deliveryDate": "2026-12-31 00:00:00",
  "outsource": 0
}
字段类型必填说明
layerint是层数:1 单面板,2 双面板,>2 多层板
orderStatusstring否订单状态,如 初始化
moneydecimal否销售金额
quantityint是数量
deliveryDatedatetime否交付日期,格式 yyyy-MM-dd HH:mm:ss
outsourceint否0 自产 1 委外

审计字段(createBy、createTime 等)由服务端填充,调用方通常无需传递。

响应

操作成功时 data 多为空。该接口不返回新记录 ID,创建后请调用 GET /system/order/list 查回,请按订单字段核对新记录,不能仅凭 rows 第一行判断(见 1.5)。

2.5 随机生成一条订单

POST /system/order/randomOne

访问策略:需要登录

演示辅助接口,用于快速构造演示数据;不在《万智插件配置说明文档》的 13 个业务接口清单内。

响应

实测返回 data 为新订单 ID 的字符串(核验):

{
  "code": 200,
  "msg": "操作成功",
  "data": "2110724512455659522"
}

2.6 委外

POST /system/order/outsource

访问策略:需要登录

请求体(Body)

Content-Type: application/json,模型:TOrderOutSourceBo

字段类型必填说明
orderIdint是订单id
outsourceint否0 自产 1 委外

审计字段(createBy、createTime 等)由服务端填充,调用方通常无需传递。

响应

操作成功时 data 多为空。

3. Processes — 工序

3.1 模块说明

工序(工艺步骤)定义:名称、加工要求、前后约束、顺序、标准工时、成本等。与订单、作业、异常、资源通过 processId 关联。

duration 单位为分钟(实测:数量=1 的订单排产后,开料作业 duration=4 的起止时间恰好相隔 4 分钟)。

列表记录字段 TProcessVo 主要字段

字段类型说明
processIdstring(列表实测)工序id
processNamestring名称
processRequirementstring加工要求
prevConstraintstring前约束
nextConstraintstring后约束
processOrderint顺序
durationint耗时(分钟,已实测确认)
coststring(列表实测)成本元

3.2 查询工序列表

GET /system/process/list

请求参数(Query)

参数类型必填说明
processNamestring否工序
pageSizeint否分页大小
pageNumint否当前页数
orderByColumnstring否排序列
isAscstring否排序方向(asc/desc)

响应

分页列表。

列表 rows 中的记录字段:TProcessVo

字段类型说明
processIdstring(列表实测)工序id
processNamestring名称
processRequirementstring加工要求
prevConstraintstring前约束
nextConstraintstring后约束
processOrderint顺序
durationint耗时(分钟,已实测确认)
coststring(列表实测)成本元

请求示例

GET http://121.229.160.47:8090/system/process/list?pageNum=1&pageSize=10
Authorization: Bearer {{FACTORY_ACCESS_TOKEN}}

3.3 获取工序详细信息

GET /system/process/{processId}

已知限制:该接口当前返回 code=200 但 data 恒为 null(见 1.5),业务数据请用列表接口获取。

路径参数

参数类型必填说明
processIdint是主键

响应

当前响应为 code=200、data=null,不返回详情业务数据。下列或对应模块中的字段说明用于理解列表记录,不表示详情已返回这些字段。

4. Exceptions — 异常

4.1 模块说明

生产异常记录:关联订单与工序,记录异常时间、名称与类型。

异常类型 exceptionType:1=设备异常,2=人员异常(实测,exceptionTypeName 由服务端字典翻译返回);类型 3 在当前数据中未出现。

列表记录字段 TExceptionVo 主要字段

字段类型说明
exceptionIdstring(列表实测)异常id
orderIdstring(列表实测)订单id
processIdstring(列表实测)工序id
exceptionTimedatetime异常时间
exceptionNamestring名称
exceptionTypeint类型:1设备异常 2人员异常(实测映射;3 未在数据中出现)
exceptionTypeNamestring—

4.2 查询异常列表

GET /system/exception/list

请求参数(Query)

参数类型必填说明
orderIdint否订单号
processIdint否工序号
beginTimedatetime否查询开始日期
endTimedatetime否查询结束时间
exceptionNamestring否名称
exceptionTypeint否类型
pageSizeint否分页大小
pageNumint否当前页数
orderByColumnstring否排序列
isAscstring否排序方向(asc/desc)

响应

分页列表。

列表 rows 中的记录字段:TExceptionVo

字段类型说明
exceptionIdstring(列表实测)异常id
orderIdstring(列表实测)订单id
processIdstring(列表实测)工序id
exceptionTimedatetime异常时间
exceptionNamestring名称
exceptionTypeint类型:1设备异常 2人员异常(实测映射;3 未在数据中出现)
exceptionTypeNamestring—

请求示例

GET http://121.229.160.47:8090/system/exception/list?pageNum=1&pageSize=10
Authorization: Bearer {{FACTORY_ACCESS_TOKEN}}

4.3 获取异常详细信息

GET /system/exception/{exceptionId}

已知限制:该接口当前返回 code=200 但 data 恒为 null(见 1.5),业务数据请用列表接口获取。

路径参数

参数类型必填说明
exceptionIdint是主键

响应

当前响应为 code=200、data=null,不返回详情业务数据。下列或对应模块中的字段说明用于理解列表记录,不表示详情已返回这些字段。

5. Resources — 资源

5.1 模块说明

生产资源(主要为设备):资源类型、设备名称、关联工序、故障率、状态、修复时长等。

repairTime 单位为分钟(实测:repairTime=1 的故障设备数分钟内即恢复空闲)。

列表记录字段 TResourceVo 主要字段

字段类型说明
resourceIdstring(列表实测)资源id
resourceTypestring设备 人
deviceNamestring名称
processIdstring(列表实测)工序id
failureRateint故障率
statusint状态:1空闲 2忙 3故障(实测推断,故障资源均带 failTime)
repairTimeint修复时间(分钟,已实测确认)
failTimedatetime—

5.2 查询资源列表

GET /system/resource/list

请求参数(Query)

参数类型必填说明
resourceTypestring否类型
deviceNamestring否名称
statusint否状态
pageSizeint否分页大小
pageNumint否当前页数
orderByColumnstring否排序列
isAscstring否排序方向(asc/desc)

响应

分页列表。

列表 rows 中的记录字段:TResourceVo

字段类型说明
resourceIdstring(列表实测)资源id
resourceTypestring设备 人
deviceNamestring名称
processIdstring(列表实测)工序id
failureRateint故障率
statusint状态:1空闲 2忙 3故障(实测推断,故障资源均带 failTime)
repairTimeint修复时间(分钟,已实测确认)
failTimedatetime—

请求示例

GET http://121.229.160.47:8090/system/resource/list?pageNum=1&pageSize=10
Authorization: Bearer {{FACTORY_ACCESS_TOKEN}}

5.3 获取资源详细信息

GET /system/resource/{resourceId}

已知限制:该接口当前返回 code=200 但 data 恒为 null(见 1.5),业务数据请用列表接口获取。

路径参数

参数类型必填说明
resourceIdint是主键

响应

当前响应为 code=200、data=null,不返回详情业务数据。下列或对应模块中的字段说明用于理解列表记录,不表示详情已返回这些字段。

6. Jobs — 作业

6.1 模块说明

工序作业实例:绑定订单、工序、资源,记录开始/结束时间与执行状态。

作业状态 status:1 进行中,2 结束,3 故障(实测映射)。

列表记录字段 TJobVo 主要字段

字段类型说明
jobIdstring(列表实测)作业id
orderIdstring(列表实测)订单id
processIdstring(列表实测)工序id
resourceIdstring(列表实测)—
startTimedatetime开始时间
endTimedatetime结束时间
statusint状态:1进行中 2结束 3故障(实测)
statusNamestring—

6.2 查询作业列表

GET /system/job/list

请求参数(Query)

参数类型必填说明
jobIdint否作业id
orderIdint否订单id
processIdint否工序ID
resourceIdint否设备ID
startTimedatetime否查询开始时间
endTimedatetime否查询结束时间
statusint否状态
pageSizeint否分页大小
pageNumint否当前页数
orderByColumnstring否排序列
isAscstring否排序方向(asc/desc)

响应

分页列表。

列表 rows 中的记录字段:TJobVo

字段类型说明
jobIdstring(列表实测)作业id
orderIdstring(列表实测)订单id
processIdstring(列表实测)工序id
resourceIdstring(列表实测)—
startTimedatetime开始时间
endTimedatetime结束时间
statusint状态:1进行中 2结束 3故障(实测)
statusNamestring—

请求示例

GET http://121.229.160.47:8090/system/job/list?pageNum=1&pageSize=10
Authorization: Bearer {{FACTORY_ACCESS_TOKEN}}

6.3 获取作业详细信息

GET /system/job/{jobId}

已知限制:该接口当前返回 code=200 但 data 恒为 null(见 1.5),业务数据请用列表接口获取。

路径参数

参数类型必填说明
jobIdint是主键

响应

当前响应为 code=200、data=null,不返回详情业务数据。下列或对应模块中的字段说明用于理解列表记录,不表示详情已返回这些字段。

6.4 排产 arrange

POST /system/job/arrange

访问策略:需要登录

请求体(Body)

Content-Type: application/json,模型:TOrderArrangeVo

字段类型必填说明
orderIdsarray[int]否订单id

审计字段(createBy、createTime 等)由服务端填充,调用方通常无需传递。

响应

操作成功时 data 多为空。排产结果请通过 GET /system/job/list 核验。

7. 本届可写范围与能力边界

本届官方接口的可写范围(除此以外均为只读查询):

接口效果
POST /system/order新增订单(仅写入数据,不返回新 ID)
POST /system/order/randomOne随机生成一条演示订单
POST /system/job/arrange按订单生成排产作业;实测会同时推进订单状态(如 初始化→开料)
POST /system/order/outsource设置订单委外标记

能力边界:

  • 写接口的业务联动以实测为准(如 arrange 会生成作业并推进订单状态);不要假设未文档化的联动效果,执行后须自行核对后台保存的结果(见 1.5)。
  • 官方接口仅提供第 9 节速查表所列端点;详情增删改、快照恢复/回滚等操作官方未提供接口,如需相关能力须由参赛团队自行实现。
  • 凡本文档未列出的端点与能力,请勿按"可用"对待。

8. 数据生命周期与资源使用说明

  • 有名称或备注字段时,可用 测试- 前缀标记测试记录;没有相应字段的接口不要自行增加参数,应记录返回 ID 或通过已有字段核对;请勿修改或删除官方预置的演示数据。
  • 赛后数据由赛事助手统一清理/重置;选手不得假设数据长期保存、可随时导出、任意重置或恢复。
  • 数据保存期限、导出范围与赛后复用规则以赛事助手的正式通知为准,本文档不作预设。

9. 接口速查表(唯一权威开放清单)

模块方法路径说明状态
订单GET/system/order/list查询订单列表实测通过
订单GET/system/order/{orderId}查询订单详情实测:data 恒 null(见 1.5)
订单POST/system/order新增订单实测:不返回新 ID
订单POST/system/order/outsource委外实测通过
订单POST/system/order/randomOne随机生成一条订单实测通过(演示辅助)
工序GET/system/process/list查询工序列表实测通过
工序GET/system/process/{processId}查询工序详情实测:data 恒 null(见 1.5)
异常GET/system/exception/list查询异常列表实测通过
异常GET/system/exception/{exceptionId}查询异常详情实测:data 恒 null(见 1.5)
资源GET/system/resource/list查询资源列表实测通过
资源GET/system/resource/{resourceId}查询资源详情实测:data 恒 null(见 1.5)
作业GET/system/job/list查询作业列表实测通过
作业GET/system/job/{jobId}查询作业详情实测:data 恒 null(见 1.5)
作业POST/system/job/arrange排产实测通过

本表为模拟工厂唯一权威接口清单:13 个业务接口与《万智插件配置说明文档》一致,另含 1 个演示辅助接口 randomOne。

10. 联调示例

### 查询订单列表
GET http://121.229.160.47:8090/system/order/list?pageNum=1&pageSize=10
Authorization: Bearer {{FACTORY_ACCESS_TOKEN}}

### 新增订单(写操作,执行后请用列表接口核验)
POST http://121.229.160.47:8090/system/order
Authorization: Bearer {{FACTORY_ACCESS_TOKEN}}
Content-Type: application/json

{"layer": 2, "orderStatus": "初始化", "money": 100, "quantity": 1, "deliveryDate": "2026-12-31 00:00:00", "outsource": 0}

### 随机生成一条订单(演示)
POST http://121.229.160.47:8090/system/order/randomOne
Authorization: Bearer {{FACTORY_ACCESS_TOKEN}}

### 查询工序列表
GET http://121.229.160.47:8090/system/process/list?pageNum=1&pageSize=10
Authorization: Bearer {{FACTORY_ACCESS_TOKEN}}

使用与核验提醒

  • 先调用只读列表,与网页后台核对。工厂 HTTP 200 仍可能是业务 code=401;元器件鉴权失败可能是 HTTP 401 空响应体。
  • 工厂详情 data=null 是已知行为。查业务记录请用列表;新增订单后还应核对记录内容,避免仅把第一行当作自己创建的数据。
  • 两个系统分页不同:工厂 pageNum/pageSize,返回顶层 rows/total;元器件 page/pageSize,返回 data.items/total/page/pageSize;供应商列表不分页。读取完整数据要翻页。
  • 写操作后查询确认实际结果,不把 code=200 当作采购执行或业务效果已完成。元器件采购、库存和供应商只读,创建销售订单不扣库存、不推进状态。
  • 工厂数据随时间变化,查询结果应标明查询时间。真实密码和 Token 只填写到私有鉴权配置,不写进公开作品或截图。