BlackListDaoImpl.java
上传用户:lm2018
上传日期:2015-12-12
资源大小:30449k
文件大小:4k
源码类别:

Jsp/Servlet

开发平台:

Java

  1. package com.oa.module.email.dao;
  2. import java.util.ArrayList;
  3. import java.util.Iterator;
  4. import java.util.List;
  5. import org.apache.commons.beanutils.BeanUtils;
  6. import org.hibernate.Query;
  7. import org.hibernate.Session;
  8. import org.hibernate.SessionFactory;
  9. import org.hibernate.Transaction;
  10. import com.oa.module.email.bean.BlackListBean;
  11. import com.oa.module.email.blacklist.mapping.Tblacklist;
  12. import com.oa.module.email.company.TUser;
  13. import com.oa.module.office.user.Tuser;
  14. import com.oa.util.XPage;
  15. /**
  16.  * 黑名单dao接口实现类
  17.  * @author admin
  18.  *
  19.  */
  20. public class BlackListDaoImpl implements BlackListDao {
  21. private SessionFactory sf;
  22. public SessionFactory getSf() {
  23. return sf;
  24. }
  25. public void setSf(SessionFactory sf) {
  26. this.sf = sf;
  27. }
  28. /**
  29.  * 根据用户id获取黑名单列表
  30.  * @param id
  31.  */
  32. public XPage getBlackList(int currentPage, int count,String id) {
  33. Session session = null;
  34. Transaction tx = null;
  35. Query query = null;
  36. XPage page = null;
  37. String hql = "select a from Tuser a where a.uno<>"+id;
  38. String path ="/blacklist?method=blackList&userid"+id+"&";
  39. try {
  40. session = sf.openSession();
  41. query = session.createQuery(hql);
  42. page = new XPage(); 
  43. page.setAllCount(query.list().size());
  44. page.setPath(path);
  45. page.setCount(count);
  46. page.setCurrentPage(currentPage);
  47. query.setFirstResult( (currentPage-1)*count);
  48. query.setMaxResults(count);
  49. List list = query.list();
  50. List temp = null;
  51. List tr= new ArrayList();
  52. hql = "select a from Tblacklist a where a.userid=:userid";
  53. query = session.createQuery(hql);
  54. query.setParameter("userid", id);
  55. temp = query.list();
  56. for (Iterator iter = list.iterator(); iter.hasNext();) {
  57. Tuser element = (Tuser) iter.next();  
  58. TUser user = new TUser(); 
  59. BeanUtils.copyProperties(user, element);
  60. user.setIsBlackList("0");
  61. for(int i = 0 ;i<temp.size(); i++){
  62. if(element.getUno().equals( ((Tblacklist)temp.get(i)).getBlackuserid() )){
  63. user.setIsBlackList("1");
  64. break;
  65. }
  66. }
  67.  tr.add(user);
  68. }
  69. page.setList(tr);
  70. } catch (Exception e) {
  71. e.printStackTrace();
  72. }finally{
  73. session.close();
  74. sf.close();
  75. }
  76. return page;
  77. }
  78. /**
  79.  * 删除
  80.  * @param parameter
  81.  */
  82. public boolean delFromBlackList(String id) {
  83. Session session = null;
  84. Transaction tx = null;
  85. Query query  = null;
  86. String hql = "select a from Tblacklist a where a.blackuserid=:id";
  87. try {
  88. session = sf.openSession();
  89. tx = session.beginTransaction();
  90. query = session.createQuery(hql);
  91. query.setParameter("id", id);
  92. List list = query.list();
  93. Tblacklist tb = (Tblacklist)list.get(0);
  94. session.delete(tb);
  95. tx.commit();
  96.     session.flush();
  97.     return true;
  98. } catch (Exception e) {
  99. e.printStackTrace();
  100. tx.rollback();
  101. }finally{
  102. session.close();
  103. sf.close();
  104. }
  105. return false;
  106. }
  107. /**
  108.  * 添加
  109.  * @param id
  110.  */
  111. public boolean addToBlackList(BlackListBean bean) {
  112. Session session = null;
  113. Transaction tx = null;
  114. try {
  115. session = sf.openSession();
  116. tx = session.beginTransaction();
  117. Tblacklist tb = new Tblacklist();
  118. BeanUtils.copyProperties(tb, bean);
  119. session.save(tb);
  120. tx.commit();
  121. session.flush();
  122. return true;
  123. } catch (Exception e) {
  124. e.printStackTrace();
  125. tx.rollback();
  126. }finally{
  127. session.close();
  128. sf.close();
  129. }
  130. return false;
  131. }
  132. }