Camunda Engine,任务搜索

Camunda Engine, task search

提问人:Pertsh Galstyan 提问时间:11/4/2023 更新时间:11/4/2023 访问量:13

问:

我正在使用 Camunda 版本 7.19.0。我已经实现了一个控制器,该控制器采用 TaskQueryDto 根据指定的变量条件查找所有任务。

@RestController
public class RestEngineController {

    @Autowired
    private TaskCustomService taskCustomService;

    @PostMapping(value = "/rest-engine/task-with-variables", produces = MediaType.APPLICATION_JSON_VALUE)
    List<TaskWithVariables> getTasks(@RequestBody TaskQueryDto query,
                                     @RequestParam("firstResult") Integer firstResult,
                                     @RequestParam("maxResults") Integer maxResults) {
        return taskCustomService.getTasks(query, firstResult, maxResults);
    }
}

但是,我遇到了一个问题。在 Camunda 的 ConditionQueryParameterDto 中,没有 “in” 运算符。

public class ConditionQueryParameterDto {

  public ConditionQueryParameterDto() {

  }

  public static final String EQUALS_OPERATOR_NAME = "eq";
  public static final String NOT_EQUALS_OPERATOR_NAME = "neq";
  public static final String GREATER_THAN_OPERATOR_NAME = "gt";
  public static final String GREATER_THAN_OR_EQUALS_OPERATOR_NAME = "gteq";
  public static final String LESS_THAN_OPERATOR_NAME = "lt";
  public static final String LESS_THAN_OR_EQUALS_OPERATOR_NAME = "lteq";
  public static final String LIKE_OPERATOR_NAME = "like";
  public static final String NOT_LIKE_OPERATOR_NAME = "notLike";

那么,如何使用“in”运算符呢?

弹簧靴 卡蒙达

评论


答:

1赞 Jan Rohwer 11/4/2023 #1

正如这里所回答的 https://forum.camunda.io/t/camunda-task-search/48616/2 没有办法通过REST api做到这一点。因此,您将不得不执行多个请求并合并结果。