@SuppressWarnings({"rawtypes", "unchecked"}) private DataGrid dataGridByType(PageHelper ph, LvFollow lvFollow, BaseDaoI dao) { ph.setSort("createTime"); ph.setOrder("desc"); DataGrid dg = new DataGrid(); dg.setPage(Long.valueOf(ph.getPage())); dg.setPageSize(Long.valueOf(ph.getRows())); String hql = "select a from TlvAccount a ,TlvFollow t "; Map<String, Object> params = new HashMap<String, Object>(); // 我关注的用户 if (lvFollow.getFromOpenId() != null) { hql += "where a.openId = t.toOpenId and t.fromOpenId = :openId"; params.put("openId", lvFollow.getFromOpenId()); // 关注我的用户 } else if (lvFollow.getToOpenId() != null) { hql += "where a.openId = t.fromOpenId and t.toOpenId = :openId"; params.put("openId", lvFollow.getToOpenId()); } List<TlvAccount> l = dao.find(hql + orderHql(ph), params, ph.getPage(), ph.getRows()); dg.setTotal(dao.count("select count(*) " + hql.substring(8), params)); dg.setRows(l); return dg; }