public Pagination findSubUserByParams(User user, int pageNo, int pageSize) {
StringBuilder hql = new StringBuilder("from com.notary.cloud.api.entity.User u where 1=1");
List<Object> params = new ArrayList<Object>();
if(user != null){
if(StringUtils.isNotBlank(user.getParentId())){
hql.append(" and u.parentId = ?");
params.add(user.getParentId());
}
/*if(StringUtils.isNotBlank(user.getLoginName())){
hql.append(" and u.loginName like ?");
params.add("%"+user.getLoginName()+"%");
}
if(StringUtils.isNotBlank(user.getUserRealName())){
hql.append(" and u.userRealName like ?");
params.add("%"+user.getUserRealName()+"%");
}*/
if(StringUtils.isNotBlank(user.getLoginName()) || StringUtils.isNotBlank(user.getUserRealName())){
hql.append(" and (u.loginName like ? or u.userRealName like ?)");
params.add("%"+user.getLoginName()+"%");
params.add("%"+user.getUserRealName()+"%");
}
}
return findPage(hql.toString(), params.toArray(), pageNo, pageSize);
}
Action:
@RequestMapping("v_findByParams.do")
public String findByParams(HttpServletRequest request , HttpServletResponse response , String pageNo)
{
User user = SessionMng.getUser(request.getSession());
if(StringUtils.isBlank(pageNo)){
pageNo="1";
}
Integer pageSize = 20;
User subUser = new User();
String name= request.getParameter("paramsName");
if(StringUtils.isNotBlank(name)){
subUser.setLoginName(name);
subUser.setUserRealName(name);
}
subUser.setParentId(user.getId());
Pagination pagination = userService.findSubUserByParams(subUser, Integer.valueOf(pageNo), pageSize);
request.setAttribute("value", pagination);
request.setAttribute("user", user);
return "alliance/subAccountMng";
}