@Override
public List<Group> getGroupList(QueryCondition condition, PageInfo pageInfo) {
String name = null;
if (condition != null) {
name = condition.getConditionMap().get("name").toString();
}
List<Group> groupList;
long count;
String sql = "SELECT * FROM " + managementService.getTableName(Group.class) + " where 1=1 order by ID_";
if (!StrUtil.isEmpty(name)) {
sql = sql.replace("1=1", "NAME_ like '" + name + "' or TYPE_ like '" + name + "'");
}
NativeGroupQuery query = identityService.createNativeGroupQuery().sql(sql);
count = identityService.createNativeGroupQuery().sql("select count(ID_) from (" + sql + ") t").count();
groupList = query.listPage((pageInfo.getPageNum() - 1) * pageInfo.getPageSize(), pageInfo.getPageSize());
pageInfo.setCount((int) count);
return groupList;
}