美文网首页
一、工作流 Activiti7-12.API新特性TaskRun

一、工作流 Activiti7-12.API新特性TaskRun

作者: 那钱有着落吗 | 来源:发表于2021-04-06 09:07 被阅读0次
image.png
 //获取当前登录用户任务
    @Test
    public void findTasks(){
        securityUtil.logInAs("zhangsan");

        Page<Task> taskPage = taskRuntime.tasks(Pageable.of(0,100));

        List<Task> tasks = taskPage.getContent();

        for(Task task:tasks){
            System.out.println("getId:"+task.getId());
            System.out.println("getName:"+task.getName());
            System.out.println("getStatus:"+task.getStatus());
            System.out.println("getCreatedDate:"+task.getCreatedDate());
            if(task.getAssignee()==null){
                //候选人为当前登录用户,null时任务待拾取
                System.out.println("Assignee:待拾取任务");
            }else{
                System.out.println("Assignee"+task.getAssignee());
            }
        }

    }

可以看到我们并没有传入当前登录用户的id或者name,怎么获取的呢,我们查看下task的api

 public Page<Task> tasks(Pageable pageable) {
        String authenticatedUserId = this.securityManager.getAuthenticatedUserId();
        if (authenticatedUserId != null && !authenticatedUserId.isEmpty()) {
            List<String> userGroups = this.userGroupManager.getUserGroups(authenticatedUserId);
            return this.tasks(pageable, TaskPayloadBuilder.tasks().withAssignee(authenticatedUserId).withGroups(userGroups).build());
        } else {
            throw new IllegalStateException("You need an authenticated user to perform a task query");
        }
    }

发现在安全框架这儿已经做了获取用户的操作了。

在完成任务的时候,我们首先需要拿到任务,如果该任务没有分配给我们需要完成的人,那么久证明该人员是候选人,就要先进行拾取,然后再完成。

//完成任务
    @Test
    public void completeTask(){
        securityUtil.logInAs("zhangsan");
        Task task = taskRuntime.task("");
        if(task.getAssignee()==null){
            taskRuntime.claim(TaskPayloadBuilder.claim().withTaskId("").build());
        }
        taskRuntime.complete(TaskPayloadBuilder.complete().withTaskId(task.getId()).build());
    }

相关文章

  • 一、工作流 Activiti7-12.API新特性TaskRun

    可以看到我们并没有传入当前登录用户的id或者name,怎么获取的呢,我们查看下task的api 发现在安全框架这儿...

  • Dynflow中文文档

    dynflow是一个工作流引擎,foreman-katello中主要就是通过它来实现的工作流编排工作 特性概览 跟...

  • 十道前端面试题第【02】篇

    摘要:本篇分享了5道算法题、手写bind函数、跨域解决方案、Vuex工作流程、ES6新特性、学习CSS布局等。 1...

  • JDK新特性书目录

    JDK1.4新特性 JDK1.5新特性 JDK1.6新特性 JDK1.7新特性 JDK1.8新特性

  • Math方法和es新特性

    es6常用 es7新特性 es8新特性 es9新特性 es10新特性

  • 几种开源工作流引擎的简单比较

    目前开源工作流引擎用的最多的是jbpm , 各种特性都不错, 文档也比较多, 下面只简单列举一下 其他几种工作流引...

  • Java11的新特性

    Java语言特性系列 Java5的新特性 Java6的新特性 Java7的新特性 Java8的新特性 Java9的...

  • Java15的新特性

    Java语言特性系列 Java5的新特性 Java6的新特性 Java7的新特性 Java8的新特性 Java9的...

  • Java12的新特性

    Java语言特性系列 Java5的新特性 Java6的新特性 Java7的新特性 Java8的新特性 Java9的...

  • zeebe 为微服务架构的工作流引擎

    zeebe 是灵活、轻量的基于微服务架构的工作流引擎 包含以下特性: 可视化的额工作流 审计日志以及历史 水平缩放...

网友评论

      本文标题:一、工作流 Activiti7-12.API新特性TaskRun

      本文链接:https://www.haomeiwen.com/subject/cujzcltx.html