Gpu管理系统接口说明 - BISTU-CETC/order_system GitHub Wiki
基本说明
由于在项目中新增模块Model引起的循环依赖问题未想到良好的解决方案,所以Gpu管理系统对接模块全部放置在externalApi.extra包下。
该模块完全单向依赖于主系统,可直接移除externalApi.extra包以卸载该模块。
技术选型方面,虽然会新增原有项目的依赖,但出于易用性和项目成员熟悉程度的考虑,请求发送模块采用的是okHttp框架,而没有使用spring原生工具进行开发;
对Json的解析使用的则是spring原生的解析器Jackson
主要增加内容:
- 一个项目依赖: okHttp3
- 一个接口: POST : /gpu/api/message
- 一个审批逻辑: "Gpu资源调度管理系统"
- 一个ExternalApi的实现类:GpuAdminSystemApi
数字字典:
返回码说明:
gpu系统中返回码为200时,表示工单审批通过;为6000时表明审批拒绝
正常情况下该节点审批不会不通过 如果出现了这种情况,有且仅有以下原因:
- 申请用户已提交过申请,并且由于资源已满尚未得到分配
- 申请用户已在使用资源,在当前资源得到释放前不得重复申请
- 由于在工单系统中录入信息有误导致的异常状况
资源类型(resourceType)说明:
- 类型:int
- 独占型资源:1010
- 共享型资源:3030
业务类型(bussinessType)说明:
- 类型:String
- Gpu申请:GPU_APPLY
- Gpu续期:GPU_RENEWAL
管理系统审批说明:
- 获取工单发起者信息,包括学号、用户id等,以及用户指定信息(申请资源类型、申请天数)
{
"wosId": 25753288,
"studentJobId": 2021011072,
"username": "小王",
"remark": "我要上网", // 可为空
"resourceType": 1010, // 详情见数字字典
"businessType": "GPU_APPLY", // 详情见数字字典
"applyDays": 1
}
-
检验合法性
-
尝试与Gpu系统建立连接,如果失败则抛出GpuSysConnectException异常
-
获取工单审批结果,200则为通过,6000为拒绝,如果是其他返回码则会抛出异常(RunTimeException)
-
根据审批结果给用户发送信息
新增接口说明:
新增接口: /gpu/api/message
该接口用于gpu系统给本系统中用户发送信息
该接口不被认证拦截器拦截
两系统间使用apiKey进行验证