资源简介

该项目实现了显示在线好友,支持离线消息,等用户上线后进行推送,用户退出也进行推送消息。

资源截图

代码片段和文件信息

/**
 * 
 */
package com.tc.chat.controller;


import java.util.ArrayList;
import java.util.List;

import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import com.google.gson.Gson;
import com.tc.chat.domain.Message;
import com.tc.chat.domain.User;
import com.tc.chat.service.FriendService;
import com.tc.chat.service.MessageService;
import com.tc.chat.service.UserService;
import com.tc.chat.vo.ChatFriend;
import com.tc.chat.websocket.WebSocketUtils;

/**
 * @ClassName: FriendController
 * @Description: TODO
 * @author Simple 
 * @date 2017-6-20 上午11:16:27
 *
 */
@Controller
public class FriendController {

@Autowired
private FriendService friendService;
@Autowired
private UserService userService;
@Autowired
private MessageService messageService;
@RequestMapping(“/list“)
public String friendList(Long userIdModel modelHttpServletRequest request) throws Exception{
User user=userService.getUserById(userId);
ArrayList friendList=friendService.getFriendList(userId);

ArrayList chatFriends=messageService.getChatFriends(userId);
model.addAttribute(“friendList“ friendList);
model.addAttribute(“chatFriends“ chatFriends);
model.addAttribute(“user“user);
return “main“;
}
@RequestMapping(“/online“)
public @ResponseBody void getOnline(Long loginId) throws Exception{
ArrayList users=friendService.getFriendList(loginId);
for (User user : users) {
if(WebSocketUtils.hasConnection(user.getUserId()+““)){
Message message=new Message();
message.setMessageType(“2“);
message.setMessageInfo(user.getUserId()+““);
Gson gson=new Gson();
WebSocketUtils.get(loginId+““).getBasicRemote().sendText(gson.toJson(message));
}
}
}
@RequestMapping(“/noticeFriends“)
public @ResponseBody void noticeFriends(Long loginId) throws Exception{
ArrayList users=friendService.getFriendList(loginId);
for (User user : users) {
if(WebSocketUtils.hasConnection(user.getUserId()+““)){
Message message=new Message();
message.setMessageType(“2“);
message.setMessageInfo(loginId+““);
Gson gson=new Gson();
WebSocketUtils.get(user.getUserId()+““).getBasicRemote().sendText(gson.toJson(message));
}
}
}
@RequestMapping(“/outline“)
public @ResponseBody void noticeFriendsOutLine(Long loginId) throws Exception{
System.out.println(WebSocketUtils.clients.size());
System.out.println(“22退出id“+loginId);
ArrayList users=friendService.getFriendList(loginId);
for (User user : users) {
if(WebSocketUtils.hasConnection(user.getUserId()+““)){
Message messag

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2017-06-21 14:55  新建文件夹\
     目录           0  2017-06-21 14:54  新建文件夹\MyChat\
     文件        1317  2017-06-15 15:19  新建文件夹\MyChat\.classpath
     文件        1507  2017-06-15 15:22  新建文件夹\MyChat\.project
     目录           0  2017-06-21 14:54  新建文件夹\MyChat\.settings\
     文件         597  2017-06-15 15:19  新建文件夹\MyChat\.settings\.jsdtscope
     文件         191  2017-06-15 15:19  新建文件夹\MyChat\.settings\org.eclipse.core.resources.prefs
     文件         430  2017-06-15 15:19  新建文件夹\MyChat\.settings\org.eclipse.jdt.core.prefs
     文件          90  2017-06-15 15:19  新建文件夹\MyChat\.settings\org.eclipse.m2e.core.prefs
     文件         662  2017-06-15 15:19  新建文件夹\MyChat\.settings\org.eclipse.wst.common.component
     文件         171  2017-06-15 15:29  新建文件夹\MyChat\.settings\org.eclipse.wst.common.project.facet.core.prefs.xml
     文件         450  2017-06-15 15:29  新建文件夹\MyChat\.settings\org.eclipse.wst.common.project.facet.core.xml
     文件          49  2017-06-15 15:19  新建文件夹\MyChat\.settings\org.eclipse.wst.jsdt.ui.superType.container
     文件           6  2017-06-15 15:19  新建文件夹\MyChat\.settings\org.eclipse.wst.jsdt.ui.superType.name
     文件        5909  2017-06-20 14:02  新建文件夹\MyChat\pom.xml
     目录           0  2017-06-21 14:54  新建文件夹\MyChat\src\
     目录           0  2017-06-21 14:54  新建文件夹\MyChat\src\main\
     目录           0  2017-06-21 14:54  新建文件夹\MyChat\src\main\java\
     目录           0  2017-06-21 14:54  新建文件夹\MyChat\src\main\java\com\
     目录           0  2017-06-21 14:54  新建文件夹\MyChat\src\main\java\com\tc\
     目录           0  2017-06-21 14:54  新建文件夹\MyChat\src\main\java\com\tc\chat\
     目录           0  2017-06-21 14:54  新建文件夹\MyChat\src\main\java\com\tc\chat\controller\
     文件        3240  2017-06-21 14:38  新建文件夹\MyChat\src\main\java\com\tc\chat\controller\FriendController.java
     文件        2366  2017-06-21 13:51  新建文件夹\MyChat\src\main\java\com\tc\chat\controller\MessageController.java
     文件         886  2017-06-21 14:56  新建文件夹\MyChat\src\main\java\com\tc\chat\controller\UserController.java
     目录           0  2017-06-21 14:54  新建文件夹\MyChat\src\main\java\com\tc\chat\domain\
     文件         888  2017-06-20 11:00  新建文件夹\MyChat\src\main\java\com\tc\chat\domain\Friend.java
     文件        1471  2017-06-20 12:50  新建文件夹\MyChat\src\main\java\com\tc\chat\domain\Message.java
     文件        1365  2017-06-20 11:00  新建文件夹\MyChat\src\main\java\com\tc\chat\domain\User.java
     目录           0  2017-06-21 14:54  新建文件夹\MyChat\src\main\java\com\tc\chat\mapper\
     文件         562  2017-06-20 11:20  新建文件夹\MyChat\src\main\java\com\tc\chat\mapper\FriendMapper.java
............此处省略235个文件信息

评论

共有 条评论