Activiti6.0 实现领取任务,类似美团骑手抢单

335 阅读1分钟

前言

需求如下:
实现类似用户A发布一个任务,到任务池中,然后用户组B下的所有人都可以看到这个单子,然后如果用户B下的用户C抢到了,则这个单子,就在用户组B下消失,变成用户C的个人任务。

类似美团抢单

实现

  • 把这个节点设置为用户组配置模式(任务分配给test组)

  • 查询待接任务列表

    • List tasks = taskService.createTaskQuery().taskCandidateUser(“laker”).list();

    注意我们传入的用户必须是test组的一个成员

    • TaskService taskService = processEngine.getTaskService();
      List tasks = taskService.createTaskQuery().taskCandidateGroup(“test”).list();

    也可以使用群组名称

这个时候,组内的所有人都能看到这个任务。为待接任务

  • 领取任务

    • taskService.claim(task.getId(), “laker”);

    认领以后,这个用户就会成为任务的执行人 , 任务会从组的其他成员的任务列表中消失

  • 任务会进入认领任务人的个人任务列表中。
    List tasks = taskService.createTaskQuery().taskAssignee(“laker”).list();


🍎QQ群【837324215】
🍎关注我的公众号【Java大厂面试官】,一起学习呗🍎🍎🍎
🍎个人vxlakernote

img