diff --git a/im-platform/src/main/java/com/bx/implatform/service/impl/FriendServiceImpl.java b/im-platform/src/main/java/com/bx/implatform/service/impl/FriendServiceImpl.java index 3d450a8..01f65fd 100644 --- a/im-platform/src/main/java/com/bx/implatform/service/impl/FriendServiceImpl.java +++ b/im-platform/src/main/java/com/bx/implatform/service/impl/FriendServiceImpl.java @@ -1,6 +1,8 @@ package com.bx.implatform.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.bx.implatform.contant.RedisKey; import com.bx.implatform.entity.Friend; @@ -8,14 +10,14 @@ import com.bx.implatform.entity.User; import com.bx.implatform.enums.ResultCode; import com.bx.implatform.exception.GlobalException; import com.bx.implatform.mapper.FriendMapper; +import com.bx.implatform.mapper.UserMapper; import com.bx.implatform.service.IFriendService; -import com.bx.implatform.service.IUserService; import com.bx.implatform.session.SessionContext; import com.bx.implatform.session.UserSession; import com.bx.implatform.vo.FriendVO; +import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.aop.framework.AopContext; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.cache.annotation.CacheConfig; import org.springframework.cache.annotation.CacheEvict; import org.springframework.cache.annotation.Cacheable; @@ -26,25 +28,24 @@ import java.util.List; @Slf4j -@CacheConfig(cacheNames= RedisKey.IM_CACHE_FRIEND) @Service +@AllArgsConstructor +@CacheConfig(cacheNames= RedisKey.IM_CACHE_FRIEND) public class FriendServiceImpl extends ServiceImpl implements IFriendService { - @Autowired - private IUserService userService; + private final UserMapper userMapper; /** * 查询用户的所有好友 * * @param userId 用户id - * @return + * @return 好友列表 */ @Override public List findFriendByUserId(Long userId) { - QueryWrapper queryWrapper = new QueryWrapper(); - queryWrapper.lambda().eq(Friend::getUserId,userId); - List friends = this.list(queryWrapper); - return friends; + LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery(); + queryWrapper.eq(Friend::getUserId,userId); + return this.list(queryWrapper); } @@ -52,9 +53,8 @@ public class FriendServiceImpl extends ServiceImpl impleme * 添加好友,互相建立好友关系 * * @param friendId 好友的用户id - * @return */ - @Transactional + @Transactional(rollbackFor = Exception.class) @Override public void addFriend(Long friendId) { long userId = SessionContext.getSession().getUserId(); @@ -73,9 +73,8 @@ public class FriendServiceImpl extends ServiceImpl impleme * 删除好友,双方都会解除好友关系 * * @param friendId 好友的用户id - * @return */ - @Transactional + @Transactional(rollbackFor = Exception.class) @Override public void delFriend(Long friendId) { long userId = SessionContext.getSession().getUserId(); @@ -92,7 +91,6 @@ public class FriendServiceImpl extends ServiceImpl impleme * * @param userId1 用户1的id * @param userId2 用户2的id - * @return */ @Cacheable(key="#userId1+':'+#userId2") @Override @@ -109,7 +107,6 @@ public class FriendServiceImpl extends ServiceImpl impleme * 更新好友信息,主要是头像和昵称 * * @param vo 好友vo - * @return */ @Override public void update(FriendVO vo) { @@ -135,7 +132,6 @@ public class FriendServiceImpl extends ServiceImpl impleme * * @param userId 用户id * @param friendId 好友的用户id - * @return */ @CacheEvict(key="#userId+':'+#friendId") public void bindFriend(Long userId, Long friendId) { @@ -147,7 +143,7 @@ public class FriendServiceImpl extends ServiceImpl impleme Friend friend = new Friend(); friend.setUserId(userId); friend.setFriendId(friendId); - User friendInfo = userService.getById(friendId); + User friendInfo = userMapper.selectById(friendId); friend.setFriendHeadImage(friendInfo.getHeadImage()); friend.setFriendNickName(friendInfo.getNickName()); this.save(friend); @@ -160,7 +156,6 @@ public class FriendServiceImpl extends ServiceImpl impleme * * @param userId 用户id * @param friendId 好友的用户id - * @return */ @CacheEvict(key="#userId+':'+#friendId") public void unbindFriend(Long userId, Long friendId) { @@ -169,9 +164,7 @@ public class FriendServiceImpl extends ServiceImpl impleme .eq(Friend::getUserId,userId) .eq(Friend::getFriendId,friendId); List friends = this.list(queryWrapper); - friends.stream().forEach(friend -> { - this.removeById(friend.getId()); - }); + friends.forEach(friend -> this.removeById(friend.getId())); } @@ -179,7 +172,7 @@ public class FriendServiceImpl extends ServiceImpl impleme * 查询指定的某个好友信息 * * @param friendId 好友的用户id - * @return + * @return 好友信息 */ @Override public FriendVO findFriend(Long friendId) { diff --git a/im-platform/src/main/java/com/bx/implatform/service/impl/GroupMemberServiceImpl.java b/im-platform/src/main/java/com/bx/implatform/service/impl/GroupMemberServiceImpl.java index ec70f53..135c282 100644 --- a/im-platform/src/main/java/com/bx/implatform/service/impl/GroupMemberServiceImpl.java +++ b/im-platform/src/main/java/com/bx/implatform/service/impl/GroupMemberServiceImpl.java @@ -18,8 +18,8 @@ import java.util.List; import java.util.stream.Collectors; -@CacheConfig(cacheNames = RedisKey.IM_CACHE_GROUP_MEMBER_ID) @Service +@CacheConfig(cacheNames = RedisKey.IM_CACHE_GROUP_MEMBER_ID) public class GroupMemberServiceImpl extends ServiceImpl implements IGroupMemberService { @@ -27,7 +27,7 @@ public class GroupMemberServiceImpl extends ServiceImpl findByUserId(Long userId) { @@ -84,7 +84,7 @@ public class GroupMemberServiceImpl extends ServiceImpl findByGroupId(Long groupId) { @@ -98,7 +98,7 @@ public class GroupMemberServiceImpl extends ServiceImpl implements IGroupMessageService { - @Autowired private IGroupService groupService; - @Autowired private IGroupMemberService groupMemberService; - @Autowired private RedisTemplate redisTemplate; - @Autowired private IMClient imClient; /** @@ -105,7 +101,7 @@ public class GroupMessageServiceImpl extends ServiceImpl members = groupMemberService.findByUserId(session.getUserId()); List ids = members.stream().map(GroupMember::getGroupId).collect(Collectors.toList()); if(CollectionUtil.isEmpty(ids)){ - return Collections.EMPTY_LIST; + return new ArrayList<>(); } // 只能拉取最近1个月的 Date minDate = DateTimeUtils.addMonths(new Date(), -1); @@ -221,7 +217,7 @@ public class GroupMessageServiceImpl extends ServiceImpl atIds = Arrays.asList(StrUtil.split(m.getAtUserIds(),",")); - vo.setAtUserIds(atIds.stream().map(id->Long.parseLong(id)).collect(Collectors.toList())); + vo.setAtUserIds(atIds.stream().map(Long::parseLong).collect(Collectors.toList())); return vo; }).collect(Collectors.toList()); // 消息状态,数据库没有存群聊的消息状态,需要从redis取 diff --git a/im-platform/src/main/java/com/bx/implatform/service/impl/GroupServiceImpl.java b/im-platform/src/main/java/com/bx/implatform/service/impl/GroupServiceImpl.java index d8597d3..42c290e 100644 --- a/im-platform/src/main/java/com/bx/implatform/service/impl/GroupServiceImpl.java +++ b/im-platform/src/main/java/com/bx/implatform/service/impl/GroupServiceImpl.java @@ -23,9 +23,9 @@ import com.bx.implatform.util.BeanUtils; import com.bx.implatform.vo.GroupInviteVO; import com.bx.implatform.vo.GroupMemberVO; import com.bx.implatform.vo.GroupVO; +import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.cache.annotation.CacheConfig; import org.springframework.cache.annotation.CacheEvict; import org.springframework.cache.annotation.Cacheable; @@ -42,18 +42,11 @@ import java.util.stream.Collectors; @Slf4j @CacheConfig(cacheNames = RedisKey.IM_CACHE_GROUP) @Service +@AllArgsConstructor public class GroupServiceImpl extends ServiceImpl implements IGroupService { - - @Autowired private IUserService userService; - - @Autowired private IGroupMemberService groupMemberService; - - @Autowired private IFriendService friendsService; - - @Autowired private IMClient imClient; /** @@ -92,7 +85,7 @@ public class GroupServiceImpl extends ServiceImpl implements * @return 群聊信息 **/ @CacheEvict(value = "#vo.getId()") - @Transactional + @Transactional(rollbackFor = Exception.class) @Override public GroupVO modifyGroup(GroupVO vo) { UserSession session = SessionContext.getSession(); @@ -121,7 +114,7 @@ public class GroupServiceImpl extends ServiceImpl implements * * @param groupId 群聊id **/ - @Transactional + @Transactional(rollbackFor = Exception.class) @CacheEvict(value = "#groupId") @Override public void deleteGroup(Long groupId) { @@ -301,9 +294,7 @@ public class GroupServiceImpl extends ServiceImpl implements GroupMemberVO vo = BeanUtils.copyProperties(m,GroupMemberVO.class); vo.setOnline(onlineUserIds.contains(m.getUserId())); return vo; - }).sorted((m1,m2)->{ - return m2.getOnline().compareTo(m1.getOnline()); - }).collect(Collectors.toList()); + }).sorted((m1,m2)-> m2.getOnline().compareTo(m1.getOnline())).collect(Collectors.toList()); } } diff --git a/im-platform/src/main/java/com/bx/implatform/service/impl/PrivateMessageServiceImpl.java b/im-platform/src/main/java/com/bx/implatform/service/impl/PrivateMessageServiceImpl.java index 88f34b5..d707be8 100644 --- a/im-platform/src/main/java/com/bx/implatform/service/impl/PrivateMessageServiceImpl.java +++ b/im-platform/src/main/java/com/bx/implatform/service/impl/PrivateMessageServiceImpl.java @@ -24,11 +24,12 @@ import com.bx.implatform.session.SessionContext; import com.bx.implatform.session.UserSession; import com.bx.implatform.util.BeanUtils; import com.bx.implatform.dto.PrivateMessageDTO; +import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import java.util.ArrayList; import java.util.Collections; import java.util.Date; import java.util.List; @@ -36,12 +37,11 @@ import java.util.stream.Collectors; @Slf4j @Service +@AllArgsConstructor public class PrivateMessageServiceImpl extends ServiceImpl implements IPrivateMessageService { - @Autowired private IFriendService friendService; - @Autowired private IMClient imClient; /** @@ -199,7 +199,7 @@ public class PrivateMessageServiceImpl extends ServiceImpl friends = friendService.findFriendByUserId(session.getUserId()); if (friends.isEmpty()) { - return Collections.EMPTY_LIST; + return new ArrayList<>(); } List friendIds = friends.stream().map(Friend::getFriendId).collect(Collectors.toList()); // 获取当前用户的消息 diff --git a/im-platform/src/main/java/com/bx/implatform/service/impl/UserServiceImpl.java b/im-platform/src/main/java/com/bx/implatform/service/impl/UserServiceImpl.java index 8e905dc..9518a3c 100644 --- a/im-platform/src/main/java/com/bx/implatform/service/impl/UserServiceImpl.java +++ b/im-platform/src/main/java/com/bx/implatform/service/impl/UserServiceImpl.java @@ -27,41 +27,29 @@ import com.bx.implatform.util.BeanUtils; import com.bx.implatform.vo.LoginVO; import com.bx.implatform.vo.OnlineTerminalVO; import com.bx.implatform.vo.UserVO; +import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.security.crypto.password.PasswordEncoder; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import java.util.Arrays; -import java.util.LinkedList; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.stream.Collectors; @Slf4j @Service +@AllArgsConstructor public class UserServiceImpl extends ServiceImpl implements IUserService { - @Autowired RedisTemplate redisTemplate; - - @Autowired private PasswordEncoder passwordEncoder; - - @Autowired private IGroupMemberService groupMemberService; - - @Autowired private IFriendService friendService; - - @Autowired private JwtProperties jwtProperties; - - @Autowired private IMClient imClient; + /** * 用户登录 * @@ -177,7 +165,7 @@ public class UserServiceImpl extends ServiceImpl implements IU throw new GlobalException(ResultCode.PROGRAM_ERROR,"不允许修改其他用户的信息!"); } User user = this.getById(vo.getId()); - if(null == user){ + if(Objects.isNull(user)){ throw new GlobalException(ResultCode.PROGRAM_ERROR,"用户不存在"); } // 更新好友昵称和头像 diff --git a/im-platform/src/main/java/com/bx/implatform/service/impl/WebrtcServiceImpl.java b/im-platform/src/main/java/com/bx/implatform/service/impl/WebrtcServiceImpl.java index 64177c2..c80c3c8 100644 --- a/im-platform/src/main/java/com/bx/implatform/service/impl/WebrtcServiceImpl.java +++ b/im-platform/src/main/java/com/bx/implatform/service/impl/WebrtcServiceImpl.java @@ -13,8 +13,8 @@ import com.bx.implatform.service.IWebrtcService; import com.bx.implatform.session.SessionContext; import com.bx.implatform.session.UserSession; import com.bx.implatform.session.WebrtcSession; +import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.stereotype.Service; import org.springframework.web.bind.annotation.RequestBody; @@ -25,13 +25,11 @@ import java.util.concurrent.TimeUnit; @Slf4j @Service +@AllArgsConstructor public class WebrtcServiceImpl implements IWebrtcService { - @Autowired private IMClient imClient; - @Autowired private RedisTemplate redisTemplate; - @Autowired private ICEServerConfig iceServerConfig; @Override