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

Jsp/Servlet

开发平台:

Java

  1. //Created by MyEclipse Struts
  2. // XSL source (default): platform:/plugin/com.genuitec.eclipse.cross.easystruts.eclipse_4.1.0/xslt/JavaClass.xsl
  3. package com.oa.module.communicate.comm.chat;
  4. import java.io.IOException;
  5. import java.io.PrintWriter;
  6. import java.util.List;
  7. import java.util.Map;
  8. import javax.servlet.http.HttpServletRequest;
  9. import javax.servlet.http.HttpServletResponse;
  10. import javax.servlet.http.HttpSession;
  11. import org.apache.struts.action.ActionForm;
  12. import org.apache.struts.action.ActionForward;
  13. import org.apache.struts.action.ActionMapping;
  14. import org.apache.struts.actions.DispatchAction;
  15. //import com.oa.module.communicate.comm.Tchat;
  16. //import com.oa.module.office.user.Tuser;
  17. /**
  18.  * MyEclipse Struts Creation date: 01-29-2008
  19.  * 
  20.  * XDoclet definition:
  21.  * 
  22.  * @struts.action parameter="task" validate="true"
  23.  */
  24. public class ChatAction extends DispatchAction {
  25. // --------------------------------------------------------- Instance
  26. // Variables
  27. private ChatIntefer chatinter;
  28. // --------------------------------------------------------- Methods
  29. /**
  30.  * Method execute
  31.  * 
  32.  * @param mapping
  33.  * @param form
  34.  * @param request
  35.  * @param response
  36.  * @return ActionForward
  37.  */
  38. public ActionForward chat(ActionMapping mapping, ActionForm form,
  39. HttpServletRequest request, HttpServletResponse response) {
  40. // 所有部门
  41. List deptlist = chatinter.selectalldept();
  42. // 所有用户
  43. List userlist = chatinter.selecttalluser();
  44. request.setAttribute("deptlist", deptlist);
  45. request.setAttribute("userlist", userlist);
  46. HttpSession session = request.getSession();
  47. Tuser userinfo = (Tuser) session.getAttribute("user");
  48. //
  49. // request.setAttribute("uno",String.valueOf(userinfo.getDid()));
  50. // request.setAttribute("uname",userinfo.getUname());
  51. // 所有在线用户
  52. List onlinelist = PubVar.onlineUserList;
  53. request.setAttribute("onlinelist", onlinelist);
  54. return mapping.findForward("chat");
  55. }
  56. public ActionForward online(ActionMapping mapping, ActionForm form,
  57. HttpServletRequest request, HttpServletResponse response) {
  58. PrintWriter out = null;
  59. try {
  60. out = response.getWriter();
  61. } catch (IOException e) {
  62. e.printStackTrace();
  63. }
  64. String text = "";
  65. List list = PubVar.onlineUserList;
  66. for (int i = 0; i < list.size(); i++) {
  67. Tuser userinfo = (Tuser) list.get(i);
  68. String userid = String.valueOf(userinfo.getUno());
  69. if (text != "") {
  70. text = text + "," + userid;
  71. } else {
  72. text = userid;
  73. }
  74. }
  75. out.println(text);
  76. return null;
  77. }
  78. public ActionForward read(ActionMapping mapping, ActionForm form,
  79. HttpServletRequest request, HttpServletResponse response) {
  80. String reciever=request.getParameter("sender");
  81. List chatlist=chatinter.read(reciever);
  82. PrintWriter out = null;
  83. try {
  84. out = response.getWriter();
  85. } catch (IOException e) {
  86. e.printStackTrace();
  87. }
  88. for(int i=0;i<chatlist.size();i++){
  89. Map map=(Map)chatlist.get(i);
  90. String sender=map.get("uname").toString();
  91. String content =map.get("ccontent").toString();
  92. String date=map.get("csendtime").toString();
  93. String id=map.get("cisread").toString();
  94. out.print(sender);
  95. out.print("&nbsp;&nbsp;");
  96. out.print(date);
  97. out.print("<br><br>");
  98. out.print(content);
  99. out.print("<br><br>");
  100. //修改未读字段为已读字段
  101. chatinter.updateisread(id);
  102. }
  103. return null;
  104. }
  105. public ActionForward history(ActionMapping mapping, ActionForm form,
  106. HttpServletRequest request, HttpServletResponse response) {
  107. return null;
  108. }
  109. public ActionForward save(ActionMapping mapping, ActionForm form,
  110. HttpServletRequest request, HttpServletResponse response) {
  111. String content=request.getParameter("content");
  112. String sender=request.getParameter("sender");
  113. String getter=request.getParameter("getter");
  114. String date=request.getParameter("date");
  115. String chattype=request.getParameter("chattype");
  116. if(chattype.equals("0")){
  117. Tchat chat=new Tchat();
  118. chat.setCcontent(content);
  119. chat.setCsendid(Integer.parseInt(sender));
  120. chat.setCaccepid(getter);
  121. chat.setCsendtime(date);
  122. chat.setCisread("0");
  123. chat.setCsendtype(chattype);
  124. chatinter.save(chat);
  125. }else if(chattype.equals("1")){
  126. boolean fl=false;//设个标志
  127. List userlist=chatinter.userbydept(getter);//查找该部门下的所有用户
  128. for(int i=0;i<userlist.size();i++){
  129. Tchat chat=new Tchat();
  130. Map map=(Map)userlist.get(i);
  131. String userid=map.get("uno").toString();
  132. if(!userid.equals(sender)){
  133. if(!fl){
  134. chat.setFlag("1");//表示下面的都是相同的content
  135. fl=true;
  136. }
  137. chat.setCcontent(content);
  138. chat.setCsendid(Integer.parseInt(sender));
  139. chat.setCaccepid(userid);
  140. chat.setCsendtime(date);
  141. chat.setCisread("0");
  142. chat.setCsendtype(chattype);
  143. chatinter.save(chat);
  144. }
  145. }
  146. }else if(chattype.equals("2")){
  147. boolean fl=false;//设个标志
  148. List userlist=chatinter.selecttalluser();//查找全公司员工
  149. for(int i=0;i<userlist.size();i++){
  150. Tchat chat=new Tchat();
  151. Map map=(Map)userlist.get(i);
  152. String userid=map.get("uno").toString();
  153. if(!userid.equals(sender)){
  154. if(!fl){
  155. chat.setFlag("1");//表示下面的都是相同的content
  156. fl=true;
  157. }
  158. chat.setCcontent(content);
  159. chat.setCsendid(Integer.parseInt(sender));
  160. chat.setCaccepid(userid);
  161. chat.setCsendtime(date);
  162. chat.setCisread("0");
  163. chat.setCsendtype(chattype);
  164. chatinter.save(chat);
  165. }
  166. }
  167. }
  168. return null;
  169. }
  170. public ChatIntefer getChatinter() {
  171. return chatinter;
  172. }
  173. public void setChatinter(ChatIntefer chatinter) {
  174. this.chatinter = chatinter;
  175. }
  176. }