Package com.jeecms.cms.dao.assist.impl

Source Code of com.jeecms.cms.dao.assist.impl.CmsAcquisitionDaoImpl

package com.jeecms.cms.dao.assist.impl;

import java.util.List;

import org.hibernate.Criteria;
import org.hibernate.Query;
import org.hibernate.criterion.Restrictions;
import org.springframework.stereotype.Repository;

import com.jeecms.cms.dao.assist.CmsAcquisitionDao;
import com.jeecms.cms.entity.assist.CmsAcquisition;
import com.jeecms.common.hibernate3.Finder;
import com.jeecms.common.hibernate3.HibernateBaseDao;

@Repository
public class CmsAcquisitionDaoImpl extends
    HibernateBaseDao<CmsAcquisition, Integer> implements CmsAcquisitionDao {
  @SuppressWarnings("unchecked")
  public List<CmsAcquisition> getList(Integer siteId) {
    Finder f = Finder.create("from CmsAcquisition bean");
    if (siteId != null) {
      f.append(" where bean.site.id=:siteId");
      f.setParam("siteId", siteId);
    }
    f.append(" order by bean.id asc");
    return find(f);
  }

  public CmsAcquisition findById(Integer id) {
    CmsAcquisition entity = get(id);
    return entity;
  }

  public CmsAcquisition save(CmsAcquisition bean) {
    getSession().save(bean);
    return bean;
  }

  public CmsAcquisition deleteById(Integer id) {
    CmsAcquisition entity = super.get(id);
    if (entity != null) {
      getSession().delete(entity);
    }
    return entity;
  }

  public int countByChannelId(Integer channelId) {
    String hql = "select count(*) from CmsAcquisition bean"
        + " where bean.channel.id=:channelId";
    Query query = getSession().createQuery(hql);
    query.setParameter("channelId", channelId);
    return ((Number) query.iterate().next()).intValue();
  }

  public CmsAcquisition getStarted(Integer siteId) {
    Criteria crit = createCriteria(
        Restrictions.eq("status", CmsAcquisition.START),
        Restrictions.eq("site.id", siteId)).setMaxResults(1);
    return (CmsAcquisition) crit.uniqueResult();
  }

  public Integer getMaxQueue(Integer siteId) {
    Query query = createQuery("select max(bean.queue) from CmsAcquisition bean where bean.site.id=?",siteId);
    return ((Number) query.iterate().next()).intValue();
  }

  @SuppressWarnings("unchecked")
  public List<CmsAcquisition> getLargerQueues(Integer siteId, Integer queueNum) {
    Finder f = Finder.create("from CmsAcquisition bean where bean.queue>:queueNum and bean.site.id=:siteId")
        .setParam("queueNum", queueNum)
        .setParam("siteId", siteId);
    return find(f);
  }

  public CmsAcquisition popAcquFromQueue(Integer siteId) {
    Query query = getSession().createQuery("from CmsAcquisition bean where bean.queue>0 and bean.site.id=:siteId order by bean.queue")
        .setParameter("siteId", siteId).setMaxResults(1);
    return (CmsAcquisition) query.uniqueResult();
  }

  @Override
  protected Class<CmsAcquisition> getEntityClass() {
    return CmsAcquisition.class;
  }

}
TOP

Related Classes of com.jeecms.cms.dao.assist.impl.CmsAcquisitionDaoImpl

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.