一对一聊天重构,期待群聊开发

This commit is contained in:
2024-11-21 17:31:08 +08:00
parent 446b669c75
commit d6b81d4559
185 changed files with 5034 additions and 88 deletions

View File

@@ -2,6 +2,7 @@ package com.ruoyi.system.service.impl;
import cn.hutool.core.bean.BeanUtil;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.helper.LoginHelper;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.core.domain.PageQuery;
@@ -15,6 +16,7 @@ import com.ruoyi.system.mapper.SysUserMapper;
import com.ruoyi.system.service.ISysUserService;
import liquibase.pro.packaged.S;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.system.domain.bo.SocketContactBo;
@@ -26,6 +28,7 @@ import com.ruoyi.system.service.ISocketContactService;
import java.util.List;
import java.util.Map;
import java.util.Collection;
import java.util.Objects;
import java.util.stream.Collectors;
/**
@@ -34,6 +37,7 @@ import java.util.stream.Collectors;
* @author hdka
* @date 2024-10-21
*/
@Slf4j
@RequiredArgsConstructor
@Service
public class SocketContactServiceImpl implements ISocketContactService {
@@ -53,12 +57,10 @@ public class SocketContactServiceImpl implements ISocketContactService {
LambdaQueryWrapper<SocketMessage> socketMessageLambdaQueryWrapper = new LambdaQueryWrapper<>();
socketMessageLambdaQueryWrapper.eq(SocketMessage::getRoomId, socketContactVo.getRoomId())
.and(item ->
item.eq(SocketMessage::getUserId, socketContactVo.getContactUserId())
.or()
.eq(SocketMessage::getUserId, socketContactVo.getUserId())
item.eq(SocketMessage::getContactId,id)
);
socketContactVo.setUser(sysUserMapper.selectUserById(socketContactVo.getContactUserId()));
Long userId = LoginHelper.getUserId();
socketContactVo.setUser(sysUserMapper.selectUserById(Objects.equals(socketContactVo.getContactUserId(), userId) ?socketContactVo.getUserId():socketContactVo.getContactUserId()));
List<SocketMessageVo> socketMessageVos = socketMessageMapper.selectVoList(socketMessageLambdaQueryWrapper);
socketMessageVos.stream()
.peek(item->{
@@ -77,7 +79,7 @@ public class SocketContactServiceImpl implements ISocketContactService {
LambdaQueryWrapper<SocketContact> socketContactLambdaQueryWrapper = buildQueryWrapper(bo);
Page<SocketContactVo> result = baseMapper.selectVoPage(pageQuery.build(), socketContactLambdaQueryWrapper);
for (SocketContactVo record : result.getRecords()) {
SysUser sysUser = sysUserMapper.selectUserById(record.getContactUserId());
SysUser sysUser = sysUserMapper.selectUserById(Objects.equals(record.getContactUserId(), bo.getUserId()) ? record.getUserId() : record.getContactUserId());
record.setUser(sysUser);
}
return TableDataInfo.build(result);
@@ -95,8 +97,9 @@ public class SocketContactServiceImpl implements ISocketContactService {
private LambdaQueryWrapper<SocketContact> buildQueryWrapper(SocketContactBo bo) {
Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<SocketContact> lqw = Wrappers.lambdaQuery();
lqw.eq(bo.getContactUserId() != null, SocketContact::getContactUserId, bo.getContactUserId());
lqw.eq(bo.getUserId() != null, SocketContact::getUserId, bo.getUserId());
lqw.eq(bo.getUserId() != null, SocketContact::getContactUserId, bo.getUserId())
.or()
.eq(bo.getUserId() != null, SocketContact::getUserId, bo.getUserId());
return lqw;
}
@@ -116,15 +119,15 @@ public class SocketContactServiceImpl implements ISocketContactService {
bo.setId(add.getId());
}
// 反向存
add.setContactUserId(bo.getUserId());
add.setUserId(bo.getContactUserId());
validEntityBeforeSave(add);
flag = baseMapper.insert(add) > 0;
if (flag) {
bo.setId(add.getId());
}
//
// // 反向存
// add.setContactUserId(bo.getUserId());
// add.setUserId(bo.getContactUserId());
// validEntityBeforeSave(add);
// flag = baseMapper.insert(add) > 0;
// if (flag) {
// bo.setId(add.getId());
// }
return flag;
}