如何获得liferay中的所有活跃用户? 我使用过这个API
UserLocalServiceUtil.getUsers(QueryUtil.ALL_POS, QueryUtil.ALL_POS);
但这似乎也给了我所有活跃和无效的用户。 我只需要活跃用户吗?
答案 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))