workOrder - BISTU-CETC/order_system GitHub Wiki

工单接口

查询工单分页数据

接口说明

返回指定用户已提交的工单列表,支持根据工单标题模糊查询

提交地址

get /workOrders

请求参数

变量定义:

字段名 类型 必输 默认值 说明
size int 否 10 页记录数
current int 否 1 页数
title string 否 "" 工单标题(可以是标题一部分)

请求参数示例:

/workOrders?title=工单&size=10&current=1

成功返回

{
  "code": 200,
  "message": "成功",
  "data": {
    "records": [
      {
        "id": 11,
        "createTime": "2021-09-05 17:05:27",
        "updateTime": "2021-09-05 17:12:24",
        "deleted": 0,
        "isExamined": 1,
        "initiatorId": 1,
        "flowId": 1,
        "title": "测试pass接口",
        "attachment": null,
        "attachmentName": null,
        "status": 1,
        "content": "测试pass接口",
        "flowNodeId": 3,
        "isFinished": 1,
        "attachmentSize": null,
        "studentId": null,
        "jobId": null,
        "initiatorName": null,
        "flowName": null,
        "role": null,
        "attachmentUrl": null,
        "size": null,
        "current": null,
        "startDate": null,
        "endDate": null,
        "studentJobId": null,
        "flow": {
          "id": 1,
          "createTime": null,
          "updateTime": null,
          "deleted": null,
          "description": "test flow",
          "name": "申请GPU"
        },
        "flowNode": {
          "id": 3,
          "createTime": null,
          "updateTime": null,
          "deleted": null,
          "flowId": 1,
          "approverId": 2,
          "nodeOrder": 2,
          "nextId": null
        },
        "initiator": {
          "id": 1,
          "createTime": "2021-08-16 22:11:33",
          "updateTime": "2021-10-10 12:19:40",
          "deleted": 0,
          "openId": "ofVnE4tSuvWvRiI2OnSra1kdh-5E",
          "unionId": "otiKwt5WckzTy4mignTRXIg_Ouv8",
          "sessionKey": "3zwZbNdXM44bvKiv62jB7w==",
          "name": "文超",
          "infoComplete": 1,
          "gender": null,
          "avatarUrl": null,
          "nickName": null,
          "collegeId": 1,
          "majorId": 1,
          "clazzName": "软工1902",
          "grade": 3,
          "studentId": null,
          "secondaryDeptId": 2,
          "jobId": null,
          "isLock": 0,
          "token": null,
          "collegeName": null,
          "majorName": null,
          "secondaryDeptName": null,
          "roleId": null,
          "roleCategory": null,
          "major": {
            "id": 1,
            "name": "计算机学院",
            "collegeId": null
          },
          "secondaryDept": {
            "id": 2,
            "name": "实验中心",
            "collegeId": null
          },
          "college": {
            "id": 1,
            "name": "计算机学院"
          },
          "roleList": [
            {
              "id": 6,
              "createTime": null,
              "updateTime": null,
              "deleted": null,
              "name": "UNDERGRADUATE",
              "text": "本科生"
            },
            {
              "id": 1,
              "createTime": null,
              "updateTime": null,
              "deleted": null,
              "name": "ADMIN",
              "text": "管理员"
            }
          ],
          "studentJobId": 2019012617
        }
      }
    ],
    "total": 1,
    "size": 10,
    "current": 1,
    "orders": [],
    "hitCount": false,
    "searchCount": true,
    "pages": 1
  }
}

上传工单附件接口

接口说明

上传工单附件的接口

提交地址

put /workOrder/attachment/{工单id}

请求参数

参数说明:附件放在HTTP请求体中,只能是单个最大16M文件,HTTP的MIME类型是:multipart/form-data

字段名 类型 必输 默认值 说明
attachment 文件 是 附件

Http请求报文参考:

POST /workOrder/attachment/4 HTTP/1.1
token: eyJhbGciOiJIUzUxMiIsInppcCI6IkdaSVAifQ.H4sIAAAAAAAAAKtWKi4pTUnNK_FMUbLKK83J0VHKyk8CcYwsjA0sTcyNLC10lDKBfEMdpdSKAiBtZmxgbGBgZmJcCwAQ1GLIPQAAAA.aRGjRBSjqVOnjMQfuBHe4kYaC7MzmLIXaWTiv8v0KoOhieTbRGc-wcikhPDgpsqYDKsB69-_f18_8FFXHBsEmg
User-Agent: PostmanRuntime/7.28.3
Accept: */*
Postman-Token: 23606f71-3823-4cf5-ae08-381759ed9035
Host: localhost:8080
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Content-Type: multipart/form-data; boundary=--------------------------690936182950273531198291
Content-Length: 3689648
 
----------------------------690936182950273531198291
Content-Disposition: form-data; name="attachment"; filename="试着忘记.mp3"; filename*="UTF-8''%E8%AF%95%E7%9D%80%E5%BF%98%E8%AE%B0.mp3"
<试着忘记.mp3>
----------------------------690936182950273531198291--

成功返回

{
    "code": 200,
    "message": "成功",
    "data": null
}

下载工单附件接口

接口说明

使用工单的id下载工单附件,该接口没有访问权限,所有用户皆可访问,没有登录也可以访问

提交地址

get /workOrder/attachment/{工单id}/{工单下载加密串}

注意:“工单下载加密串”由查看工单详情接口、查看工单历史详情接口返回。

请求参数

无

成功返回

下载附件

提交工单接口

接口说明

用户提交工单入口

提交地址

post /workOrder

请求参数

变量定义:

字段名 类型 必输 默认值 说明
flowId int 是 工单对应的流程Id
content string 是 对工单需求的详细说明
title string 是 工单标题
userSpecifiedId string 否 如果工单的流程指明了要用户携带额外id,则前端界面需要向用户索要该信息;详见下方说明

说明:userSpecifiedId可以是研究生或本科生在发起工单时指定的导师/指导教师的id,后端提供查询教师的接口,前端需要引导用户进行搜索,并将搜索到的教师信息(id)传到此接口。

请求参数示例:

{
    "flowId":1,
    "content":"具体内容神略",
    "title":"申请xxx工单",
    "userSpecifiedId":12
}

成功返回

{
    "code": 200,
    "message": "成功",
    "data": null
}

查看工单详情

接口说明

用户点击工单列表中的某一个工单,调用此接口获取工单详细信息,接口返回工单发起用户的详细信息,工单流程详细信息,及工单本身信息。注意,不会返回工单附件二进制文件,如果工单没有附件,那么attachmentName字段为null。

提交地址

get /workOrder/detail

请求参数

变量定义:

字段名 类型 必输 默认值 说明
workOrderId int 是 要查询的工单Id

请求参数示例:

workOrder/detail?workOrderId=12

成功返回

{
  "code": 200,
  "message": "成功",
  "data": {
    "id": 12,
    "createTime": "2021-09-10 15:27:49",
    "updateTime": "2021-09-10 15:36:10",
    "deleted": 0,
    "isExamined": 0,
    "initiatorId": 1,
    "flowId": 1,
    "title": "测试整个工作流程",
    "attachment": null,
    "attachmentName": null,
    "status": 3,
    "content": "测试整个工作流程",
    "flowNodeId": 1,
    "isFinished": 1,
    "attachmentSize": null,
    "studentId": null,
    "jobId": null,
    "initiatorName": null,
    "flowName": null,
    "role": null,
    "attachmentUrl": null,
    "size": null,
    "current": null,
    "startDate": null,
    "endDate": null,
    "studentJobId": null,
    "flow": {
      "id": 1,
      "createTime": null,
      "updateTime": null,
      "deleted": null,
      "description": "test flow",
      "name": "申请GPU"
    },
    "flowNode": {
      "id": 1,
      "createTime": null,
      "updateTime": null,
      "deleted": null,
      "flowId": 1,
      "approverId": 2,
      "nodeOrder": 0,
      "nextId": 2
    },
    "initiator": {
      "id": 1,
      "createTime": "2021-08-16 22:11:33",
      "updateTime": "2021-10-10 12:19:40",
      "deleted": 0,
      "openId": "ofVnE4tSuvWvRiI2OnSra1kdh-5E",
      "unionId": "otiKwt5WckzTy4mignTRXIg_Ouv8",
      "sessionKey": "3zwZbNdXM44bvKiv62jB7w==",
      "name": "文超",
      "infoComplete": 1,
      "gender": null,
      "avatarUrl": null,
      "nickName": null,
      "collegeId": 1,
      "majorId": 1,
      "clazzName": "软工1902",
      "grade": 3,
      "studentId": null,
      "secondaryDeptId": 2,
      "jobId": null,
      "isLock": 0,
      "token": null,
      "collegeName": null,
      "majorName": null,
      "secondaryDeptName": null,
      "roleId": null,
      "roleCategory": null,
      "major": {
        "id": 1,
        "name": "计算机学院",
        "collegeId": null
      },
      "secondaryDept": {
        "id": 2,
        "name": "实验中心",
        "collegeId": null
      },
      "college": {
        "id": 1,
        "name": "计算机学院"
      },
      "roleList": [
        {
          "id": 6,
          "createTime": null,
          "updateTime": null,
          "deleted": null,
          "name": "UNDERGRADUATE",
          "text": "本科生"
        },
        {
          "id": 1,
          "createTime": null,
          "updateTime": null,
          "deleted": null,
          "name": "ADMIN",
          "text": "管理员"
        }
      ],
      "studentJobId": 2019012617
    }
  }
}

查看历史工单详情

接口说明

与查看工单详情接口相似,不再赘述.

提交地址

get /workOrder/history/detail

请求参数

变量定义:

字段名 类型 必输 默认值 说明
workOrderHistoryId int 是 要查询的历史工单Id

请求参数示例:

workOrder/history/detail?workOrderHistoryId=1

成功返回

{
  "code": 200,
  "message": "成功",
  "data": {
    "id": 2,
    "createTime": null,
    "updateTime": null,
    "deleted": null,
    "workOrderId": 11,
    "beforeFinishedFlowNodeId": 3,
    "beforeFinishedStatus": 0,
    "workOrderVo": {
      "id": 11,
      "createTime": "2021-09-05 17:05:27",
      "updateTime": "2021-09-05 17:12:24",
      "deleted": 0,
      "isExamined": 1,
      "initiatorId": 1,
      "flowId": 1,
      "title": "测试pass接口",
      "attachment": null,
      "attachmentName": null,
      "status": 1,
      "content": "测试pass接口",
      "flowNodeId": 3,
      "isFinished": 1,
      "attachmentSize": null,
      "studentId": null,
      "jobId": null,
      "initiatorName": null,
      "flowName": null,
      "role": null,
      "attachmentUrl": null,
      "size": null,
      "current": null,
      "startDate": null,
      "endDate": null,
      "studentJobId": null,
      "flow": {
        "id": 1,
        "createTime": null,
        "updateTime": null,
        "deleted": null,
        "description": "test flow",
        "name": "申请GPU"
      },
      "flowNode": {
        "id": 3,
        "createTime": null,
        "updateTime": null,
        "deleted": null,
        "flowId": 1,
        "approverId": 2,
        "nodeOrder": 2,
        "nextId": null
      },
      "initiator": {
        "id": 1,
        "createTime": "2021-08-16 22:11:33",
        "updateTime": "2021-10-10 12:19:40",
        "deleted": 0,
        "openId": "ofVnE4tSuvWvRiI2OnSra1kdh-5E",
        "unionId": "otiKwt5WckzTy4mignTRXIg_Ouv8",
        "sessionKey": "3zwZbNdXM44bvKiv62jB7w==",
        "name": "文超",
        "infoComplete": 1,
        "gender": null,
        "avatarUrl": null,
        "nickName": null,
        "collegeId": 1,
        "majorId": 1,
        "clazzName": "软工1902",
        "grade": 3,
        "studentId": null,
        "secondaryDeptId": 2,
        "jobId": null,
        "isLock": 0,
        "token": null,
        "collegeName": null,
        "majorName": null,
        "secondaryDeptName": null,
        "roleId": null,
        "roleCategory": null,
        "major": {
          "id": 1,
          "name": "计算机学院",
          "collegeId": null
        },
        "secondaryDept": {
          "id": 2,
          "name": "实验中心",
          "collegeId": null
        },
        "college": {
          "id": 1,
          "name": "计算机学院"
        },
        "roleList": [
          {
            "id": 6,
            "createTime": null,
            "updateTime": null,
            "deleted": null,
            "name": "UNDERGRADUATE",
            "text": "本科生"
          },
          {
            "id": 1,
            "createTime": null,
            "updateTime": null,
            "deleted": null,
            "name": "ADMIN",
            "text": "管理员"
          }
        ],
        "studentJobId": 2019012617
      }
    }
  }
}
⚠️ **GitHub.com Fallback** ⚠️