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

Jsp/Servlet

开发平台:

Java

  1. package com.oa.module.communicate.comm.chat;
  2. import java.util.List;
  3. import javax.servlet.http.HttpServletRequest;
  4. import javax.sql.DataSource;
  5. import org.hibernate.Query;
  6. import org.hibernate.Session;
  7. import org.hibernate.SessionFactory;
  8. import org.springframework.jdbc.core.JdbcTemplate;
  9. import org.springframework.jdbc.datasource.DriverManagerDataSource;
  10. import org.springframework.orm.hibernate3.HibernateTemplate;
  11. import com.oa.module.communicate.comm.Tchat;
  12. import com.oa.module.office.dept.Tdept;
  13. /**
  14.  * 即使通讯 dao 实现
  15.  *  * @author admin
  16.  *
  17.  */
  18. public class ChatDao implements ChatIntefer {
  19. private SessionFactory chat;
  20. private DataSource ds = null;
  21. private DriverManagerDataSource datasource;
  22. public DataSource getDs() {
  23. return ds;
  24. }
  25. public void setDs(DataSource ds) {
  26. this.ds = ds;
  27. }
  28. public DriverManagerDataSource getDatasource() {
  29. return datasource;
  30. }
  31. public void setDatasource(DriverManagerDataSource datasource) {
  32. this.datasource = datasource;
  33. }
  34. public SessionFactory getChat() {
  35. return chat;
  36. }
  37. public void setChat(SessionFactory chat) {
  38. this.chat = chat;
  39. }
  40. public List selectalldept() {
  41. List list = null;
  42. JdbcTemplate template = null;
  43. String sql = null;
  44. try {
  45. template = new JdbcTemplate(this.ds);
  46. sql = "select t.did ,t.dname from tdept t where t.dflag='0'";
  47. list = template.queryForList(sql);
  48. } catch (Exception e) {
  49. list = null;
  50. e.printStackTrace();
  51. }
  52. return list;
  53. }
  54. public List selecttalluser() {
  55. List list = null;
  56. JdbcTemplate template = null;
  57. String sql = null;
  58. try {
  59. template = new JdbcTemplate(this.ds);
  60. sql = "select t.uno,t.did,t.uname from tuser t where t.uislocked='0'";
  61. list = template.queryForList(sql);
  62. } catch (Exception e) {
  63. list = null;
  64. e.printStackTrace();
  65. }
  66. return list;
  67. }
  68. public List read(String reciever) {
  69. List list = null;
  70. JdbcTemplate template = null;
  71. String sql = null;
  72. try {
  73. template = new JdbcTemplate(this.ds);
  74. sql = "select t.*,tu.uname from tchat t,tuser tu "
  75. + "where t.csendid=tu.uno  and t.cisread=0 and t.caccepid="
  76. + reciever;
  77. list = template.queryForList(sql);
  78. } catch (Exception e) {
  79. list = null;
  80. e.printStackTrace();
  81. }
  82. return list;
  83. }
  84. public boolean updateisread(String id) {
  85. boolean flag = false;
  86. Session session = null;
  87. String hql = null;
  88. Query query = null;
  89. int chatid = Integer.parseInt(id);
  90. try {
  91. session = this.chat.openSession();
  92. hql = "update Tchat set cisread=1 where cid=" + id;
  93. query = session.createQuery(hql);
  94. int i = query.executeUpdate();
  95. if (i > 0) {
  96. flag = true;
  97. }
  98. } catch (Exception e) {
  99. flag = false;
  100. e.printStackTrace();
  101. } finally {
  102. session.close();
  103. }
  104. return flag;
  105. }
  106. public boolean save(Tchat chat) {
  107. HibernateTemplate template = null;
  108. boolean flag = false;
  109. try {
  110. template = new HibernateTemplate(this.chat);
  111. template.save(chat);
  112. flag = true;
  113. } catch (Exception e) {
  114. flag = false;
  115. e.printStackTrace();
  116. }
  117. return flag;
  118. }
  119. public List userbydept(String getter) {
  120. List list = null;
  121. JdbcTemplate template = null;
  122. String sql = null;
  123. try {
  124. template = new JdbcTemplate(this.ds);
  125. sql = "select t.uno,t.uname from tuser t where t.uislocked=0 and t.did="
  126. + getter;
  127. list = template.queryForList(sql);
  128. } catch (Exception e) {
  129. list = null;
  130. e.printStackTrace();
  131. }
  132. return list;
  133. }
  134. public List selecthistory(HttpServletRequest request, String id) {
  135. List meetinglist = null;
  136. JdbcTemplate template = null;
  137. String sql = null;
  138. String sqlcount = null;
  139. String url = "";
  140. String pagetool = "";
  141. try {
  142. template = new JdbcTemplate(this.ds);
  143. //开始进行分页
  144. PageDAO page = new PageDAO();
  145. //拿到每页显示多少条
  146. int pagesize = page.getPagesize();
  147. //拿到总的记录数
  148. sqlcount = "select 1 from tchat t,tuser tu,tuser tu2 " +
  149. "where t.cisread='1' and tu.uno=t.csendid and tu2.uno=t.caccepid and " +
  150. "(t.caccepid='"+id+"' or t.csendid='"+id+"') order by t.csendtime desc";
  151. int rscount = template.queryForList(sqlcount).size();
  152. page.setRscount(rscount);
  153. //拿到总页数
  154. page.getPageCount();
  155. //拿到当前页
  156. int currentpage = page.getCurrentPage(request);
  157. //产生工具条
  158. pagetool = page.pagetool(url);
  159. int begincount = (currentpage - 1) * pagesize + 1;
  160. int endcount = currentpage * pagesize;
  161. sql = "select * from (select t.*,rownum rn from";
  162. sql=sql+"(select t.*,tu.uname send,tu2.uname recieve from tchat t,tuser tu,tuser tu2 " +
  163. "where t.cisread='1' and tu.uno=t.csendid and tu2.uno=t.caccepid and " +
  164. "(t.caccepid='1' or t.csendid='1')  order by t.csendtime desc) t ";
  165. sql = sql + "where rownum <= " + endcount + ") t where t.rn >= " + begincount + "";
  166. meetinglist = template.queryForList(sql);
  167. } catch (Exception e) {
  168. meetinglist = null;
  169. e.printStackTrace();
  170. }
  171. request.setAttribute("pagetool", pagetool);
  172. return meetinglist;
  173. }
  174. }