|
@@ -42,19 +42,15 @@ import java.util.Set;
|
|
@Service
|
|
@Service
|
|
@Transactional
|
|
@Transactional
|
|
public class ChatSessionServiceImpl extends ServiceImpl<ChatSessionMapper, ChatSessionEntity>
|
|
public class ChatSessionServiceImpl extends ServiceImpl<ChatSessionMapper, ChatSessionEntity>
|
|
- implements IChatSessionService {
|
|
|
|
|
|
+ implements IChatSessionService {
|
|
|
|
|
|
- private @Autowired
|
|
|
|
- ChatSessionMapper sessionMapper;
|
|
|
|
|
|
+ private @Autowired ChatSessionMapper sessionMapper;
|
|
|
|
|
|
- private @Autowired
|
|
|
|
- IUserAccountService iUserAccountService;
|
|
|
|
|
|
+ private @Autowired IUserAccountService iUserAccountService;
|
|
|
|
|
|
- private @Autowired
|
|
|
|
- UserInfoMapper userInfoMapper;
|
|
|
|
|
|
+ private @Autowired UserInfoMapper userInfoMapper;
|
|
|
|
|
|
- private @Autowired
|
|
|
|
- RedisUtil redis;
|
|
|
|
|
|
+ private @Autowired RedisUtil redis;
|
|
|
|
|
|
@Autowired
|
|
@Autowired
|
|
private JmsMessagingTemplate jmsMessagingTemplate;
|
|
private JmsMessagingTemplate jmsMessagingTemplate;
|
|
@@ -135,7 +131,7 @@ public class ChatSessionServiceImpl extends ServiceImpl<ChatSessionMapper, ChatS
|
|
List<ChatSessionEntity> list = sessionMapper.findDBListByUserId(query.getUserId());
|
|
List<ChatSessionEntity> list = sessionMapper.findDBListByUserId(query.getUserId());
|
|
list.forEach(entity -> {
|
|
list.forEach(entity -> {
|
|
RoomInfo roomInfo = redis.get("ROOM:" + entity.getSessionid(), RoomInfo.class);
|
|
RoomInfo roomInfo = redis.get("ROOM:" + entity.getSessionid(), RoomInfo.class);
|
|
- if (null != roomInfo){
|
|
|
|
|
|
+ if (null != roomInfo) {
|
|
entity.setLastMsg(roomInfo.getLastChat());
|
|
entity.setLastMsg(roomInfo.getLastChat());
|
|
entity.setLastTime(roomInfo.getLastTime());
|
|
entity.setLastTime(roomInfo.getLastTime());
|
|
}
|
|
}
|
|
@@ -145,6 +141,7 @@ public class ChatSessionServiceImpl extends ServiceImpl<ChatSessionMapper, ChatS
|
|
page.setRecords(list);
|
|
page.setRecords(list);
|
|
return RestResponse.success(page);
|
|
return RestResponse.success(page);
|
|
}
|
|
}
|
|
|
|
+
|
|
@Override
|
|
@Override
|
|
/**
|
|
/**
|
|
* 系统启动的时候加载放假及用户信息
|
|
* 系统启动的时候加载放假及用户信息
|
|
@@ -157,11 +154,12 @@ public class ChatSessionServiceImpl extends ServiceImpl<ChatSessionMapper, ChatS
|
|
public RestResponse createPrivateChatRoom(ChatSessionQuery request) {
|
|
public RestResponse createPrivateChatRoom(ChatSessionQuery request) {
|
|
ChatSessionVo vo = new ChatSessionVo();
|
|
ChatSessionVo vo = new ChatSessionVo();
|
|
// 使用我的用户id和将要聊天的用户id正反去数据库查询房间号是否存在
|
|
// 使用我的用户id和将要聊天的用户id正反去数据库查询房间号是否存在
|
|
- String sessionId = sessionMapper.findOneByUserIdAndCreateUserIdAndDateTable(request.getUserId(), request.getCreateUserId(), 3);
|
|
|
|
|
|
+ String sessionId =
|
|
|
|
+ sessionMapper.findOneByUserIdAndCreateUserIdAndDateTable(request.getUserId(), request.getCreateUserId(), 3);
|
|
|
|
|
|
if (StringUtils.isBlank(sessionId)) {
|
|
if (StringUtils.isBlank(sessionId)) {
|
|
ChatSessionEntity record = new ChatSessionEntity();
|
|
ChatSessionEntity record = new ChatSessionEntity();
|
|
- //添加自己到房间
|
|
|
|
|
|
+ // 添加自己到房间
|
|
sessionId = UUIDUtil.getUuidByTime9();
|
|
sessionId = UUIDUtil.getUuidByTime9();
|
|
record.setUserId(request.getUserId());
|
|
record.setUserId(request.getUserId());
|
|
record.setCreateUserId(request.getCreateUserId());
|
|
record.setCreateUserId(request.getCreateUserId());
|
|
@@ -171,7 +169,7 @@ public class ChatSessionServiceImpl extends ServiceImpl<ChatSessionMapper, ChatS
|
|
record.setStatuz(1);
|
|
record.setStatuz(1);
|
|
record.setCreateTime(LocalDateTime.now());
|
|
record.setCreateTime(LocalDateTime.now());
|
|
sessionMapper.insertSelective(record);
|
|
sessionMapper.insertSelective(record);
|
|
- //添加对方用户到房间
|
|
|
|
|
|
+ // 添加对方用户到房间
|
|
record = new ChatSessionEntity();
|
|
record = new ChatSessionEntity();
|
|
record.setUserId(request.getCreateUserId());
|
|
record.setUserId(request.getCreateUserId());
|
|
record.setCreateUserId(null);
|
|
record.setCreateUserId(null);
|
|
@@ -184,7 +182,7 @@ public class ChatSessionServiceImpl extends ServiceImpl<ChatSessionMapper, ChatS
|
|
|
|
|
|
vo.setType(1);
|
|
vo.setType(1);
|
|
vo.setRoom(sessionId);
|
|
vo.setRoom(sessionId);
|
|
- //在redis中创建房间
|
|
|
|
|
|
+ // 在redis中创建房间
|
|
RoomInfo roomInfo = new RoomInfo();
|
|
RoomInfo roomInfo = new RoomInfo();
|
|
roomInfo.setSessionid(record.getSessionid());
|
|
roomInfo.setSessionid(record.getSessionid());
|
|
roomInfo.setDataTable(record.getDataTable());
|
|
roomInfo.setDataTable(record.getDataTable());
|
|
@@ -200,18 +198,18 @@ public class ChatSessionServiceImpl extends ServiceImpl<ChatSessionMapper, ChatS
|
|
|
|
|
|
roomInfo.setUserLIst(userList);
|
|
roomInfo.setUserLIst(userList);
|
|
redis.setValue("ROOM:" + vo.getRoom(), roomInfo);
|
|
redis.setValue("ROOM:" + vo.getRoom(), roomInfo);
|
|
|
|
+
|
|
|
|
+ // 推送消息
|
|
|
|
+ UserInfoEntity byUserId = userInfoMapper.getByUserId(Long.parseLong(request.getUserId()));
|
|
|
|
+ PushUserInfo pushUserInfo =
|
|
|
|
+ iUserAccountService.getPushUserInfoByUserId(request.getCreateUserId().toString());
|
|
|
|
+ PushMessage pushMessage = PushMessage.sayHelloToFriend(byUserId.getName());
|
|
|
|
+ pushMessage.sendTokenOnPlatform(jmsMessagingTemplate, pushUserInfo);
|
|
} else {
|
|
} else {
|
|
vo.setType(2);
|
|
vo.setType(2);
|
|
vo.setRoom(sessionId);
|
|
vo.setRoom(sessionId);
|
|
}
|
|
}
|
|
|
|
|
|
-
|
|
|
|
- // 推送消息
|
|
|
|
- UserInfoEntity byUserId = userInfoMapper.getByUserId(Long.parseLong(request.getUserId()));
|
|
|
|
- PushUserInfo pushUserInfo = iUserAccountService.getPushUserInfoByUserId(request.getCreateUserId().toString());
|
|
|
|
- PushMessage pushMessage = PushMessage.sayHelloToFriend(byUserId.getName());
|
|
|
|
- pushMessage.sendTokenOnPlatform(jmsMessagingTemplate, pushUserInfo);
|
|
|
|
-
|
|
|
|
return RestResponse.success(vo);
|
|
return RestResponse.success(vo);
|
|
}
|
|
}
|
|
|
|
|