零、根据具体应用场景设计出适当的流程图
一、启动任务流程
首先获取申请表,用于启动流程(如果前端回传值是ID可忽略)
1.修改状态变为审批中
2.获取登入人,用于启动流程
具体实现是:基于登录时传给前端的token中携带的用户ID与UserName(还有role)
在前端存入cookie中(localStorage.setItem() sessionStorage.setItem()也可以);
此处由注入的request.getHeader()方法拿出存入请求标头的token,随后由JWTUtil.parseToken()。getPayload()解析出先前存入的UserName;
3.将数据存入HashMap里面 用于启动流程
用户名对应着Assignee 绑定的变量 是申请人
4.启动流程实例 需要用到申请表 还有申请人
二、我的代办
1.先获取登入人查询我的代办,并解析token
2.查询正在执行的任务
需要确认是那个工作流,并根据当前登入人查询出所有任务对象
3.创建出一个VO对象用于存储task的任务数据
4.NEW出一个集合,用于展示我的代办任务列表
5.循环查询我的任务列表的其他数据 存入List 做我的代办列表
6.根据工作流的历史表去查询申请表的ID
7.查询数据库,向VO存数据
8.将List返回给前端
三、审核
解析token,拿出UserName
根据审核人等于zhansgan 修改数据库状态