如何在liferay中获得活跃用户

时间:2015-07-07 03:20:24

标签: liferay

如何获得liferay中的所有活跃用户? 我使用过这个API

 UserLocalServiceUtil.getUsers(QueryUtil.ALL_POS, QueryUtil.ALL_POS);

但这似乎也给了我所有活跃和无效的用户。 我只需要活跃用户吗?

2 个答案:

答案 0 :(得分:1)

我已经通过编写动态查询解决了这个问题,如下所示。我不知道它是否正确。有人可以看看并回答吗?

public static List<User> getallActiveUsers() {
        List<User> activeUsers = new ArrayList<User>();
        Criterion stageCriterion = null;
        int deactiveStatus = 5;
        DynamicQuery dynamicQuery = DynamicQueryFactoryUtil.forClass(User.class);
        stageCriterion = PropertyFactoryUtil.forName("status").ne(deactiveStatus);
        dynamicQuery.add(stageCriterion);


        try {
            activeUsers = UserLocalServiceUtil.dynamicQuery(dynamicQuery);
        } catch (SystemException e) {
            e.printStackTrace();
        }
        _log.info("ALL ACTIVE USERS"+activeUsers.toString());
        _log.info("ALL ACTIVE Size"+activeUsers.size());
        return activeUsers;
    }

答案 1 :(得分:0)

获取所有用户后,您可以遍历列表并检查每个用户的状态,如

如果(User.getStatus()。等于(WorkflowConstants.STATUS_APPROVED))