第三方获取待办数

第三方系统需要获取某个用户(传入用户名)的待办数量。

在应用中添加一个服务请求,获取某个人的待办数。这个请求设置为匿名访问,提供给第三方系统调用。

由于调用工作流的 API 需要先登录,查询待办数需要人的 id,所以服务请求分为三部分:

  1. 登录系统
  2. 用用户名查询出用户 id
  3. 查询该用户的待办数

登录系统

登录系统的代码参考《登录平台》中后端 Java 登录里面的代码

  • 可以固定一个用户用于登录
  • 存储登录后获取到的 user_session

根据用户名查询出用户 id

根据用户名查询出用户 id,代码如下

    String url = "/uaa/dbrest/users?select=users.id&users.username=eq."+username;
    JSONArray users = ServiceUtil.get(SpringWebUtil.getRequest(),"entry",url,null,JSONArray.class);
    if(users.size()>0) {
        String userId = users.getJSONObject(0).getString("users.id");
    }

查询某个用户的待办数

查询某个用户待办数的 API 如下

    get https://域名/wf/biz/task/count
    headers
        Cookie :第一步获取的 user_session
        Content-Type : application/json
    body
    {
        "org": 第二步获取的用户 id,
        "filter": "SA_Task.sKindID<>'tkNotice'"  //只查询待办任务数
    }

执行 get 请求的部分代码如下

    String url = ServiceUtil.getServiceUrl("wf") + "/biz/task/count";
    Map<String, String> headers = ServiceUtil.getExtHeaders(request);
    headers.put("Cookie", user_session);
    headers.put("content-type", "application/json");
    ServiceUtil.post(url, data, headers, String.class);

返回查询到的待办数

results matching ""

    No results matching ""