Esempio n. 1
0
 public static List<User> find(
     Long id, String name, String screenName, Long uid, String accessToken, int begin, int max) {
   if (max <= 0) {
     max = 50;
   }
   if (begin <= 1) {
     begin = 1;
   }
   MorphiaQuery query = createQuery();
   query.offset((begin - 1) * max);
   query.limit(max);
   if (id != null && id > 0) {
     query.field("_id").equal(id);
   }
   if (!StringUtils.isEmpty(name)) {
     if (!StringUtils.contains(name, "*")) {
       query.field("name").contains(StringUtils.remove(name, "*"));
     } else {
       query.field("name").equal(name);
     }
   }
   if (!StringUtils.isEmpty(screenName)) {
     if (!StringUtils.contains(screenName, "*")) {
       query.field("screenName").contains(StringUtils.remove(screenName, "*"));
     } else {
       query.field("screenName").equal(screenName);
     }
   }
   if (uid != null && uid > 0) {
     query.field("uid").equal(uid);
   }
   if (!StringUtils.isEmpty(accessToken)) {
     query.field("accessToken").equal(accessToken);
   }
   return query.asList();
 }