package edu.sjtu.infosec.ismp.manager.OSS.wom.dao.impl; import java.util.List; import org.hibernate.Criteria; import org.hibernate.Query; import org.hibernate.criterion.Order; import org.hibernate.criterion.Restrictions; import org.springframework.orm.hibernate3.support.HibernateDaoSupport; import edu.sjtu.infosec.ismp.manager.OSS.wom.dao.ClientQuestionDao; import edu.sjtu.infosec.ismp.manager.OSS.wom.model.ClientQuestion; import edu.sjtu.infosec.ismp.security.Domain; public class ClientQuestionDaoImpl extends HibernateDaoSupport implements ClientQuestionDao { /** * 保存/更新客户端问题 */ public void saveOrUpdate(ClientQuestion clientQuestion){ this.getHibernateTemplate().saveOrUpdate(clientQuestion); } /** * 删除客户端问题 */ public void remove(ClientQuestion clientQuestion){ this.getHibernateTemplate().delete(clientQuestion); } /** * 批量删除客户端问题 */ public void remove(List<ClientQuestion> clientQuestionList){ this.getHibernateTemplate().deleteAll(clientQuestionList); } /** * 查询资产客户端问题 */ public ClientQuestion findById(Integer id){ ClientQuestion clientQuestion = (ClientQuestion)getHibernateTemplate().get(ClientQuestion.class, id); return clientQuestion; } /** * 客户端问题分页信息 */ @SuppressWarnings("unchecked") public List<ClientQuestion> findAll(int startResult, int maxResult,Domain domain,Integer state){ List<ClientQuestion> list = null; Criteria criteria = this.getSession().createCriteria(ClientQuestion.class) .addOrder(Order.desc("createTime")) .setFirstResult(startResult).setMaxResults(maxResult); if(domain!=null){ criteria.add(Restrictions.eq("domain", domain)); } if(state!=null&&state>0){ criteria.add(Restrictions.eq("state", state)); } list = (List<ClientQuestion> )criteria.list(); return list; } /** * 委办局下客户端问题分页信息 */ @SuppressWarnings("unchecked") public List<ClientQuestion> findAllByDomain(List<Domain> userDomainList,int startResult, int maxResult,Domain domain,Integer state){ List<ClientQuestion> list = null; Criteria criteria = this.getSession().createCriteria(ClientQuestion.class, "ques") .addOrder(Order.desc("createTime")) .setFirstResult(startResult).setMaxResults(maxResult); if(domain!=null){ criteria.add(Restrictions.eq("domain", domain)); } if(state!=null&&state>0){ criteria.add(Restrictions.eq("state", state)); } if(userDomainList!=null){ criteria.add(Restrictions.in("domain", userDomainList)); } list = (List<ClientQuestion> )criteria.list(); return list; } /** * 客户端问题查询记录总条数 */ public int getCount(Domain domain,Integer state){ Criteria criteria =this.getSession().createCriteria(ClientQuestion.class); if(domain!=null){ criteria.add(Restrictions.eq("domain", domain)); } if(state!=null&&state>0){ criteria.add(Restrictions.eq("state", state)); } return criteria.list().size(); } /** * 委办局下客户端问题查询记录总条数 */ public int getCountByDomain(List<Domain> userDomainList,Domain domain,Integer state){ Criteria criteria =this.getSession().createCriteria(ClientQuestion.class); if(domain!=null){ criteria.add(Restrictions.eq("domain", domain)); } if(state!=null&&state>0){ criteria.add(Restrictions.eq("state", state)); } if(userDomainList!=null){ criteria.add(Restrictions.in("domain", userDomainList)); } return criteria.list().size(); } }