List of usage examples for org.hibernate.criterion DetachedCriteria add
public DetachedCriteria add(Criterion criterion)
From source file:com.green.modules.cms.service.ArticleService.java
License:Open Source License
@Transactional(readOnly = false) public Page<Article> find(Page<Article> page, Article article, boolean isDataScopeFilter) { // ??6??//from ww w.ja va2s . c o m Date updateExpiredWeightDate = (Date) CacheUtils.get("updateExpiredWeightDateByArticle"); if (updateExpiredWeightDate == null || (updateExpiredWeightDate != null && updateExpiredWeightDate.getTime() < new Date().getTime())) { articleDao.updateExpiredWeight(); CacheUtils.put("updateExpiredWeightDateByArticle", DateUtils.addHours(new Date(), 6)); } DetachedCriteria dc = articleDao.createDetachedCriteria(); dc.createAlias("category", "category"); dc.createAlias("category.site", "category.site"); if (article.getCategory() != null && StringUtils.isNotBlank(article.getCategory().getId()) && !Category.isRoot(article.getCategory().getId())) { Category category = categoryDao.get(article.getCategory().getId()); if (category != null) { dc.add(Restrictions.or(Restrictions.eq("category.id", category.getId()), Restrictions.like("category.parentIds", "%," + category.getId() + ",%"))); dc.add(Restrictions.eq("category.site.id", category.getSite().getId())); article.setCategory(category); } else { dc.add(Restrictions.eq("category.site.id", Site.getCurrentSiteId())); } } else { dc.add(Restrictions.eq("category.site.id", Site.getCurrentSiteId())); } if (StringUtils.isNotEmpty(article.getTitle())) { dc.add(Restrictions.like("title", "%" + article.getTitle() + "%")); } if (StringUtils.isNotEmpty(article.getPosid())) { dc.add(Restrictions.like("posid", "%," + article.getPosid() + ",%")); } if (StringUtils.isNotEmpty(article.getImage()) && Article.YES.equals(article.getImage())) { dc.add(Restrictions.and(Restrictions.isNotNull("image"), Restrictions.ne("image", ""))); } if (article.getCreateBy() != null && StringUtils.isNotBlank(article.getCreateBy().getId())) { dc.add(Restrictions.eq("createBy.id", article.getCreateBy().getId())); } if (isDataScopeFilter) { dc.createAlias("category.office", "categoryOffice").createAlias("createBy", "createBy"); dc.add(dataScopeFilter(UserUtils.getUser(), "categoryOffice", "createBy")); } dc.add(Restrictions.eq(Article.FIELD_DEL_FLAG, article.getDelFlag())); if (StringUtils.isBlank(page.getOrderBy())) { dc.addOrder(Order.desc("weight")); dc.addOrder(Order.desc("updateDate")); } return articleDao.find(page, dc); }
From source file:com.green.modules.cms.service.CategoryService.java
License:Open Source License
@SuppressWarnings("unchecked") public List<Category> findByUser(boolean isCurrentSite, String module) { List<Category> list = (List<Category>) UserUtils.getCache(CACHE_CATEGORY_LIST); if (list == null) { User user = UserUtils.getUser(); DetachedCriteria dc = categoryDao.createDetachedCriteria(); dc.createAlias("office", "office").createAlias("createBy", "user"); dc.add(dataScopeFilter(user, "office", "user")); // dc.add(Restrictions.or(Restrictions.isNull("href"),Restrictions.eq("href", ""))); dc.add(Restrictions.eq("delFlag", Category.DEL_FLAG_NORMAL)); dc.addOrder(Order.asc("site.id")).addOrder(Order.asc("sort")); list = categoryDao.find(dc);/*www. j av a 2 s . co m*/ // Set<String> parentIdSet = Sets.newHashSet(); for (Category e : list) { if (e.getParent() != null && StringUtils.isNotBlank(e.getParent().getId())) { boolean isExistParent = false; for (Category e2 : list) { if (e.getParent().getId().equals(e2.getId())) { isExistParent = true; break; } } if (!isExistParent) { parentIdSet.add(e.getParent().getId()); } } } if (parentIdSet.size() > 0) { dc = categoryDao.createDetachedCriteria(); dc.add(Restrictions.in("id", parentIdSet)); dc.add(Restrictions.eq("delFlag", Category.DEL_FLAG_NORMAL)); dc.addOrder(Order.asc("site.id")).addOrder(Order.asc("sort")); list.addAll(0, categoryDao.find(dc)); } UserUtils.putCache(CACHE_CATEGORY_LIST, list); } if (isCurrentSite) { List<Category> categoryList = Lists.newArrayList(); for (Category e : list) { if (Category.isRoot(e.getId()) || (e.getSite() != null && e.getSite().getId() != null && e.getSite().getId().equals(Site.getCurrentSiteId()))) { if (StringUtils.isNotEmpty(module)) { if (module.equals(e.getModule()) || "".equals(e.getModule())) { categoryList.add(e); } } else { categoryList.add(e); } } } return categoryList; } return list; }
From source file:com.green.modules.cms.service.CategoryService.java
License:Open Source License
public Page<Category> find(Page<Category> page, Category category) { DetachedCriteria dc = categoryDao.createDetachedCriteria(); if (category.getSite() != null && StringUtils.isNotBlank(category.getSite().getId())) { dc.createAlias("site", "site"); dc.add(Restrictions.eq("site.id", category.getSite().getId())); }/*from www . ja v a2s .c o m*/ if (category.getParent() != null && StringUtils.isNotBlank(category.getParent().getId())) { dc.createAlias("parent", "parent"); dc.add(Restrictions.eq("parent.id", category.getParent().getId())); } if (StringUtils.isNotBlank(category.getInMenu()) && Category.SHOW.equals(category.getInMenu())) { dc.add(Restrictions.eq("inMenu", category.getInMenu())); } dc.add(Restrictions.eq(Category.FIELD_DEL_FLAG, Category.DEL_FLAG_NORMAL)); dc.addOrder(Order.asc("site.id")).addOrder(Order.asc("sort")); return categoryDao.find(page, dc); // page.setSpringPage(categoryDao.findByParentId(category.getParent().getId(), page.getSpringPage())); // return page; }
From source file:com.green.modules.cms.service.CommentService.java
License:Open Source License
public Page<Comment> find(Page<Comment> page, Comment comment) { DetachedCriteria dc = commentDao.createDetachedCriteria(); if (StringUtils.isNotBlank(comment.getContentId())) { dc.add(Restrictions.eq("contentId", comment.getContentId())); }//from w ww .j av a 2 s .c o m if (StringUtils.isNotEmpty(comment.getTitle())) { dc.add(Restrictions.like("title", "%" + comment.getTitle() + "%")); } dc.add(Restrictions.eq(Comment.FIELD_DEL_FLAG, comment.getDelFlag())); dc.addOrder(Order.desc("id")); return commentDao.find(page, dc); }
From source file:com.green.modules.cms.service.GuestbookService.java
License:Open Source License
public Page<Guestbook> find(Page<Guestbook> page, Guestbook guestbook) { DetachedCriteria dc = guestbookDao.createDetachedCriteria(); if (StringUtils.isNotEmpty(guestbook.getType())) { dc.add(Restrictions.eq("type", guestbook.getType())); }//from ww w .j a v a 2 s . c o m if (StringUtils.isNotEmpty(guestbook.getContent())) { dc.add(Restrictions.like("content", "%" + guestbook.getContent() + "%")); } dc.add(Restrictions.eq(Guestbook.FIELD_DEL_FLAG, guestbook.getDelFlag())); dc.addOrder(Order.desc("id")); return guestbookDao.find(page, dc); }
From source file:com.green.modules.cms.service.LinkService.java
License:Open Source License
@Transactional(readOnly = false) public Page<Link> find(Page<Link> page, Link link, boolean isDataScopeFilter) { // ??6??//w w w . j a v a2s . co m Date updateExpiredWeightDate = (Date) CacheUtils.get("updateExpiredWeightDateByLink"); if (updateExpiredWeightDate == null || (updateExpiredWeightDate != null && updateExpiredWeightDate.getTime() < new Date().getTime())) { linkDao.updateExpiredWeight(); CacheUtils.put("updateExpiredWeightDateByLink", DateUtils.addHours(new Date(), 6)); } DetachedCriteria dc = linkDao.createDetachedCriteria(); dc.createAlias("category", "category"); dc.createAlias("category.site", "category.site"); if (link.getCategory() != null && StringUtils.isNotBlank(link.getCategory().getId()) && !Category.isRoot(link.getCategory().getId())) { Category category = categoryDao.get(link.getCategory().getId()); if (category != null) { dc.add(Restrictions.or(Restrictions.eq("category.id", category.getId()), Restrictions.like("category.parentIds", "%," + category.getId() + ",%"))); dc.add(Restrictions.eq("category.site.id", category.getSite().getId())); link.setCategory(category); } else { dc.add(Restrictions.eq("category.site.id", Site.getCurrentSiteId())); } } else { dc.add(Restrictions.eq("category.site.id", Site.getCurrentSiteId())); } if (StringUtils.isNotEmpty(link.getTitle())) { dc.add(Restrictions.like("title", "%" + link.getTitle() + "%")); } if (link.getCreateBy() != null && StringUtils.isNotBlank(link.getCreateBy().getId())) { dc.add(Restrictions.eq("createBy.id", link.getCreateBy().getId())); } if (isDataScopeFilter) { dc.createAlias("category.office", "categoryOffice").createAlias("createBy", "createBy"); dc.add(dataScopeFilter(UserUtils.getUser(), "categoryOffice", "createBy")); } dc.add(Restrictions.eq(Link.FIELD_DEL_FLAG, link.getDelFlag())); dc.addOrder(Order.desc("weight")); dc.addOrder(Order.desc("updateDate")); return linkDao.find(page, dc); }
From source file:com.green.modules.cms.service.SiteService.java
License:Open Source License
public Page<Site> find(Page<Site> page, Site site) { DetachedCriteria dc = siteDao.createDetachedCriteria(); if (StringUtils.isNotEmpty(site.getName())) { dc.add(Restrictions.like("name", "%" + site.getName() + "%")); }//from ww w . jav a 2s .c o m dc.add(Restrictions.eq(Site.FIELD_DEL_FLAG, site.getDelFlag())); //dc.addOrder(Order.asc("id")); return siteDao.find(page, dc); }
From source file:com.green.modules.sys.service.DictService.java
License:Open Source License
public Page<Dict> find(Page<Dict> page, Dict dict) { // MyBatis /*from www.j av a 2 s .c o m*/ // dict.setPage(page); // page.setList(myBatisDictDao.find(dict)); // return page; // Hibernate DetachedCriteria dc = dictDao.createDetachedCriteria(); if (StringUtils.isNotEmpty(dict.getType())) { dc.add(Restrictions.eq("type", dict.getType())); } if (StringUtils.isNotEmpty(dict.getDescription())) { dc.add(Restrictions.like("description", "%" + dict.getDescription() + "%")); } dc.add(Restrictions.eq(Dict.FIELD_DEL_FLAG, Dict.DEL_FLAG_NORMAL)); dc.addOrder(Order.asc("type")).addOrder(Order.asc("sort")).addOrder(Order.desc("id")); return dictDao.find(page, dc); }
From source file:com.green.modules.sys.service.LogService.java
License:Open Source License
public Page<Log> find(Page<Log> page, Map<String, Object> paramMap) { DetachedCriteria dc = logDao.createDetachedCriteria(); Long createById = StringUtils.toLong(paramMap.get("createById")); if (createById > 0) { dc.add(Restrictions.eq("createBy.id", createById)); }//from w w w .jav a 2 s. c om String requestUri = ObjectUtils.toString(paramMap.get("requestUri")); if (StringUtils.isNotBlank(requestUri)) { dc.add(Restrictions.like("requestUri", "%" + requestUri + "%")); } String exception = ObjectUtils.toString(paramMap.get("exception")); if (StringUtils.isNotBlank(exception)) { dc.add(Restrictions.eq("type", Log.TYPE_EXCEPTION)); } Date beginDate = DateUtils.parseDate(paramMap.get("beginDate")); if (beginDate == null) { beginDate = DateUtils.setDays(new Date(), 1); paramMap.put("beginDate", DateUtils.formatDate(beginDate, "yyyy-MM-dd")); } Date endDate = DateUtils.parseDate(paramMap.get("endDate")); if (endDate == null) { endDate = DateUtils.addDays(DateUtils.addMonths(beginDate, 1), -1); paramMap.put("endDate", DateUtils.formatDate(endDate, "yyyy-MM-dd")); } dc.add(Restrictions.between("createDate", beginDate, endDate)); dc.addOrder(Order.desc("id")); return logDao.find(page, dc); }
From source file:com.green.modules.sys.service.SystemService.java
License:Open Source License
public Page<User> findUser(Page<User> page, User user) { DetachedCriteria dc = userDao.createDetachedCriteria(); User currentUser = UserUtils.getUser(); dc.createAlias("company", "company"); if (user.getCompany() != null && StringUtils.isNotBlank(user.getCompany().getId())) { dc.add(Restrictions.or(Restrictions.eq("company.id", user.getCompany().getId()), Restrictions.like("company.parentIds", "%," + user.getCompany().getId() + ",%"))); }//from ww w. ja v a 2 s .c o m dc.createAlias("office", "office"); if (user.getOffice() != null && StringUtils.isNotBlank(user.getOffice().getId())) { dc.add(Restrictions.or(Restrictions.eq("office.id", user.getOffice().getId()), Restrictions.like("office.parentIds", "%," + user.getOffice().getId() + ",%"))); } // ???? if (!currentUser.isAdmin()) { dc.add(Restrictions.ne("id", "1")); } dc.add(dataScopeFilter(currentUser, "office", "")); //System.out.println(dataScopeFilterString(currentUser, "office", "")); if (StringUtils.isNotEmpty(user.getLoginName())) { dc.add(Restrictions.like("loginName", "%" + user.getLoginName() + "%")); } if (StringUtils.isNotEmpty(user.getName())) { dc.add(Restrictions.like("name", "%" + user.getName() + "%")); } dc.add(Restrictions.eq(User.FIELD_DEL_FLAG, User.DEL_FLAG_NORMAL)); if (!StringUtils.isNotEmpty(page.getOrderBy())) { dc.addOrder(Order.asc("company.code")).addOrder(Order.asc("office.code")).addOrder(Order.desc("name")); } return userDao.find(page, dc); }