Commit 40c9449f3922b141d589991b4eed9ff57c55a1d3
1 parent
5998e7f9
fix: 优化对 JDK8 的兼容性
Showing
18 changed files
with
226 additions
and
207 deletions
yudao-module-im/src/main/java/cn/iocoder/yudao/module/im/controller/admin/face/ImFacePackController.java
| 1 | package cn.iocoder.yudao.module.im.controller.admin.face; | 1 | package cn.iocoder.yudao.module.im.controller.admin.face; |
| 2 | 2 | ||
| 3 | +import cn.hutool.core.collection.ListUtil; | ||
| 3 | import cn.iocoder.yudao.framework.common.pojo.CommonResult; | 4 | import cn.iocoder.yudao.framework.common.pojo.CommonResult; |
| 4 | import cn.iocoder.yudao.framework.common.util.object.BeanUtils; | 5 | import cn.iocoder.yudao.framework.common.util.object.BeanUtils; |
| 5 | import cn.iocoder.yudao.module.im.controller.admin.face.vo.pack.ImFacePackUserRespVO; | 6 | import cn.iocoder.yudao.module.im.controller.admin.face.vo.pack.ImFacePackUserRespVO; |
| @@ -39,7 +40,7 @@ public class ImFacePackController { | @@ -39,7 +40,7 @@ public class ImFacePackController { | ||
| 39 | // 1.1 拉所有启用表情包 | 40 | // 1.1 拉所有启用表情包 |
| 40 | List<ImFacePackDO> packs = facePackService.getEnabledFacePackList(); | 41 | List<ImFacePackDO> packs = facePackService.getEnabledFacePackList(); |
| 41 | if (packs.isEmpty()) { | 42 | if (packs.isEmpty()) { |
| 42 | - return success(List.of()); | 43 | + return success(ListUtil.of()); |
| 43 | } | 44 | } |
| 44 | // 1.2 拉这些包下所有启用表情,按 packId 分组 | 45 | // 1.2 拉这些包下所有启用表情,按 packId 分组 |
| 45 | List<ImFacePackItemDO> items = facePackItemService.getEnabledItemListByPackIds( | 46 | List<ImFacePackItemDO> items = facePackItemService.getEnabledItemListByPackIds( |
| @@ -49,7 +50,7 @@ public class ImFacePackController { | @@ -49,7 +50,7 @@ public class ImFacePackController { | ||
| 49 | // 2. 拼装:BeanUtils 把 pack 字段映射 + 自己塞 items | 50 | // 2. 拼装:BeanUtils 把 pack 字段映射 + 自己塞 items |
| 50 | List<ImFacePackUserRespVO> result = convertList(packs, pack -> { | 51 | List<ImFacePackUserRespVO> result = convertList(packs, pack -> { |
| 51 | ImFacePackUserRespVO vo = BeanUtils.toBean(pack, ImFacePackUserRespVO.class); | 52 | ImFacePackUserRespVO vo = BeanUtils.toBean(pack, ImFacePackUserRespVO.class); |
| 52 | - vo.setItems(BeanUtils.toBean(itemsByPackId.getOrDefault(pack.getId(), List.of()), ImFacePackUserRespVO.Item.class)); | 53 | + vo.setItems(BeanUtils.toBean(itemsByPackId.getOrDefault(pack.getId(), ListUtil.of()), ImFacePackUserRespVO.Item.class)); |
| 53 | return vo; | 54 | return vo; |
| 54 | }); | 55 | }); |
| 55 | return success(result); | 56 | return success(result); |
yudao-module-im/src/main/java/cn/iocoder/yudao/module/im/enums/message/ImMessageTypeEnum.java
| 1 | package cn.iocoder.yudao.module.im.enums.message; | 1 | package cn.iocoder.yudao.module.im.enums.message; |
| 2 | 2 | ||
| 3 | +import cn.hutool.core.collection.CollUtil; | ||
| 3 | import cn.hutool.core.lang.Assert; | 4 | import cn.hutool.core.lang.Assert; |
| 4 | import cn.hutool.core.util.ArrayUtil; | 5 | import cn.hutool.core.util.ArrayUtil; |
| 5 | import cn.iocoder.yudao.framework.common.core.ArrayValuable; | 6 | import cn.iocoder.yudao.framework.common.core.ArrayValuable; |
| @@ -340,7 +341,7 @@ public enum ImMessageTypeEnum implements ArrayValuable<Integer> { | @@ -340,7 +341,7 @@ public enum ImMessageTypeEnum implements ArrayValuable<Integer> { | ||
| 340 | 341 | ||
| 341 | public static final Integer[] ARRAYS = Arrays.stream(values()).map(ImMessageTypeEnum::getType).toArray(Integer[]::new); | 342 | public static final Integer[] ARRAYS = Arrays.stream(values()).map(ImMessageTypeEnum::getType).toArray(Integer[]::new); |
| 342 | 343 | ||
| 343 | - private static final Set<Integer> FRIEND_NOTIFICATION_TYPES = Set.of( | 344 | + private static final Set<Integer> FRIEND_NOTIFICATION_TYPES = CollUtil.newHashSet( |
| 344 | FRIEND_REQUEST_APPROVED.type, | 345 | FRIEND_REQUEST_APPROVED.type, |
| 345 | FRIEND_REQUEST_REJECTED.type, | 346 | FRIEND_REQUEST_REJECTED.type, |
| 346 | FRIEND_REQUEST_RECEIVED.type, | 347 | FRIEND_REQUEST_RECEIVED.type, |
| @@ -351,12 +352,12 @@ public enum ImMessageTypeEnum implements ArrayValuable<Integer> { | @@ -351,12 +352,12 @@ public enum ImMessageTypeEnum implements ArrayValuable<Integer> { | ||
| 351 | FRIEND_INFO_UPDATED.type, | 352 | FRIEND_INFO_UPDATED.type, |
| 352 | FRIEND_UPDATE.type); | 353 | FRIEND_UPDATE.type); |
| 353 | 354 | ||
| 354 | - private static final Set<Integer> GROUP_REQUEST_NOTIFICATION_TYPES = Set.of( | 355 | + private static final Set<Integer> GROUP_REQUEST_NOTIFICATION_TYPES = CollUtil.newHashSet( |
| 355 | GROUP_REQUEST_RECEIVED.type, | 356 | GROUP_REQUEST_RECEIVED.type, |
| 356 | GROUP_REQUEST_APPROVED.type, | 357 | GROUP_REQUEST_APPROVED.type, |
| 357 | GROUP_REQUEST_REJECTED.type); | 358 | GROUP_REQUEST_REJECTED.type); |
| 358 | 359 | ||
| 359 | - private static final Set<Integer> RTC_NOTIFICATION_TYPES = Set.of( | 360 | + private static final Set<Integer> RTC_NOTIFICATION_TYPES = CollUtil.newHashSet( |
| 360 | RTC_CALL.type, | 361 | RTC_CALL.type, |
| 361 | RTC_PARTICIPANT_CONNECTED.type, | 362 | RTC_PARTICIPANT_CONNECTED.type, |
| 362 | RTC_PARTICIPANT_DISCONNECTED.type); | 363 | RTC_PARTICIPANT_DISCONNECTED.type); |
yudao-module-im/src/main/java/cn/iocoder/yudao/module/im/service/friend/ImFriendRequestServiceImpl.java
| 1 | package cn.iocoder.yudao.module.im.service.friend; | 1 | package cn.iocoder.yudao.module.im.service.friend; |
| 2 | 2 | ||
| 3 | +import cn.hutool.core.collection.ListUtil; | ||
| 3 | import cn.hutool.core.util.BooleanUtil; | 4 | import cn.hutool.core.util.BooleanUtil; |
| 4 | import cn.hutool.core.util.ObjUtil; | 5 | import cn.hutool.core.util.ObjUtil; |
| 5 | import cn.hutool.extra.spring.SpringUtil; | 6 | import cn.hutool.extra.spring.SpringUtil; |
| @@ -172,7 +173,7 @@ public class ImFriendRequestServiceImpl implements ImFriendRequestService { | @@ -172,7 +173,7 @@ public class ImFriendRequestServiceImpl implements ImFriendRequestService { | ||
| 172 | // 1.1 校验申请存在、未处理、操作人是接收方 | 173 | // 1.1 校验申请存在、未处理、操作人是接收方 |
| 173 | ImFriendRequestDO request = validateRequestForHandle(userId, requestId); | 174 | ImFriendRequestDO request = validateRequestForHandle(userId, requestId); |
| 174 | // 1.2 复验双方用户有效 | 175 | // 1.2 复验双方用户有效 |
| 175 | - adminUserApi.validateUserList(List.of(request.getFromUserId(), request.getToUserId())); | 176 | + adminUserApi.validateUserList(ListUtil.of(request.getFromUserId(), request.getToUserId())); |
| 176 | 177 | ||
| 177 | // 2. 乐观锁更新申请处理结果 | 178 | // 2. 乐观锁更新申请处理结果 |
| 178 | ImFriendRequestDO updateObj = new ImFriendRequestDO() | 179 | ImFriendRequestDO updateObj = new ImFriendRequestDO() |
| @@ -224,7 +225,7 @@ public class ImFriendRequestServiceImpl implements ImFriendRequestService { | @@ -224,7 +225,7 @@ public class ImFriendRequestServiceImpl implements ImFriendRequestService { | ||
| 224 | public List<ImFriendRequestDO> getMyFriendRequestList(Long userId, Long maxId, Integer limit) { | 225 | public List<ImFriendRequestDO> getMyFriendRequestList(Long userId, Long maxId, Integer limit) { |
| 225 | ImFriendRequestDO maxRequest = maxId != null ? friendRequestMapper.selectById(maxId) : null; | 226 | ImFriendRequestDO maxRequest = maxId != null ? friendRequestMapper.selectById(maxId) : null; |
| 226 | if (maxId != null && maxRequest == null) { | 227 | if (maxId != null && maxRequest == null) { |
| 227 | - return List.of(); | 228 | + return ListUtil.of(); |
| 228 | } | 229 | } |
| 229 | return friendRequestMapper.selectMyList(userId, | 230 | return friendRequestMapper.selectMyList(userId, |
| 230 | maxRequest != null ? maxRequest.getUpdateTime() : null, | 231 | maxRequest != null ? maxRequest.getUpdateTime() : null, |
yudao-module-im/src/main/java/cn/iocoder/yudao/module/im/service/group/ImGroupMemberServiceImpl.java
| 1 | package cn.iocoder.yudao.module.im.service.group; | 1 | package cn.iocoder.yudao.module.im.service.group; |
| 2 | 2 | ||
| 3 | import cn.hutool.core.collection.CollUtil; | 3 | import cn.hutool.core.collection.CollUtil; |
| 4 | +import cn.hutool.core.collection.ListUtil; | ||
| 4 | import cn.hutool.core.util.ObjUtil; | 5 | import cn.hutool.core.util.ObjUtil; |
| 5 | import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum; | 6 | import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum; |
| 6 | import cn.iocoder.yudao.framework.common.util.object.BeanUtils; | 7 | import cn.iocoder.yudao.framework.common.util.object.BeanUtils; |
| @@ -78,7 +79,7 @@ public class ImGroupMemberServiceImpl implements ImGroupMemberService { | @@ -78,7 +79,7 @@ public class ImGroupMemberServiceImpl implements ImGroupMemberService { | ||
| 78 | public List<ImGroupMemberDO> getGroupMemberListByOwnerAndAdmin(Long groupId) { | 79 | public List<ImGroupMemberDO> getGroupMemberListByOwnerAndAdmin(Long groupId) { |
| 79 | // TODO DONE @AI:把条件往下传;这样减少加载数据量! | 80 | // TODO DONE @AI:把条件往下传;这样减少加载数据量! |
| 80 | return groupMemberMapper.selectListByGroupIdAndStatusAndRoles(groupId, CommonStatusEnum.ENABLE.getStatus(), | 81 | return groupMemberMapper.selectListByGroupIdAndStatusAndRoles(groupId, CommonStatusEnum.ENABLE.getStatus(), |
| 81 | - List.of(ImGroupMemberRoleEnum.OWNER.getRole(), ImGroupMemberRoleEnum.ADMIN.getRole())); | 82 | + ListUtil.of(ImGroupMemberRoleEnum.OWNER.getRole(), ImGroupMemberRoleEnum.ADMIN.getRole())); |
| 82 | } | 83 | } |
| 83 | 84 | ||
| 84 | /** | 85 | /** |
| @@ -270,7 +271,7 @@ public class ImGroupMemberServiceImpl implements ImGroupMemberService { | @@ -270,7 +271,7 @@ public class ImGroupMemberServiceImpl implements ImGroupMemberService { | ||
| 270 | boolean groupRemarkChanged = updateReqVO.getGroupRemark() != null | 271 | boolean groupRemarkChanged = updateReqVO.getGroupRemark() != null |
| 271 | && ObjUtil.notEqual(updateReqVO.getGroupRemark(), member.getGroupRemark()); | 272 | && ObjUtil.notEqual(updateReqVO.getGroupRemark(), member.getGroupRemark()); |
| 272 | if (silentChanged || groupRemarkChanged) { | 273 | if (silentChanged || groupRemarkChanged) { |
| 273 | - groupMessageService.sendGroupMessage(userId, List.of(userId), ImGroupMessageSendDTO.ofGroupMemberSettingUpdate( | 274 | + groupMessageService.sendGroupMessage(userId, ListUtil.of(userId), ImGroupMessageSendDTO.ofGroupMemberSettingUpdate( |
| 274 | groupId, userId, updateReqVO.getSilent(), updateReqVO.getGroupRemark())); | 275 | groupId, userId, updateReqVO.getSilent(), updateReqVO.getGroupRemark())); |
| 275 | } | 276 | } |
| 276 | } | 277 | } |
yudao-module-im/src/main/java/cn/iocoder/yudao/module/im/service/group/ImGroupServiceImpl.java
| @@ -28,10 +28,10 @@ import cn.iocoder.yudao.module.im.dal.dataobject.group.ImGroupMemberDO; | @@ -28,10 +28,10 @@ import cn.iocoder.yudao.module.im.dal.dataobject.group.ImGroupMemberDO; | ||
| 28 | import cn.iocoder.yudao.module.im.dal.dataobject.message.ImGroupMessageDO; | 28 | import cn.iocoder.yudao.module.im.dal.dataobject.message.ImGroupMessageDO; |
| 29 | import cn.iocoder.yudao.module.im.dal.mysql.group.ImGroupMapper; | 29 | import cn.iocoder.yudao.module.im.dal.mysql.group.ImGroupMapper; |
| 30 | import cn.iocoder.yudao.module.im.enums.group.ImGroupAddSourceEnum; | 30 | import cn.iocoder.yudao.module.im.enums.group.ImGroupAddSourceEnum; |
| 31 | -import cn.iocoder.yudao.module.im.framework.config.ImProperties; | ||
| 32 | import cn.iocoder.yudao.module.im.enums.group.ImGroupMemberRoleEnum; | 31 | import cn.iocoder.yudao.module.im.enums.group.ImGroupMemberRoleEnum; |
| 33 | import cn.iocoder.yudao.module.im.enums.message.ImMessageStatusEnum; | 32 | import cn.iocoder.yudao.module.im.enums.message.ImMessageStatusEnum; |
| 34 | import cn.iocoder.yudao.module.im.enums.message.ImMessageTypeEnum; | 33 | import cn.iocoder.yudao.module.im.enums.message.ImMessageTypeEnum; |
| 34 | +import cn.iocoder.yudao.module.im.framework.config.ImProperties; | ||
| 35 | import cn.iocoder.yudao.module.im.service.friend.ImFriendService; | 35 | import cn.iocoder.yudao.module.im.service.friend.ImFriendService; |
| 36 | import cn.iocoder.yudao.module.im.service.message.ImGroupMessageService; | 36 | import cn.iocoder.yudao.module.im.service.message.ImGroupMessageService; |
| 37 | import cn.iocoder.yudao.module.im.service.message.dto.ImGroupMessageSendDTO; | 37 | import cn.iocoder.yudao.module.im.service.message.dto.ImGroupMessageSendDTO; |
| @@ -413,12 +413,12 @@ public class ImGroupServiceImpl implements ImGroupService { | @@ -413,12 +413,12 @@ public class ImGroupServiceImpl implements ImGroupService { | ||
| 413 | ImGroupMemberDO newOwner = groupMemberService.validateMemberInGroup(groupId, newOwnerUserId); | 413 | ImGroupMemberDO newOwner = groupMemberService.validateMemberInGroup(groupId, newOwnerUserId); |
| 414 | 414 | ||
| 415 | // 2.1 更新成员角色 | 415 | // 2.1 更新成员角色 |
| 416 | - int newOwnerAffected = groupMemberService.updateGroupMemberRole(groupId, Set.of(newOwner.getUserId()), | 416 | + int newOwnerAffected = groupMemberService.updateGroupMemberRole(groupId, CollUtil.newHashSet(newOwner.getUserId()), |
| 417 | ImGroupMemberRoleEnum.OWNER.getRole()); | 417 | ImGroupMemberRoleEnum.OWNER.getRole()); |
| 418 | if (newOwnerAffected != 1) { | 418 | if (newOwnerAffected != 1) { |
| 419 | throw exception(GROUP_MEMBER_NOT_IN_GROUP); | 419 | throw exception(GROUP_MEMBER_NOT_IN_GROUP); |
| 420 | } | 420 | } |
| 421 | - int oldOwnerAffected = groupMemberService.updateGroupMemberRole(groupId, Set.of(userId), | 421 | + int oldOwnerAffected = groupMemberService.updateGroupMemberRole(groupId, CollUtil.newHashSet(userId), |
| 422 | ImGroupMemberRoleEnum.NORMAL.getRole()); | 422 | ImGroupMemberRoleEnum.NORMAL.getRole()); |
| 423 | if (oldOwnerAffected != 1) { | 423 | if (oldOwnerAffected != 1) { |
| 424 | throw exception(GROUP_MEMBER_NOT_IN_GROUP); | 424 | throw exception(GROUP_MEMBER_NOT_IN_GROUP); |
yudao-module-im/src/main/java/cn/iocoder/yudao/module/im/service/message/ImGroupMessageServiceImpl.java
| @@ -41,6 +41,7 @@ import org.springframework.validation.annotation.Validated; | @@ -41,6 +41,7 @@ import org.springframework.validation.annotation.Validated; | ||
| 41 | 41 | ||
| 42 | import java.time.LocalDateTime; | 42 | import java.time.LocalDateTime; |
| 43 | import java.util.*; | 43 | import java.util.*; |
| 44 | +import java.util.stream.Collectors; | ||
| 44 | 45 | ||
| 45 | import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; | 46 | import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; |
| 46 | import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.*; | 47 | import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.*; |
| @@ -295,7 +296,7 @@ public class ImGroupMessageServiceImpl implements ImGroupMessageService { | @@ -295,7 +296,7 @@ public class ImGroupMessageServiceImpl implements ImGroupMessageService { | ||
| 295 | .filter(msg -> isMessageVisible(msg, memberMap.get(msg.getGroupId()), userId)) | 296 | .filter(msg -> isMessageVisible(msg, memberMap.get(msg.getGroupId()), userId)) |
| 296 | .sorted(Comparator.comparing(ImGroupMessageDO::getId)) | 297 | .sorted(Comparator.comparing(ImGroupMessageDO::getId)) |
| 297 | .limit(size) | 298 | .limit(size) |
| 298 | - .toList(); | 299 | + .collect(Collectors.toList()); |
| 299 | } | 300 | } |
| 300 | 301 | ||
| 301 | /** | 302 | /** |
yudao-module-im/src/main/java/cn/iocoder/yudao/module/im/util/ImMessageUtils.java
| @@ -87,12 +87,15 @@ public class ImMessageUtils { | @@ -87,12 +87,15 @@ public class ImMessageUtils { | ||
| 87 | validateNotBlank(getString(map, "name")); | 87 | validateNotBlank(getString(map, "name")); |
| 88 | } | 88 | } |
| 89 | 89 | ||
| 90 | + @SuppressWarnings("PatternVariableCanBeUsed") | ||
| 90 | private static void validateMergeContent(Map<String, Object> map) { | 91 | private static void validateMergeContent(Map<String, Object> map) { |
| 91 | validateNotBlank(getString(map, "title")); | 92 | validateNotBlank(getString(map, "title")); |
| 92 | Object messages = map.get("messages"); | 93 | Object messages = map.get("messages"); |
| 93 | - if (!(messages instanceof Collection<?> messageList) | ||
| 94 | - || CollUtil.isEmpty(messageList) | ||
| 95 | - || messageList.size() > MERGE_MESSAGE_MAX_COUNT) { | 94 | + if (!(messages instanceof Collection)) { |
| 95 | + throw exception(MESSAGE_CONTENT_INVALID); | ||
| 96 | + } | ||
| 97 | + Collection<?> messageList = (Collection<?>) messages; | ||
| 98 | + if (CollUtil.isEmpty(messageList) || messageList.size() > MERGE_MESSAGE_MAX_COUNT) { | ||
| 96 | throw exception(MESSAGE_CONTENT_INVALID); | 99 | throw exception(MESSAGE_CONTENT_INVALID); |
| 97 | } | 100 | } |
| 98 | } | 101 | } |
yudao-module-im/src/test/java/cn/iocoder/yudao/module/im/dal/mysql/message/ImGroupMessageMapperTest.java
| @@ -10,6 +10,7 @@ import org.junit.jupiter.api.Test; | @@ -10,6 +10,7 @@ import org.junit.jupiter.api.Test; | ||
| 10 | import java.time.LocalDateTime; | 10 | import java.time.LocalDateTime; |
| 11 | import java.util.List; | 11 | import java.util.List; |
| 12 | 12 | ||
| 13 | +import static cn.iocoder.yudao.module.im.util.ImTestCollectionUtils.*; | ||
| 13 | import static org.junit.jupiter.api.Assertions.*; | 14 | import static org.junit.jupiter.api.Assertions.*; |
| 14 | 15 | ||
| 15 | /** | 16 | /** |
| @@ -35,7 +36,7 @@ public class ImGroupMessageMapperTest extends BaseDbUnitTest { | @@ -35,7 +36,7 @@ public class ImGroupMessageMapperTest extends BaseDbUnitTest { | ||
| 35 | mapper.insert(msg20); | 36 | mapper.insert(msg20); |
| 36 | 37 | ||
| 37 | // 调用:只查群 10 | 38 | // 调用:只查群 10 |
| 38 | - List<ImGroupMessageDO> result = mapper.selectListByMinId(List.of(10L), 0L, FAR_PAST, 100); | 39 | + List<ImGroupMessageDO> result = mapper.selectListByMinId(listOf(10L), 0L, FAR_PAST, 100); |
| 39 | 40 | ||
| 40 | // 断言:只有 msg10 | 41 | // 断言:只有 msg10 |
| 41 | assertEquals(1, result.size()); | 42 | assertEquals(1, result.size()); |
| @@ -50,7 +51,7 @@ public class ImGroupMessageMapperTest extends BaseDbUnitTest { | @@ -50,7 +51,7 @@ public class ImGroupMessageMapperTest extends BaseDbUnitTest { | ||
| 50 | ImGroupMessageDO recalled = buildMessage(10L, 1L, ImMessageStatusEnum.RECALL); | 51 | ImGroupMessageDO recalled = buildMessage(10L, 1L, ImMessageStatusEnum.RECALL); |
| 51 | mapper.insert(recalled); | 52 | mapper.insert(recalled); |
| 52 | 53 | ||
| 53 | - List<ImGroupMessageDO> result = mapper.selectListByMinId(List.of(10L), 0L, FAR_PAST, 100); | 54 | + List<ImGroupMessageDO> result = mapper.selectListByMinId(listOf(10L), 0L, FAR_PAST, 100); |
| 54 | 55 | ||
| 55 | // 断言:撤回消息一并返回,由客户端按 status 切换渲染 | 56 | // 断言:撤回消息一并返回,由客户端按 status 切换渲染 |
| 56 | assertEquals(2, result.size()); | 57 | assertEquals(2, result.size()); |
| @@ -66,7 +67,7 @@ public class ImGroupMessageMapperTest extends BaseDbUnitTest { | @@ -66,7 +67,7 @@ public class ImGroupMessageMapperTest extends BaseDbUnitTest { | ||
| 66 | outWindow.setSendTime(LocalDateTime.now().minusDays(40)); | 67 | outWindow.setSendTime(LocalDateTime.now().minusDays(40)); |
| 67 | mapper.insert(outWindow); | 68 | mapper.insert(outWindow); |
| 68 | 69 | ||
| 69 | - List<ImGroupMessageDO> result = mapper.selectListByMinId(List.of(10L), 0L, | 70 | + List<ImGroupMessageDO> result = mapper.selectListByMinId(listOf(10L), 0L, |
| 70 | LocalDateTime.now().minusDays(30), 100); | 71 | LocalDateTime.now().minusDays(30), 100); |
| 71 | 72 | ||
| 72 | assertEquals(1, result.size()); | 73 | assertEquals(1, result.size()); |
| @@ -84,7 +85,7 @@ public class ImGroupMessageMapperTest extends BaseDbUnitTest { | @@ -84,7 +85,7 @@ public class ImGroupMessageMapperTest extends BaseDbUnitTest { | ||
| 84 | mapper.insert(m3); | 85 | mapper.insert(m3); |
| 85 | 86 | ||
| 86 | // 调用:size=2,返回 id 最小的 2 条 | 87 | // 调用:size=2,返回 id 最小的 2 条 |
| 87 | - List<ImGroupMessageDO> result = mapper.selectListByMinId(List.of(10L), 0L, FAR_PAST, 2); | 88 | + List<ImGroupMessageDO> result = mapper.selectListByMinId(listOf(10L), 0L, FAR_PAST, 2); |
| 88 | 89 | ||
| 89 | assertEquals(2, result.size()); | 90 | assertEquals(2, result.size()); |
| 90 | assertTrue(result.get(0).getId() < result.get(1).getId()); | 91 | assertTrue(result.get(0).getId() < result.get(1).getId()); |
yudao-module-im/src/test/java/cn/iocoder/yudao/module/im/service/friend/ImFriendRequestServiceImplTest.java
| @@ -24,6 +24,7 @@ import java.time.LocalDateTime; | @@ -24,6 +24,7 @@ import java.time.LocalDateTime; | ||
| 24 | import java.util.List; | 24 | import java.util.List; |
| 25 | 25 | ||
| 26 | import static cn.iocoder.yudao.module.im.enums.ErrorCodeConstants.*; | 26 | import static cn.iocoder.yudao.module.im.enums.ErrorCodeConstants.*; |
| 27 | +import static cn.iocoder.yudao.module.im.util.ImTestCollectionUtils.*; | ||
| 27 | import static org.junit.jupiter.api.Assertions.*; | 28 | import static org.junit.jupiter.api.Assertions.*; |
| 28 | import static org.mockito.ArgumentMatchers.any; | 29 | import static org.mockito.ArgumentMatchers.any; |
| 29 | import static org.mockito.ArgumentMatchers.anyInt; | 30 | import static org.mockito.ArgumentMatchers.anyInt; |
| @@ -228,7 +229,7 @@ public class ImFriendRequestServiceImplTest extends BaseMockitoUnitTest { | @@ -228,7 +229,7 @@ public class ImFriendRequestServiceImplTest extends BaseMockitoUnitTest { | ||
| 228 | friendRequestService.agreeFriendRequest(2L, 100L); | 229 | friendRequestService.agreeFriendRequest(2L, 100L); |
| 229 | 230 | ||
| 230 | // 断言:双向建立好友 + 推 APPROVED 给发起方 | 231 | // 断言:双向建立好友 + 推 APPROVED 给发起方 |
| 231 | - verify(adminUserApi).validateUserList(List.of(1L, 2L)); | 232 | + verify(adminUserApi).validateUserList(listOf(1L, 2L)); |
| 232 | verify(friendService).becomeFriends(request); | 233 | verify(friendService).becomeFriends(request); |
| 233 | verify(websocketService).sendPrivateMessageAsync(eq(1L), any(ImPrivateMessageDTO.class)); | 234 | verify(websocketService).sendPrivateMessageAsync(eq(1L), any(ImPrivateMessageDTO.class)); |
| 234 | } | 235 | } |
yudao-module-im/src/test/java/cn/iocoder/yudao/module/im/service/friend/ImFriendServiceImplTest.java
| @@ -22,6 +22,7 @@ import java.util.Collections; | @@ -22,6 +22,7 @@ import java.util.Collections; | ||
| 22 | import java.util.List; | 22 | import java.util.List; |
| 23 | 23 | ||
| 24 | import static cn.iocoder.yudao.module.im.enums.ErrorCodeConstants.FRIEND_NOT_FRIEND; | 24 | import static cn.iocoder.yudao.module.im.enums.ErrorCodeConstants.FRIEND_NOT_FRIEND; |
| 25 | +import static cn.iocoder.yudao.module.im.util.ImTestCollectionUtils.*; | ||
| 25 | import static org.junit.jupiter.api.Assertions.*; | 26 | import static org.junit.jupiter.api.Assertions.*; |
| 26 | import static org.mockito.ArgumentMatchers.*; | 27 | import static org.mockito.ArgumentMatchers.*; |
| 27 | import static org.mockito.Mockito.never; | 28 | import static org.mockito.Mockito.never; |
| @@ -248,7 +249,7 @@ public class ImFriendServiceImplTest extends BaseMockitoUnitTest { | @@ -248,7 +249,7 @@ public class ImFriendServiceImplTest extends BaseMockitoUnitTest { | ||
| 248 | 249 | ||
| 249 | @Test | 250 | @Test |
| 250 | public void testGetFriendList() { | 251 | public void testGetFriendList() { |
| 251 | - List<ImFriendDO> list = List.of( | 252 | + List<ImFriendDO> list = listOf( |
| 252 | ImFriendDO.builder().id(1L).userId(1L).friendUserId(2L) | 253 | ImFriendDO.builder().id(1L).userId(1L).friendUserId(2L) |
| 253 | .status(CommonStatusEnum.ENABLE.getStatus()).build(), | 254 | .status(CommonStatusEnum.ENABLE.getStatus()).build(), |
| 254 | ImFriendDO.builder().id(2L).userId(1L).friendUserId(3L) | 255 | ImFriendDO.builder().id(2L).userId(1L).friendUserId(3L) |
| @@ -276,9 +277,9 @@ public class ImFriendServiceImplTest extends BaseMockitoUnitTest { | @@ -276,9 +277,9 @@ public class ImFriendServiceImplTest extends BaseMockitoUnitTest { | ||
| 276 | ImFriendDO friend3 = ImFriendDO.builder().id(2L).userId(1L).friendUserId(3L) | 277 | ImFriendDO friend3 = ImFriendDO.builder().id(2L).userId(1L).friendUserId(3L) |
| 277 | .status(CommonStatusEnum.ENABLE.getStatus()).build(); | 278 | .status(CommonStatusEnum.ENABLE.getStatus()).build(); |
| 278 | when(imFriendMapper.selectListByUserIdAndStatus(1L, CommonStatusEnum.ENABLE.getStatus())) | 279 | when(imFriendMapper.selectListByUserIdAndStatus(1L, CommonStatusEnum.ENABLE.getStatus())) |
| 279 | - .thenReturn(List.of(friend2, friend3)); | 280 | + .thenReturn(listOf(friend2, friend3)); |
| 280 | when(imFriendMapper.selectListByUserIdsAndFriendUserIdAndStatus(anyCollection(), eq(1L), | 281 | when(imFriendMapper.selectListByUserIdsAndFriendUserIdAndStatus(anyCollection(), eq(1L), |
| 281 | - eq(CommonStatusEnum.ENABLE.getStatus()))).thenReturn(List.of( | 282 | + eq(CommonStatusEnum.ENABLE.getStatus()))).thenReturn(listOf( |
| 282 | ImFriendDO.builder().userId(2L).friendUserId(1L) | 283 | ImFriendDO.builder().userId(2L).friendUserId(1L) |
| 283 | .status(CommonStatusEnum.ENABLE.getStatus()).build())); | 284 | .status(CommonStatusEnum.ENABLE.getStatus()).build())); |
| 284 | 285 |
yudao-module-im/src/test/java/cn/iocoder/yudao/module/im/service/group/ImGroupMemberServiceImplTest.java
| @@ -18,6 +18,7 @@ import org.springframework.dao.DuplicateKeyException; | @@ -18,6 +18,7 @@ import org.springframework.dao.DuplicateKeyException; | ||
| 18 | import java.util.List; | 18 | import java.util.List; |
| 19 | 19 | ||
| 20 | import static cn.iocoder.yudao.module.im.enums.ErrorCodeConstants.GROUP_MEMBER_NOT_IN_GROUP; | 20 | import static cn.iocoder.yudao.module.im.enums.ErrorCodeConstants.GROUP_MEMBER_NOT_IN_GROUP; |
| 21 | +import static cn.iocoder.yudao.module.im.util.ImTestCollectionUtils.*; | ||
| 21 | import static org.junit.jupiter.api.Assertions.*; | 22 | import static org.junit.jupiter.api.Assertions.*; |
| 22 | import static org.mockito.ArgumentMatchers.*; | 23 | import static org.mockito.ArgumentMatchers.*; |
| 23 | import static org.mockito.Mockito.*; | 24 | import static org.mockito.Mockito.*; |
| @@ -116,10 +117,10 @@ public class ImGroupMemberServiceImplTest extends BaseMockitoUnitTest { | @@ -116,10 +117,10 @@ public class ImGroupMemberServiceImplTest extends BaseMockitoUnitTest { | ||
| 116 | ImGroupMemberDO exist4 = ImGroupMemberDO.builder().id(40L).groupId(10L).userId(4L) | 117 | ImGroupMemberDO exist4 = ImGroupMemberDO.builder().id(40L).groupId(10L).userId(4L) |
| 117 | .status(CommonStatusEnum.ENABLE.getStatus()).build(); | 118 | .status(CommonStatusEnum.ENABLE.getStatus()).build(); |
| 118 | when(groupMemberMapper.selectListByGroupIdAndUserIds(eq(10L), anyCollection())) | 119 | when(groupMemberMapper.selectListByGroupIdAndUserIds(eq(10L), anyCollection())) |
| 119 | - .thenReturn(List.of(exist3, exist4)); | 120 | + .thenReturn(listOf(exist3, exist4)); |
| 120 | 121 | ||
| 121 | // 调用 | 122 | // 调用 |
| 122 | - groupMemberService.addGroupMembers(10L, List.of(2L, 3L, 4L)); | 123 | + groupMemberService.addGroupMembers(10L, listOf(2L, 3L, 4L)); |
| 123 | 124 | ||
| 124 | // 断言:updates 只有用户 3;inserts 只有用户 2 | 125 | // 断言:updates 只有用户 3;inserts 只有用户 2 |
| 125 | verify(groupMemberMapper).updateRejoinFields(eq(30L), eq(CommonStatusEnum.ENABLE.getStatus()), | 126 | verify(groupMemberMapper).updateRejoinFields(eq(30L), eq(CommonStatusEnum.ENABLE.getStatus()), |
| @@ -131,7 +132,7 @@ public class ImGroupMemberServiceImplTest extends BaseMockitoUnitTest { | @@ -131,7 +132,7 @@ public class ImGroupMemberServiceImplTest extends BaseMockitoUnitTest { | ||
| 131 | @Test | 132 | @Test |
| 132 | public void testAddGroupMembers_allExisting_onlyUpdates() { | 133 | public void testAddGroupMembers_allExisting_onlyUpdates() { |
| 133 | // 准备:传入的 3 个用户都已有记录(全部 DISABLE) → 只做 update,不做 insert | 134 | // 准备:传入的 3 个用户都已有记录(全部 DISABLE) → 只做 update,不做 insert |
| 134 | - List<ImGroupMemberDO> existing = List.of( | 135 | + List<ImGroupMemberDO> existing = listOf( |
| 135 | ImGroupMemberDO.builder().id(1L).groupId(10L).userId(2L) | 136 | ImGroupMemberDO.builder().id(1L).groupId(10L).userId(2L) |
| 136 | .status(CommonStatusEnum.DISABLE.getStatus()).build(), | 137 | .status(CommonStatusEnum.DISABLE.getStatus()).build(), |
| 137 | ImGroupMemberDO.builder().id(2L).groupId(10L).userId(3L) | 138 | ImGroupMemberDO.builder().id(2L).groupId(10L).userId(3L) |
| @@ -140,7 +141,7 @@ public class ImGroupMemberServiceImplTest extends BaseMockitoUnitTest { | @@ -140,7 +141,7 @@ public class ImGroupMemberServiceImplTest extends BaseMockitoUnitTest { | ||
| 140 | when(groupMemberMapper.selectListByGroupIdAndUserIds(eq(10L), anyCollection())) | 141 | when(groupMemberMapper.selectListByGroupIdAndUserIds(eq(10L), anyCollection())) |
| 141 | .thenReturn(existing); | 142 | .thenReturn(existing); |
| 142 | 143 | ||
| 143 | - groupMemberService.addGroupMembers(10L, List.of(2L, 3L)); | 144 | + groupMemberService.addGroupMembers(10L, listOf(2L, 3L)); |
| 144 | 145 | ||
| 145 | verify(groupMemberMapper, times(2)).updateRejoinFields(anyLong(), eq(CommonStatusEnum.ENABLE.getStatus()), | 146 | verify(groupMemberMapper, times(2)).updateRejoinFields(anyLong(), eq(CommonStatusEnum.ENABLE.getStatus()), |
| 146 | any(), eq(ImGroupMemberRoleEnum.NORMAL.getRole()), isNull(), isNull()); | 147 | any(), eq(ImGroupMemberRoleEnum.NORMAL.getRole()), isNull(), isNull()); |
| @@ -151,9 +152,9 @@ public class ImGroupMemberServiceImplTest extends BaseMockitoUnitTest { | @@ -151,9 +152,9 @@ public class ImGroupMemberServiceImplTest extends BaseMockitoUnitTest { | ||
| 151 | public void testAddGroupMembers_allNew_onlyInserts() { | 152 | public void testAddGroupMembers_allNew_onlyInserts() { |
| 152 | // 准备:都不存在 → 只做 insert | 153 | // 准备:都不存在 → 只做 insert |
| 153 | when(groupMemberMapper.selectListByGroupIdAndUserIds(eq(10L), anyCollection())) | 154 | when(groupMemberMapper.selectListByGroupIdAndUserIds(eq(10L), anyCollection())) |
| 154 | - .thenReturn(List.of()); | 155 | + .thenReturn(listOf()); |
| 155 | 156 | ||
| 156 | - groupMemberService.addGroupMembers(10L, List.of(2L, 3L)); | 157 | + groupMemberService.addGroupMembers(10L, listOf(2L, 3L)); |
| 157 | 158 | ||
| 158 | verify(groupMemberMapper, never()).updateRejoinFields(anyLong(), anyInt(), any(), anyInt(), any(), any()); | 159 | verify(groupMemberMapper, never()).updateRejoinFields(anyLong(), anyInt(), any(), anyInt(), any(), any()); |
| 159 | verify(groupMemberMapper).insertBatch(anyList()); | 160 | verify(groupMemberMapper).insertBatch(anyList()); |
| @@ -162,14 +163,14 @@ public class ImGroupMemberServiceImplTest extends BaseMockitoUnitTest { | @@ -162,14 +163,14 @@ public class ImGroupMemberServiceImplTest extends BaseMockitoUnitTest { | ||
| 162 | @Test | 163 | @Test |
| 163 | public void testAddGroupMembers_allExistingEnabled_nothingHappens() { | 164 | public void testAddGroupMembers_allExistingEnabled_nothingHappens() { |
| 164 | // 准备:都已存在且 ENABLE → 既不 update 也不 insert | 165 | // 准备:都已存在且 ENABLE → 既不 update 也不 insert |
| 165 | - List<ImGroupMemberDO> existing = List.of( | 166 | + List<ImGroupMemberDO> existing = listOf( |
| 166 | ImGroupMemberDO.builder().id(1L).groupId(10L).userId(2L) | 167 | ImGroupMemberDO.builder().id(1L).groupId(10L).userId(2L) |
| 167 | .status(CommonStatusEnum.ENABLE.getStatus()).build() | 168 | .status(CommonStatusEnum.ENABLE.getStatus()).build() |
| 168 | ); | 169 | ); |
| 169 | when(groupMemberMapper.selectListByGroupIdAndUserIds(eq(10L), anyCollection())) | 170 | when(groupMemberMapper.selectListByGroupIdAndUserIds(eq(10L), anyCollection())) |
| 170 | .thenReturn(existing); | 171 | .thenReturn(existing); |
| 171 | 172 | ||
| 172 | - groupMemberService.addGroupMembers(10L, List.of(2L)); | 173 | + groupMemberService.addGroupMembers(10L, listOf(2L)); |
| 173 | 174 | ||
| 174 | verify(groupMemberMapper, never()).updateRejoinFields(anyLong(), anyInt(), any(), anyInt(), any(), any()); | 175 | verify(groupMemberMapper, never()).updateRejoinFields(anyLong(), anyInt(), any(), anyInt(), any(), any()); |
| 175 | verify(groupMemberMapper, never()).insertBatch(anyList()); | 176 | verify(groupMemberMapper, never()).insertBatch(anyList()); |
| @@ -179,14 +180,14 @@ public class ImGroupMemberServiceImplTest extends BaseMockitoUnitTest { | @@ -179,14 +180,14 @@ public class ImGroupMemberServiceImplTest extends BaseMockitoUnitTest { | ||
| 179 | public void testAddGroupMembers_batchInsertDuplicateFallback() { | 180 | public void testAddGroupMembers_batchInsertDuplicateFallback() { |
| 180 | // 准备:两个新增成员,批量插入失败时降级为逐个 addGroupMember | 181 | // 准备:两个新增成员,批量插入失败时降级为逐个 addGroupMember |
| 181 | when(groupMemberMapper.selectListByGroupIdAndUserIds(eq(10L), anyCollection())) | 182 | when(groupMemberMapper.selectListByGroupIdAndUserIds(eq(10L), anyCollection())) |
| 182 | - .thenReturn(List.of()); | 183 | + .thenReturn(listOf()); |
| 183 | doThrow(new DuplicateKeyException("concurrent batch insert")) | 184 | doThrow(new DuplicateKeyException("concurrent batch insert")) |
| 184 | .when(groupMemberMapper).insertBatch(anyList()); | 185 | .when(groupMemberMapper).insertBatch(anyList()); |
| 185 | // addGroupMember 单条兜底逻辑 | 186 | // addGroupMember 单条兜底逻辑 |
| 186 | when(groupMemberMapper.selectByGroupIdAndUserId(eq(10L), anyLong())).thenReturn(null); | 187 | when(groupMemberMapper.selectByGroupIdAndUserId(eq(10L), anyLong())).thenReturn(null); |
| 187 | 188 | ||
| 188 | // 调用 | 189 | // 调用 |
| 189 | - groupMemberService.addGroupMembers(10L, List.of(2L, 3L)); | 190 | + groupMemberService.addGroupMembers(10L, listOf(2L, 3L)); |
| 190 | 191 | ||
| 191 | // 断言:降级为逐条调用 insert | 192 | // 断言:降级为逐条调用 insert |
| 192 | verify(groupMemberMapper, times(2)).insert(any(ImGroupMemberDO.class)); | 193 | verify(groupMemberMapper, times(2)).insert(any(ImGroupMemberDO.class)); |
| @@ -244,7 +245,7 @@ public class ImGroupMemberServiceImplTest extends BaseMockitoUnitTest { | @@ -244,7 +245,7 @@ public class ImGroupMemberServiceImplTest extends BaseMockitoUnitTest { | ||
| 244 | // 公开字段昵称变化 → 全员广播 GROUP_MEMBER_NICKNAME_UPDATE | 245 | // 公开字段昵称变化 → 全员广播 GROUP_MEMBER_NICKNAME_UPDATE |
| 245 | verify(groupMessageService).sendGroupMessage(eq(1L), any(cn.iocoder.yudao.module.im.service.message.dto.ImGroupMessageSendDTO.class)); | 246 | verify(groupMessageService).sendGroupMessage(eq(1L), any(cn.iocoder.yudao.module.im.service.message.dto.ImGroupMessageSendDTO.class)); |
| 246 | // 个人字段 silent 变化 → 仅自己多端同步 GROUP_MEMBER_SETTING_UPDATE | 247 | // 个人字段 silent 变化 → 仅自己多端同步 GROUP_MEMBER_SETTING_UPDATE |
| 247 | - verify(groupMessageService).sendGroupMessage(eq(1L), eq(java.util.List.of(1L)), | 248 | + verify(groupMessageService).sendGroupMessage(eq(1L), eq(listOf(1L)), |
| 248 | any(cn.iocoder.yudao.module.im.service.message.dto.ImGroupMessageSendDTO.class)); | 249 | any(cn.iocoder.yudao.module.im.service.message.dto.ImGroupMessageSendDTO.class)); |
| 249 | } | 250 | } |
| 250 | 251 | ||
| @@ -278,7 +279,7 @@ public class ImGroupMemberServiceImplTest extends BaseMockitoUnitTest { | @@ -278,7 +279,7 @@ public class ImGroupMemberServiceImplTest extends BaseMockitoUnitTest { | ||
| 278 | 279 | ||
| 279 | @Test | 280 | @Test |
| 280 | public void testRemoveGroupMembers_batch() { | 281 | public void testRemoveGroupMembers_batch() { |
| 281 | - groupMemberService.removeGroupMembers(10L, List.of(2L, 3L)); | 282 | + groupMemberService.removeGroupMembers(10L, listOf(2L, 3L)); |
| 282 | 283 | ||
| 283 | ArgumentCaptor<ImGroupMemberDO> captor = ArgumentCaptor.forClass(ImGroupMemberDO.class); | 284 | ArgumentCaptor<ImGroupMemberDO> captor = ArgumentCaptor.forClass(ImGroupMemberDO.class); |
| 284 | verify(groupMemberMapper).updateByGroupIdAndUserIdsAndStatus(eq(10L), anyCollection(), | 285 | verify(groupMemberMapper).updateByGroupIdAndUserIdsAndStatus(eq(10L), anyCollection(), |
| @@ -303,7 +304,7 @@ public class ImGroupMemberServiceImplTest extends BaseMockitoUnitTest { | @@ -303,7 +304,7 @@ public class ImGroupMemberServiceImplTest extends BaseMockitoUnitTest { | ||
| 303 | @Test | 304 | @Test |
| 304 | public void testGetActiveGroupMemberUserIdsByGroupId_extractsUserIds() { | 305 | public void testGetActiveGroupMemberUserIdsByGroupId_extractsUserIds() { |
| 305 | // 准备:3 个 ENABLE 成员 | 306 | // 准备:3 个 ENABLE 成员 |
| 306 | - List<ImGroupMemberDO> members = List.of( | 307 | + List<ImGroupMemberDO> members = listOf( |
| 307 | ImGroupMemberDO.builder().groupId(10L).userId(1L) | 308 | ImGroupMemberDO.builder().groupId(10L).userId(1L) |
| 308 | .status(CommonStatusEnum.ENABLE.getStatus()).build(), | 309 | .status(CommonStatusEnum.ENABLE.getStatus()).build(), |
| 309 | ImGroupMemberDO.builder().groupId(10L).userId(2L) | 310 | ImGroupMemberDO.builder().groupId(10L).userId(2L) |
| @@ -318,13 +319,13 @@ public class ImGroupMemberServiceImplTest extends BaseMockitoUnitTest { | @@ -318,13 +319,13 @@ public class ImGroupMemberServiceImplTest extends BaseMockitoUnitTest { | ||
| 318 | List<Long> userIds = groupMemberService.getActiveGroupMemberUserIdsByGroupId(10L); | 319 | List<Long> userIds = groupMemberService.getActiveGroupMemberUserIdsByGroupId(10L); |
| 319 | 320 | ||
| 320 | // 断言:只返回 userId、顺序保留 | 321 | // 断言:只返回 userId、顺序保留 |
| 321 | - assertEquals(List.of(1L, 2L, 3L), userIds); | 322 | + assertEquals(listOf(1L, 2L, 3L), userIds); |
| 322 | } | 323 | } |
| 323 | 324 | ||
| 324 | @Test | 325 | @Test |
| 325 | public void testGetActiveGroupMemberUserIdsByGroupId_emptyList() { | 326 | public void testGetActiveGroupMemberUserIdsByGroupId_emptyList() { |
| 326 | when(groupMemberMapper.selectListByGroupIdAndStatus( | 327 | when(groupMemberMapper.selectListByGroupIdAndStatus( |
| 327 | - 10L, CommonStatusEnum.ENABLE.getStatus())).thenReturn(List.of()); | 328 | + 10L, CommonStatusEnum.ENABLE.getStatus())).thenReturn(listOf()); |
| 328 | 329 | ||
| 329 | List<Long> userIds = groupMemberService.getActiveGroupMemberUserIdsByGroupId(10L); | 330 | List<Long> userIds = groupMemberService.getActiveGroupMemberUserIdsByGroupId(10L); |
| 330 | 331 | ||
| @@ -333,8 +334,8 @@ public class ImGroupMemberServiceImplTest extends BaseMockitoUnitTest { | @@ -333,8 +334,8 @@ public class ImGroupMemberServiceImplTest extends BaseMockitoUnitTest { | ||
| 333 | 334 | ||
| 334 | @Test | 335 | @Test |
| 335 | public void testGetGroupMemberListByOwnerAndAdmin_passesRoles() { | 336 | public void testGetGroupMemberListByOwnerAndAdmin_passesRoles() { |
| 336 | - List<Integer> roles = List.of(ImGroupMemberRoleEnum.OWNER.getRole(), ImGroupMemberRoleEnum.ADMIN.getRole()); | ||
| 337 | - List<ImGroupMemberDO> members = List.of(ImGroupMemberDO.builder().groupId(10L).userId(1L).build()); | 337 | + List<Integer> roles = listOf(ImGroupMemberRoleEnum.OWNER.getRole(), ImGroupMemberRoleEnum.ADMIN.getRole()); |
| 338 | + List<ImGroupMemberDO> members = listOf(ImGroupMemberDO.builder().groupId(10L).userId(1L).build()); | ||
| 338 | when(groupMemberMapper.selectListByGroupIdAndStatusAndRoles(10L, CommonStatusEnum.ENABLE.getStatus(), roles)) | 339 | when(groupMemberMapper.selectListByGroupIdAndStatusAndRoles(10L, CommonStatusEnum.ENABLE.getStatus(), roles)) |
| 339 | .thenReturn(members); | 340 | .thenReturn(members); |
| 340 | 341 |
yudao-module-im/src/test/java/cn/iocoder/yudao/module/im/service/group/ImGroupRequestServiceImplTest.java
| @@ -28,6 +28,7 @@ import java.util.Collection; | @@ -28,6 +28,7 @@ import java.util.Collection; | ||
| 28 | import java.util.List; | 28 | import java.util.List; |
| 29 | 29 | ||
| 30 | import static cn.iocoder.yudao.module.im.enums.ErrorCodeConstants.*; | 30 | import static cn.iocoder.yudao.module.im.enums.ErrorCodeConstants.*; |
| 31 | +import static cn.iocoder.yudao.module.im.util.ImTestCollectionUtils.*; | ||
| 31 | import static org.junit.jupiter.api.Assertions.*; | 32 | import static org.junit.jupiter.api.Assertions.*; |
| 32 | import static org.mockito.ArgumentMatchers.*; | 33 | import static org.mockito.ArgumentMatchers.*; |
| 33 | import static org.mockito.Mockito.*; | 34 | import static org.mockito.Mockito.*; |
| @@ -93,7 +94,7 @@ public class ImGroupRequestServiceImplTest extends BaseMockitoUnitTest { | @@ -93,7 +94,7 @@ public class ImGroupRequestServiceImplTest extends BaseMockitoUnitTest { | ||
| 93 | .status(CommonStatusEnum.ENABLE.getStatus()).build(); | 94 | .status(CommonStatusEnum.ENABLE.getStatus()).build(); |
| 94 | when(groupService.validateGroupExists(10L)).thenReturn(group); | 95 | when(groupService.validateGroupExists(10L)).thenReturn(group); |
| 95 | // 群里有 owner + 一个 admin,作为 1503 推送目标 | 96 | // 群里有 owner + 一个 admin,作为 1503 推送目标 |
| 96 | - when(groupMemberService.getGroupMemberListByOwnerAndAdmin(10L)).thenReturn(List.of( | 97 | + when(groupMemberService.getGroupMemberListByOwnerAndAdmin(10L)).thenReturn(listOf( |
| 97 | ImGroupMemberDO.builder().groupId(10L).userId(99L) | 98 | ImGroupMemberDO.builder().groupId(10L).userId(99L) |
| 98 | .role(ImGroupMemberRoleEnum.OWNER.getRole()) | 99 | .role(ImGroupMemberRoleEnum.OWNER.getRole()) |
| 99 | .status(CommonStatusEnum.ENABLE.getStatus()).build(), | 100 | .status(CommonStatusEnum.ENABLE.getStatus()).build(), |
| @@ -125,7 +126,7 @@ public class ImGroupRequestServiceImplTest extends BaseMockitoUnitTest { | @@ -125,7 +126,7 @@ public class ImGroupRequestServiceImplTest extends BaseMockitoUnitTest { | ||
| 125 | .joinApproval(true) | 126 | .joinApproval(true) |
| 126 | .status(CommonStatusEnum.ENABLE.getStatus()).build(); | 127 | .status(CommonStatusEnum.ENABLE.getStatus()).build(); |
| 127 | when(groupService.validateGroupExists(10L)).thenReturn(group); | 128 | when(groupService.validateGroupExists(10L)).thenReturn(group); |
| 128 | - when(groupMemberService.getGroupMemberListByOwnerAndAdmin(10L)).thenReturn(List.of( | 129 | + when(groupMemberService.getGroupMemberListByOwnerAndAdmin(10L)).thenReturn(listOf( |
| 129 | ImGroupMemberDO.builder().groupId(10L).userId(99L) | 130 | ImGroupMemberDO.builder().groupId(10L).userId(99L) |
| 130 | .role(ImGroupMemberRoleEnum.OWNER.getRole()) | 131 | .role(ImGroupMemberRoleEnum.OWNER.getRole()) |
| 131 | .status(CommonStatusEnum.ENABLE.getStatus()).build())); | 132 | .status(CommonStatusEnum.ENABLE.getStatus()).build())); |
| @@ -190,7 +191,7 @@ public class ImGroupRequestServiceImplTest extends BaseMockitoUnitTest { | @@ -190,7 +191,7 @@ public class ImGroupRequestServiceImplTest extends BaseMockitoUnitTest { | ||
| 190 | ImGroupDO group = ImGroupDO.builder().id(10L).ownerUserId(99L) | 191 | ImGroupDO group = ImGroupDO.builder().id(10L).ownerUserId(99L) |
| 191 | .status(CommonStatusEnum.ENABLE.getStatus()).build(); | 192 | .status(CommonStatusEnum.ENABLE.getStatus()).build(); |
| 192 | when(groupService.getGroup(10L)).thenReturn(group); | 193 | when(groupService.getGroup(10L)).thenReturn(group); |
| 193 | - when(groupMemberService.getGroupMemberListByOwnerAndAdmin(10L)).thenReturn(List.of( | 194 | + when(groupMemberService.getGroupMemberListByOwnerAndAdmin(10L)).thenReturn(listOf( |
| 194 | ImGroupMemberDO.builder().groupId(10L).userId(99L) | 195 | ImGroupMemberDO.builder().groupId(10L).userId(99L) |
| 195 | .role(ImGroupMemberRoleEnum.OWNER.getRole()) | 196 | .role(ImGroupMemberRoleEnum.OWNER.getRole()) |
| 196 | .status(CommonStatusEnum.ENABLE.getStatus()).build())); | 197 | .status(CommonStatusEnum.ENABLE.getStatus()).build())); |
| @@ -268,7 +269,7 @@ public class ImGroupRequestServiceImplTest extends BaseMockitoUnitTest { | @@ -268,7 +269,7 @@ public class ImGroupRequestServiceImplTest extends BaseMockitoUnitTest { | ||
| 268 | ImGroupDO group = ImGroupDO.builder().id(10L).ownerUserId(1L) | 269 | ImGroupDO group = ImGroupDO.builder().id(10L).ownerUserId(1L) |
| 269 | .status(CommonStatusEnum.ENABLE.getStatus()).build(); | 270 | .status(CommonStatusEnum.ENABLE.getStatus()).build(); |
| 270 | when(groupService.getGroup(10L)).thenReturn(group); | 271 | when(groupService.getGroup(10L)).thenReturn(group); |
| 271 | - when(groupMemberService.getGroupMemberListByOwnerAndAdmin(10L)).thenReturn(List.of( | 272 | + when(groupMemberService.getGroupMemberListByOwnerAndAdmin(10L)).thenReturn(listOf( |
| 272 | ImGroupMemberDO.builder().groupId(10L).userId(1L) | 273 | ImGroupMemberDO.builder().groupId(10L).userId(1L) |
| 273 | .role(ImGroupMemberRoleEnum.OWNER.getRole()) | 274 | .role(ImGroupMemberRoleEnum.OWNER.getRole()) |
| 274 | .status(CommonStatusEnum.ENABLE.getStatus()).build())); | 275 | .status(CommonStatusEnum.ENABLE.getStatus()).build())); |
| @@ -289,16 +290,16 @@ public class ImGroupRequestServiceImplTest extends BaseMockitoUnitTest { | @@ -289,16 +290,16 @@ public class ImGroupRequestServiceImplTest extends BaseMockitoUnitTest { | ||
| 289 | .status(CommonStatusEnum.ENABLE.getStatus()).build(); | 290 | .status(CommonStatusEnum.ENABLE.getStatus()).build(); |
| 290 | when(groupService.validateGroupExists(10L)).thenReturn(group); | 291 | when(groupService.validateGroupExists(10L)).thenReturn(group); |
| 291 | when(groupRequestMapper.selectByGroupIdAndUserId(eq(10L), anyLong())).thenReturn(null); | 292 | when(groupRequestMapper.selectByGroupIdAndUserId(eq(10L), anyLong())).thenReturn(null); |
| 292 | - when(groupMemberService.getGroupMemberListByOwnerAndAdmin(10L)).thenReturn(List.of( | 293 | + when(groupMemberService.getGroupMemberListByOwnerAndAdmin(10L)).thenReturn(listOf( |
| 293 | ImGroupMemberDO.builder().groupId(10L).userId(99L) | 294 | ImGroupMemberDO.builder().groupId(10L).userId(99L) |
| 294 | .role(ImGroupMemberRoleEnum.OWNER.getRole()) | 295 | .role(ImGroupMemberRoleEnum.OWNER.getRole()) |
| 295 | .status(CommonStatusEnum.ENABLE.getStatus()).build())); | 296 | .status(CommonStatusEnum.ENABLE.getStatus()).build())); |
| 296 | - when(adminUserApi.getUserMap(anyCollection())).thenReturn(java.util.Map.of( | 297 | + when(adminUserApi.getUserMap(anyCollection())).thenReturn(mapOf( |
| 297 | 2L, buildUser(2L, "用户A"), | 298 | 2L, buildUser(2L, "用户A"), |
| 298 | 3L, buildUser(3L, "用户B"))); | 299 | 3L, buildUser(3L, "用户B"))); |
| 299 | 300 | ||
| 300 | // 调用:邀请人 1L 邀请 2L、3L(都没有旧记录) | 301 | // 调用:邀请人 1L 邀请 2L、3L(都没有旧记录) |
| 301 | - groupRequestService.createInviteRequestList(10L, 1L, List.of(2L, 3L)); | 302 | + groupRequestService.createInviteRequestList(10L, 1L, listOf(2L, 3L)); |
| 302 | 303 | ||
| 303 | // 断言:插入 2 条 + 推 1503 给 owner(每条 1 帧)共 2 帧 | 304 | // 断言:插入 2 条 + 推 1503 给 owner(每条 1 帧)共 2 帧 |
| 304 | ArgumentCaptor<ImGroupRequestDO> captor = ArgumentCaptor.forClass(ImGroupRequestDO.class); | 305 | ArgumentCaptor<ImGroupRequestDO> captor = ArgumentCaptor.forClass(ImGroupRequestDO.class); |
| @@ -323,14 +324,14 @@ public class ImGroupRequestServiceImplTest extends BaseMockitoUnitTest { | @@ -323,14 +324,14 @@ public class ImGroupRequestServiceImplTest extends BaseMockitoUnitTest { | ||
| 323 | .setHandleResult(ImGroupRequestHandleResultEnum.REFUSED.getResult()); | 324 | .setHandleResult(ImGroupRequestHandleResultEnum.REFUSED.getResult()); |
| 324 | when(groupRequestMapper.selectByGroupIdAndUserId(10L, 2L)).thenReturn(null, old); | 325 | when(groupRequestMapper.selectByGroupIdAndUserId(10L, 2L)).thenReturn(null, old); |
| 325 | when(groupRequestMapper.insert(any(ImGroupRequestDO.class))).thenThrow(new DuplicateKeyException("dup")); | 326 | when(groupRequestMapper.insert(any(ImGroupRequestDO.class))).thenThrow(new DuplicateKeyException("dup")); |
| 326 | - when(groupMemberService.getGroupMemberListByOwnerAndAdmin(10L)).thenReturn(List.of( | 327 | + when(groupMemberService.getGroupMemberListByOwnerAndAdmin(10L)).thenReturn(listOf( |
| 327 | ImGroupMemberDO.builder().groupId(10L).userId(99L) | 328 | ImGroupMemberDO.builder().groupId(10L).userId(99L) |
| 328 | .role(ImGroupMemberRoleEnum.OWNER.getRole()) | 329 | .role(ImGroupMemberRoleEnum.OWNER.getRole()) |
| 329 | .status(CommonStatusEnum.ENABLE.getStatus()).build())); | 330 | .status(CommonStatusEnum.ENABLE.getStatus()).build())); |
| 330 | - when(adminUserApi.getUserMap(anyCollection())).thenReturn(java.util.Map.of(2L, buildUser(2L, "用户A"))); | 331 | + when(adminUserApi.getUserMap(anyCollection())).thenReturn(mapOf(2L, buildUser(2L, "用户A"))); |
| 331 | 332 | ||
| 332 | // 调用 | 333 | // 调用 |
| 333 | - groupRequestService.createInviteRequestList(10L, 1L, List.of(2L)); | 334 | + groupRequestService.createInviteRequestList(10L, 1L, listOf(2L)); |
| 334 | 335 | ||
| 335 | // 断言:复用并重置旧邀请申请 | 336 | // 断言:复用并重置旧邀请申请 |
| 336 | verify(groupRequestMapper).updateInviteByIdReset(eq(50L), eq(1L), | 337 | verify(groupRequestMapper).updateInviteByIdReset(eq(50L), eq(1L), |
yudao-module-im/src/test/java/cn/iocoder/yudao/module/im/service/group/ImGroupServiceImplTest.java
| @@ -43,6 +43,7 @@ import java.util.Map; | @@ -43,6 +43,7 @@ import java.util.Map; | ||
| 43 | import java.util.Set; | 43 | import java.util.Set; |
| 44 | 44 | ||
| 45 | import static cn.iocoder.yudao.module.im.enums.ErrorCodeConstants.*; | 45 | import static cn.iocoder.yudao.module.im.enums.ErrorCodeConstants.*; |
| 46 | +import static cn.iocoder.yudao.module.im.util.ImTestCollectionUtils.*; | ||
| 46 | import static org.junit.jupiter.api.Assertions.*; | 47 | import static org.junit.jupiter.api.Assertions.*; |
| 47 | import static org.mockito.ArgumentMatchers.*; | 48 | import static org.mockito.ArgumentMatchers.*; |
| 48 | import static org.mockito.Mockito.*; | 49 | import static org.mockito.Mockito.*; |
| @@ -108,13 +109,13 @@ public class ImGroupServiceImplTest extends BaseMockitoUnitTest { | @@ -108,13 +109,13 @@ public class ImGroupServiceImplTest extends BaseMockitoUnitTest { | ||
| 108 | // 准备:创建者 + 2 个初始成员,都是好友 | 109 | // 准备:创建者 + 2 个初始成员,都是好友 |
| 109 | ImGroupCreateReqVO reqVO = new ImGroupCreateReqVO(); | 110 | ImGroupCreateReqVO reqVO = new ImGroupCreateReqVO(); |
| 110 | reqVO.setName("测试群"); | 111 | reqVO.setName("测试群"); |
| 111 | - reqVO.setMemberUserIds(new ArrayList<>(List.of(2L, 3L))); | 112 | + reqVO.setMemberUserIds(new ArrayList<>(listOf(2L, 3L))); |
| 112 | when(groupMapper.insert(any(ImGroupDO.class))).thenAnswer(invocation -> { | 113 | when(groupMapper.insert(any(ImGroupDO.class))).thenAnswer(invocation -> { |
| 113 | ImGroupDO group = invocation.getArgument(0); | 114 | ImGroupDO group = invocation.getArgument(0); |
| 114 | group.setId(100L); | 115 | group.setId(100L); |
| 115 | return 1; | 116 | return 1; |
| 116 | }); | 117 | }); |
| 117 | - when(friendService.getActiveFriendList(eq(1L), anyCollection())).thenReturn(List.of( | 118 | + when(friendService.getActiveFriendList(eq(1L), anyCollection())).thenReturn(listOf( |
| 118 | ImFriendDO.builder().userId(1L).friendUserId(2L) | 119 | ImFriendDO.builder().userId(1L).friendUserId(2L) |
| 119 | .status(CommonStatusEnum.ENABLE.getStatus()).build(), | 120 | .status(CommonStatusEnum.ENABLE.getStatus()).build(), |
| 120 | ImFriendDO.builder().userId(1L).friendUserId(3L) | 121 | ImFriendDO.builder().userId(1L).friendUserId(3L) |
| @@ -140,15 +141,15 @@ public class ImGroupServiceImplTest extends BaseMockitoUnitTest { | @@ -140,15 +141,15 @@ public class ImGroupServiceImplTest extends BaseMockitoUnitTest { | ||
| 140 | // 准备:初始成员里有非好友 | 141 | // 准备:初始成员里有非好友 |
| 141 | ImGroupCreateReqVO reqVO = new ImGroupCreateReqVO(); | 142 | ImGroupCreateReqVO reqVO = new ImGroupCreateReqVO(); |
| 142 | reqVO.setName("测试群"); | 143 | reqVO.setName("测试群"); |
| 143 | - reqVO.setMemberUserIds(new ArrayList<>(List.of(2L, 3L))); | 144 | + reqVO.setMemberUserIds(new ArrayList<>(listOf(2L, 3L))); |
| 144 | // 只有 2 是好友,3 不是 | 145 | // 只有 2 是好友,3 不是 |
| 145 | - when(friendService.getActiveFriendList(eq(1L), anyCollection())).thenReturn(List.of( | 146 | + when(friendService.getActiveFriendList(eq(1L), anyCollection())).thenReturn(listOf( |
| 146 | ImFriendDO.builder().userId(1L).friendUserId(2L) | 147 | ImFriendDO.builder().userId(1L).friendUserId(2L) |
| 147 | .status(CommonStatusEnum.ENABLE.getStatus()).build())); | 148 | .status(CommonStatusEnum.ENABLE.getStatus()).build())); |
| 148 | AdminUserRespDTO u3 = new AdminUserRespDTO(); | 149 | AdminUserRespDTO u3 = new AdminUserRespDTO(); |
| 149 | u3.setId(3L); | 150 | u3.setId(3L); |
| 150 | u3.setNickname("李四"); | 151 | u3.setNickname("李四"); |
| 151 | - when(adminUserApi.getUserMap(anyCollection())).thenReturn(Map.of(3L, u3)); | 152 | + when(adminUserApi.getUserMap(anyCollection())).thenReturn(mapOf(3L, u3)); |
| 152 | 153 | ||
| 153 | // 调用并断言 | 154 | // 调用并断言 |
| 154 | ServiceException exception = assertThrows(ServiceException.class, | 155 | ServiceException exception = assertThrows(ServiceException.class, |
| @@ -327,8 +328,8 @@ public class ImGroupServiceImplTest extends BaseMockitoUnitTest { | @@ -327,8 +328,8 @@ public class ImGroupServiceImplTest extends BaseMockitoUnitTest { | ||
| 327 | // 被邀请人 2 和 3 都是好友 | 328 | // 被邀请人 2 和 3 都是好友 |
| 328 | ImGroupMemberInviteReqVO reqVO = new ImGroupMemberInviteReqVO(); | 329 | ImGroupMemberInviteReqVO reqVO = new ImGroupMemberInviteReqVO(); |
| 329 | reqVO.setGroupId(10L); | 330 | reqVO.setGroupId(10L); |
| 330 | - reqVO.setMemberUserIds(new ArrayList<>(List.of(2L, 3L))); | ||
| 331 | - List<ImFriendDO> friends = List.of( | 331 | + reqVO.setMemberUserIds(new ArrayList<>(listOf(2L, 3L))); |
| 332 | + List<ImFriendDO> friends = listOf( | ||
| 332 | ImFriendDO.builder().userId(1L).friendUserId(2L) | 333 | ImFriendDO.builder().userId(1L).friendUserId(2L) |
| 333 | .status(CommonStatusEnum.ENABLE.getStatus()).build(), | 334 | .status(CommonStatusEnum.ENABLE.getStatus()).build(), |
| 334 | ImFriendDO.builder().userId(1L).friendUserId(3L) | 335 | ImFriendDO.builder().userId(1L).friendUserId(3L) |
| @@ -366,7 +367,7 @@ public class ImGroupServiceImplTest extends BaseMockitoUnitTest { | @@ -366,7 +367,7 @@ public class ImGroupServiceImplTest extends BaseMockitoUnitTest { | ||
| 366 | ImGroupMemberDO.builder().groupId(10L).userId(1L) | 367 | ImGroupMemberDO.builder().groupId(10L).userId(1L) |
| 367 | .role(ImGroupMemberRoleEnum.NORMAL.getRole()) | 368 | .role(ImGroupMemberRoleEnum.NORMAL.getRole()) |
| 368 | .status(CommonStatusEnum.ENABLE.getStatus()).build()); | 369 | .status(CommonStatusEnum.ENABLE.getStatus()).build()); |
| 369 | - when(groupMemberService.getActiveGroupMemberListByGroupId(10L)).thenReturn(List.of( | 370 | + when(groupMemberService.getActiveGroupMemberListByGroupId(10L)).thenReturn(listOf( |
| 370 | ImGroupMemberDO.builder().groupId(10L).userId(99L) | 371 | ImGroupMemberDO.builder().groupId(10L).userId(99L) |
| 371 | .role(ImGroupMemberRoleEnum.OWNER.getRole()) | 372 | .role(ImGroupMemberRoleEnum.OWNER.getRole()) |
| 372 | .status(CommonStatusEnum.ENABLE.getStatus()).build(), | 373 | .status(CommonStatusEnum.ENABLE.getStatus()).build(), |
| @@ -376,8 +377,8 @@ public class ImGroupServiceImplTest extends BaseMockitoUnitTest { | @@ -376,8 +377,8 @@ public class ImGroupServiceImplTest extends BaseMockitoUnitTest { | ||
| 376 | 377 | ||
| 377 | ImGroupMemberInviteReqVO reqVO = new ImGroupMemberInviteReqVO(); | 378 | ImGroupMemberInviteReqVO reqVO = new ImGroupMemberInviteReqVO(); |
| 378 | reqVO.setGroupId(10L); | 379 | reqVO.setGroupId(10L); |
| 379 | - reqVO.setMemberUserIds(new ArrayList<>(List.of(2L, 3L))); | ||
| 380 | - when(friendService.getActiveFriendList(eq(1L), anyCollection())).thenReturn(List.of( | 380 | + reqVO.setMemberUserIds(new ArrayList<>(listOf(2L, 3L))); |
| 381 | + when(friendService.getActiveFriendList(eq(1L), anyCollection())).thenReturn(listOf( | ||
| 381 | ImFriendDO.builder().userId(1L).friendUserId(2L) | 382 | ImFriendDO.builder().userId(1L).friendUserId(2L) |
| 382 | .status(CommonStatusEnum.ENABLE.getStatus()).build(), | 383 | .status(CommonStatusEnum.ENABLE.getStatus()).build(), |
| 383 | ImFriendDO.builder().userId(1L).friendUserId(3L) | 384 | ImFriendDO.builder().userId(1L).friendUserId(3L) |
| @@ -408,15 +409,15 @@ public class ImGroupServiceImplTest extends BaseMockitoUnitTest { | @@ -408,15 +409,15 @@ public class ImGroupServiceImplTest extends BaseMockitoUnitTest { | ||
| 408 | ImGroupMemberDO.builder().groupId(10L).userId(1L) | 409 | ImGroupMemberDO.builder().groupId(10L).userId(1L) |
| 409 | .role(ImGroupMemberRoleEnum.OWNER.getRole()) | 410 | .role(ImGroupMemberRoleEnum.OWNER.getRole()) |
| 410 | .status(CommonStatusEnum.ENABLE.getStatus()).build()); | 411 | .status(CommonStatusEnum.ENABLE.getStatus()).build()); |
| 411 | - when(groupMemberService.getActiveGroupMemberListByGroupId(10L)).thenReturn(List.of( | 412 | + when(groupMemberService.getActiveGroupMemberListByGroupId(10L)).thenReturn(listOf( |
| 412 | ImGroupMemberDO.builder().groupId(10L).userId(1L) | 413 | ImGroupMemberDO.builder().groupId(10L).userId(1L) |
| 413 | .role(ImGroupMemberRoleEnum.OWNER.getRole()) | 414 | .role(ImGroupMemberRoleEnum.OWNER.getRole()) |
| 414 | .status(CommonStatusEnum.ENABLE.getStatus()).build())); | 415 | .status(CommonStatusEnum.ENABLE.getStatus()).build())); |
| 415 | 416 | ||
| 416 | ImGroupMemberInviteReqVO reqVO = new ImGroupMemberInviteReqVO(); | 417 | ImGroupMemberInviteReqVO reqVO = new ImGroupMemberInviteReqVO(); |
| 417 | reqVO.setGroupId(10L); | 418 | reqVO.setGroupId(10L); |
| 418 | - reqVO.setMemberUserIds(new ArrayList<>(List.of(2L, 3L))); | ||
| 419 | - when(friendService.getActiveFriendList(eq(1L), anyCollection())).thenReturn(List.of( | 419 | + reqVO.setMemberUserIds(new ArrayList<>(listOf(2L, 3L))); |
| 420 | + when(friendService.getActiveFriendList(eq(1L), anyCollection())).thenReturn(listOf( | ||
| 420 | ImFriendDO.builder().userId(1L).friendUserId(2L) | 421 | ImFriendDO.builder().userId(1L).friendUserId(2L) |
| 421 | .status(CommonStatusEnum.ENABLE.getStatus()).build(), | 422 | .status(CommonStatusEnum.ENABLE.getStatus()).build(), |
| 422 | ImFriendDO.builder().userId(1L).friendUserId(3L) | 423 | ImFriendDO.builder().userId(1L).friendUserId(3L) |
| @@ -445,18 +446,18 @@ public class ImGroupServiceImplTest extends BaseMockitoUnitTest { | @@ -445,18 +446,18 @@ public class ImGroupServiceImplTest extends BaseMockitoUnitTest { | ||
| 445 | .status(CommonStatusEnum.ENABLE.getStatus()).build(); | 446 | .status(CommonStatusEnum.ENABLE.getStatus()).build(); |
| 446 | when(groupMapper.selectById(10L)).thenReturn(group); | 447 | when(groupMapper.selectById(10L)).thenReturn(group); |
| 447 | when(groupMemberService.getActiveGroupMemberListByGroupId(10L)) | 448 | when(groupMemberService.getActiveGroupMemberListByGroupId(10L)) |
| 448 | - .thenReturn(List.of(ImGroupMemberDO.builder().groupId(10L).userId(1L) | 449 | + .thenReturn(listOf(ImGroupMemberDO.builder().groupId(10L).userId(1L) |
| 449 | .status(CommonStatusEnum.ENABLE.getStatus()).build())); | 450 | .status(CommonStatusEnum.ENABLE.getStatus()).build())); |
| 450 | 451 | ||
| 451 | ImGroupMemberInviteReqVO reqVO = new ImGroupMemberInviteReqVO(); | 452 | ImGroupMemberInviteReqVO reqVO = new ImGroupMemberInviteReqVO(); |
| 452 | reqVO.setGroupId(10L); | 453 | reqVO.setGroupId(10L); |
| 453 | - reqVO.setMemberUserIds(new ArrayList<>(List.of(2L, 3L))); | 454 | + reqVO.setMemberUserIds(new ArrayList<>(listOf(2L, 3L))); |
| 454 | // 只有 2 是好友,3 不是 | 455 | // 只有 2 是好友,3 不是 |
| 455 | - when(friendService.getActiveFriendList(eq(1L), anyCollection())).thenReturn(List.of( | 456 | + when(friendService.getActiveFriendList(eq(1L), anyCollection())).thenReturn(listOf( |
| 456 | ImFriendDO.builder().userId(1L).friendUserId(2L) | 457 | ImFriendDO.builder().userId(1L).friendUserId(2L) |
| 457 | .status(CommonStatusEnum.ENABLE.getStatus()).build())); | 458 | .status(CommonStatusEnum.ENABLE.getStatus()).build())); |
| 458 | AdminUserRespDTO u3 = new AdminUserRespDTO(); u3.setId(3L); u3.setNickname("李四"); | 459 | AdminUserRespDTO u3 = new AdminUserRespDTO(); u3.setId(3L); u3.setNickname("李四"); |
| 459 | - when(adminUserApi.getUserMap(anyCollection())).thenReturn(Map.of(3L, u3)); | 460 | + when(adminUserApi.getUserMap(anyCollection())).thenReturn(mapOf(3L, u3)); |
| 460 | 461 | ||
| 461 | ServiceException exception = assertThrows(ServiceException.class, | 462 | ServiceException exception = assertThrows(ServiceException.class, |
| 462 | () -> groupService.inviteGroupMember(1L, reqVO)); | 463 | () -> groupService.inviteGroupMember(1L, reqVO)); |
| @@ -484,9 +485,9 @@ public class ImGroupServiceImplTest extends BaseMockitoUnitTest { | @@ -484,9 +485,9 @@ public class ImGroupServiceImplTest extends BaseMockitoUnitTest { | ||
| 484 | 485 | ||
| 485 | ImGroupMemberInviteReqVO reqVO = new ImGroupMemberInviteReqVO(); | 486 | ImGroupMemberInviteReqVO reqVO = new ImGroupMemberInviteReqVO(); |
| 486 | reqVO.setGroupId(10L); | 487 | reqVO.setGroupId(10L); |
| 487 | - reqVO.setMemberUserIds(new ArrayList<>(List.of(600L, 601L))); | 488 | + reqVO.setMemberUserIds(new ArrayList<>(listOf(600L, 601L))); |
| 488 | // 被邀请人都是好友 | 489 | // 被邀请人都是好友 |
| 489 | - when(friendService.getActiveFriendList(eq(1L), anyCollection())).thenReturn(List.of( | 490 | + when(friendService.getActiveFriendList(eq(1L), anyCollection())).thenReturn(listOf( |
| 490 | ImFriendDO.builder().userId(1L).friendUserId(600L) | 491 | ImFriendDO.builder().userId(1L).friendUserId(600L) |
| 491 | .status(CommonStatusEnum.ENABLE.getStatus()).build(), | 492 | .status(CommonStatusEnum.ENABLE.getStatus()).build(), |
| 492 | ImFriendDO.builder().userId(1L).friendUserId(601L) | 493 | ImFriendDO.builder().userId(1L).friendUserId(601L) |
| @@ -512,7 +513,7 @@ public class ImGroupServiceImplTest extends BaseMockitoUnitTest { | @@ -512,7 +513,7 @@ public class ImGroupServiceImplTest extends BaseMockitoUnitTest { | ||
| 512 | .status(CommonStatusEnum.ENABLE.getStatus()).build(); | 513 | .status(CommonStatusEnum.ENABLE.getStatus()).build(); |
| 513 | when(groupMapper.selectById(10L)).thenReturn(group); | 514 | when(groupMapper.selectById(10L)).thenReturn(group); |
| 514 | // 用户 2 已在群中 | 515 | // 用户 2 已在群中 |
| 515 | - when(groupMemberService.getActiveGroupMemberListByGroupId(10L)).thenReturn(List.of( | 516 | + when(groupMemberService.getActiveGroupMemberListByGroupId(10L)).thenReturn(listOf( |
| 516 | ImGroupMemberDO.builder().groupId(10L).userId(1L) | 517 | ImGroupMemberDO.builder().groupId(10L).userId(1L) |
| 517 | .status(CommonStatusEnum.ENABLE.getStatus()).build(), | 518 | .status(CommonStatusEnum.ENABLE.getStatus()).build(), |
| 518 | ImGroupMemberDO.builder().groupId(10L).userId(2L) | 519 | ImGroupMemberDO.builder().groupId(10L).userId(2L) |
| @@ -521,7 +522,7 @@ public class ImGroupServiceImplTest extends BaseMockitoUnitTest { | @@ -521,7 +522,7 @@ public class ImGroupServiceImplTest extends BaseMockitoUnitTest { | ||
| 521 | 522 | ||
| 522 | ImGroupMemberInviteReqVO reqVO = new ImGroupMemberInviteReqVO(); | 523 | ImGroupMemberInviteReqVO reqVO = new ImGroupMemberInviteReqVO(); |
| 523 | reqVO.setGroupId(10L); | 524 | reqVO.setGroupId(10L); |
| 524 | - reqVO.setMemberUserIds(new ArrayList<>(List.of(2L))); // 只邀请 2,他已在群中 | 525 | + reqVO.setMemberUserIds(new ArrayList<>(listOf(2L))); // 只邀请 2,他已在群中 |
| 525 | 526 | ||
| 526 | // 调用 | 527 | // 调用 |
| 527 | groupService.inviteGroupMember(1L, reqVO); | 528 | groupService.inviteGroupMember(1L, reqVO); |
| @@ -606,7 +607,7 @@ public class ImGroupServiceImplTest extends BaseMockitoUnitTest { | @@ -606,7 +607,7 @@ public class ImGroupServiceImplTest extends BaseMockitoUnitTest { | ||
| 606 | 607 | ||
| 607 | ImGroupMemberRemoveReqVO reqVO = new ImGroupMemberRemoveReqVO(); | 608 | ImGroupMemberRemoveReqVO reqVO = new ImGroupMemberRemoveReqVO(); |
| 608 | reqVO.setGroupId(10L); | 609 | reqVO.setGroupId(10L); |
| 609 | - reqVO.setMemberUserIds(List.of(1L, 2L)); | 610 | + reqVO.setMemberUserIds(listOf(1L, 2L)); |
| 610 | 611 | ||
| 611 | ServiceException exception = assertThrows(ServiceException.class, | 612 | ServiceException exception = assertThrows(ServiceException.class, |
| 612 | () -> groupService.removeGroupMember(1L, reqVO)); | 613 | () -> groupService.removeGroupMember(1L, reqVO)); |
| @@ -628,7 +629,7 @@ public class ImGroupServiceImplTest extends BaseMockitoUnitTest { | @@ -628,7 +629,7 @@ public class ImGroupServiceImplTest extends BaseMockitoUnitTest { | ||
| 628 | ImGroupMemberDO.builder().groupId(10L).userId(1L) | 629 | ImGroupMemberDO.builder().groupId(10L).userId(1L) |
| 629 | .role(ImGroupMemberRoleEnum.OWNER.getRole()).build()); | 630 | .role(ImGroupMemberRoleEnum.OWNER.getRole()).build()); |
| 630 | // 目标:两个普通成员 | 631 | // 目标:两个普通成员 |
| 631 | - when(groupMemberService.getGroupMembers(eq(10L), anyCollection())).thenReturn(List.of( | 632 | + when(groupMemberService.getGroupMembers(eq(10L), anyCollection())).thenReturn(listOf( |
| 632 | ImGroupMemberDO.builder().groupId(10L).userId(2L) | 633 | ImGroupMemberDO.builder().groupId(10L).userId(2L) |
| 633 | .role(ImGroupMemberRoleEnum.NORMAL.getRole()) | 634 | .role(ImGroupMemberRoleEnum.NORMAL.getRole()) |
| 634 | .status(CommonStatusEnum.ENABLE.getStatus()).build(), | 635 | .status(CommonStatusEnum.ENABLE.getStatus()).build(), |
| @@ -638,7 +639,7 @@ public class ImGroupServiceImplTest extends BaseMockitoUnitTest { | @@ -638,7 +639,7 @@ public class ImGroupServiceImplTest extends BaseMockitoUnitTest { | ||
| 638 | 639 | ||
| 639 | ImGroupMemberRemoveReqVO reqVO = new ImGroupMemberRemoveReqVO(); | 640 | ImGroupMemberRemoveReqVO reqVO = new ImGroupMemberRemoveReqVO(); |
| 640 | reqVO.setGroupId(10L); | 641 | reqVO.setGroupId(10L); |
| 641 | - reqVO.setMemberUserIds(List.of(2L, 3L)); | 642 | + reqVO.setMemberUserIds(listOf(2L, 3L)); |
| 642 | 643 | ||
| 643 | groupService.removeGroupMember(1L, reqVO); | 644 | groupService.removeGroupMember(1L, reqVO); |
| 644 | 645 | ||
| @@ -665,14 +666,14 @@ public class ImGroupServiceImplTest extends BaseMockitoUnitTest { | @@ -665,14 +666,14 @@ public class ImGroupServiceImplTest extends BaseMockitoUnitTest { | ||
| 665 | ImGroupMemberDO.builder().groupId(10L).userId(1L) | 666 | ImGroupMemberDO.builder().groupId(10L).userId(1L) |
| 666 | .role(ImGroupMemberRoleEnum.ADMIN.getRole()).build()); | 667 | .role(ImGroupMemberRoleEnum.ADMIN.getRole()).build()); |
| 667 | // 目标:另一个管理员 | 668 | // 目标:另一个管理员 |
| 668 | - when(groupMemberService.getGroupMembers(eq(10L), anyCollection())).thenReturn(List.of( | 669 | + when(groupMemberService.getGroupMembers(eq(10L), anyCollection())).thenReturn(listOf( |
| 669 | ImGroupMemberDO.builder().groupId(10L).userId(2L) | 670 | ImGroupMemberDO.builder().groupId(10L).userId(2L) |
| 670 | .role(ImGroupMemberRoleEnum.ADMIN.getRole()) | 671 | .role(ImGroupMemberRoleEnum.ADMIN.getRole()) |
| 671 | .status(CommonStatusEnum.ENABLE.getStatus()).build())); | 672 | .status(CommonStatusEnum.ENABLE.getStatus()).build())); |
| 672 | 673 | ||
| 673 | ImGroupMemberRemoveReqVO reqVO = new ImGroupMemberRemoveReqVO(); | 674 | ImGroupMemberRemoveReqVO reqVO = new ImGroupMemberRemoveReqVO(); |
| 674 | reqVO.setGroupId(10L); | 675 | reqVO.setGroupId(10L); |
| 675 | - reqVO.setMemberUserIds(List.of(2L)); | 676 | + reqVO.setMemberUserIds(listOf(2L)); |
| 676 | 677 | ||
| 677 | ServiceException exception = assertThrows(ServiceException.class, | 678 | ServiceException exception = assertThrows(ServiceException.class, |
| 678 | () -> groupService.removeGroupMember(1L, reqVO)); | 679 | () -> groupService.removeGroupMember(1L, reqVO)); |
| @@ -694,14 +695,14 @@ public class ImGroupServiceImplTest extends BaseMockitoUnitTest { | @@ -694,14 +695,14 @@ public class ImGroupServiceImplTest extends BaseMockitoUnitTest { | ||
| 694 | when(groupMemberService.validateMemberInGroup(10L, 1L)).thenReturn( | 695 | when(groupMemberService.validateMemberInGroup(10L, 1L)).thenReturn( |
| 695 | ImGroupMemberDO.builder().groupId(10L).userId(1L) | 696 | ImGroupMemberDO.builder().groupId(10L).userId(1L) |
| 696 | .role(ImGroupMemberRoleEnum.OWNER.getRole()).build()); | 697 | .role(ImGroupMemberRoleEnum.OWNER.getRole()).build()); |
| 697 | - when(groupMemberService.getGroupMembers(eq(10L), anyCollection())).thenReturn(List.of( | 698 | + when(groupMemberService.getGroupMembers(eq(10L), anyCollection())).thenReturn(listOf( |
| 698 | ImGroupMemberDO.builder().groupId(10L).userId(99L) | 699 | ImGroupMemberDO.builder().groupId(10L).userId(99L) |
| 699 | .role(ImGroupMemberRoleEnum.OWNER.getRole()) | 700 | .role(ImGroupMemberRoleEnum.OWNER.getRole()) |
| 700 | .status(CommonStatusEnum.ENABLE.getStatus()).build())); | 701 | .status(CommonStatusEnum.ENABLE.getStatus()).build())); |
| 701 | 702 | ||
| 702 | ImGroupMemberRemoveReqVO reqVO = new ImGroupMemberRemoveReqVO(); | 703 | ImGroupMemberRemoveReqVO reqVO = new ImGroupMemberRemoveReqVO(); |
| 703 | reqVO.setGroupId(10L); | 704 | reqVO.setGroupId(10L); |
| 704 | - reqVO.setMemberUserIds(List.of(99L)); | 705 | + reqVO.setMemberUserIds(listOf(99L)); |
| 705 | 706 | ||
| 706 | ServiceException exception = assertThrows(ServiceException.class, | 707 | ServiceException exception = assertThrows(ServiceException.class, |
| 707 | () -> groupService.removeGroupMember(1L, reqVO)); | 708 | () -> groupService.removeGroupMember(1L, reqVO)); |
| @@ -723,7 +724,7 @@ public class ImGroupServiceImplTest extends BaseMockitoUnitTest { | @@ -723,7 +724,7 @@ public class ImGroupServiceImplTest extends BaseMockitoUnitTest { | ||
| 723 | ImGroupMemberDO.builder().groupId(10L).userId(1L) | 724 | ImGroupMemberDO.builder().groupId(10L).userId(1L) |
| 724 | .role(ImGroupMemberRoleEnum.OWNER.getRole()).build()); | 725 | .role(ImGroupMemberRoleEnum.OWNER.getRole()).build()); |
| 725 | // 目标:2L 有效普通成员;3L 已退群(DISABLE)的历史管理员,应被跳过而非拦截整批 | 726 | // 目标:2L 有效普通成员;3L 已退群(DISABLE)的历史管理员,应被跳过而非拦截整批 |
| 726 | - when(groupMemberService.getGroupMembers(eq(10L), anyCollection())).thenReturn(List.of( | 727 | + when(groupMemberService.getGroupMembers(eq(10L), anyCollection())).thenReturn(listOf( |
| 727 | ImGroupMemberDO.builder().groupId(10L).userId(2L) | 728 | ImGroupMemberDO.builder().groupId(10L).userId(2L) |
| 728 | .role(ImGroupMemberRoleEnum.NORMAL.getRole()) | 729 | .role(ImGroupMemberRoleEnum.NORMAL.getRole()) |
| 729 | .status(CommonStatusEnum.ENABLE.getStatus()).build(), | 730 | .status(CommonStatusEnum.ENABLE.getStatus()).build(), |
| @@ -733,17 +734,17 @@ public class ImGroupServiceImplTest extends BaseMockitoUnitTest { | @@ -733,17 +734,17 @@ public class ImGroupServiceImplTest extends BaseMockitoUnitTest { | ||
| 733 | 734 | ||
| 734 | ImGroupMemberRemoveReqVO reqVO = new ImGroupMemberRemoveReqVO(); | 735 | ImGroupMemberRemoveReqVO reqVO = new ImGroupMemberRemoveReqVO(); |
| 735 | reqVO.setGroupId(10L); | 736 | reqVO.setGroupId(10L); |
| 736 | - reqVO.setMemberUserIds(List.of(2L, 3L)); | 737 | + reqVO.setMemberUserIds(listOf(2L, 3L)); |
| 737 | 738 | ||
| 738 | groupService.removeGroupMember(1L, reqVO); | 739 | groupService.removeGroupMember(1L, reqVO); |
| 739 | 740 | ||
| 740 | // 仅有效成员 2L 进入移除 / 已读清理,已退群的 3L 被跳过 | 741 | // 仅有效成员 2L 进入移除 / 已读清理,已退群的 3L 被跳过 |
| 741 | ArgumentCaptor<Collection> removeCaptor = ArgumentCaptor.forClass(Collection.class); | 742 | ArgumentCaptor<Collection> removeCaptor = ArgumentCaptor.forClass(Collection.class); |
| 742 | verify(groupMemberService).removeGroupMembers(eq(10L), removeCaptor.capture()); | 743 | verify(groupMemberService).removeGroupMembers(eq(10L), removeCaptor.capture()); |
| 743 | - assertEquals(Set.of(2L), Set.copyOf(removeCaptor.getValue())); | 744 | + assertEquals(setOf(2L), setCopyOf(removeCaptor.getValue())); |
| 744 | ArgumentCaptor<Collection> readCaptor = ArgumentCaptor.forClass(Collection.class); | 745 | ArgumentCaptor<Collection> readCaptor = ArgumentCaptor.forClass(Collection.class); |
| 745 | verify(groupMessageService).deleteReadMaxMessageIds(eq(10L), readCaptor.capture()); | 746 | verify(groupMessageService).deleteReadMaxMessageIds(eq(10L), readCaptor.capture()); |
| 746 | - assertEquals(Set.of(2L), Set.copyOf(readCaptor.getValue())); | 747 | + assertEquals(setOf(2L), setCopyOf(readCaptor.getValue())); |
| 747 | } | 748 | } |
| 748 | } | 749 | } |
| 749 | 750 | ||
| @@ -759,7 +760,7 @@ public class ImGroupServiceImplTest extends BaseMockitoUnitTest { | @@ -759,7 +760,7 @@ public class ImGroupServiceImplTest extends BaseMockitoUnitTest { | ||
| 759 | .status(CommonStatusEnum.ENABLE.getStatus()).build(); | 760 | .status(CommonStatusEnum.ENABLE.getStatus()).build(); |
| 760 | when(groupMapper.selectByIdForUpdate(10L)).thenReturn(group); | 761 | when(groupMapper.selectByIdForUpdate(10L)).thenReturn(group); |
| 761 | // 目标 3 是普通成员 | 762 | // 目标 3 是普通成员 |
| 762 | - when(groupMemberService.getGroupMembers(eq(10L), anyCollection())).thenReturn(List.of( | 763 | + when(groupMemberService.getGroupMembers(eq(10L), anyCollection())).thenReturn(listOf( |
| 763 | ImGroupMemberDO.builder().userId(3L).status(CommonStatusEnum.ENABLE.getStatus()) | 764 | ImGroupMemberDO.builder().userId(3L).status(CommonStatusEnum.ENABLE.getStatus()) |
| 764 | .role(ImGroupMemberRoleEnum.NORMAL.getRole()).build())); | 765 | .role(ImGroupMemberRoleEnum.NORMAL.getRole()).build())); |
| 765 | // 群里已有 1 个 ADMIN,1 + 1 ≤ 3 不超上限 | 766 | // 群里已有 1 个 ADMIN,1 + 1 ≤ 3 不超上限 |
| @@ -770,7 +771,7 @@ public class ImGroupServiceImplTest extends BaseMockitoUnitTest { | @@ -770,7 +771,7 @@ public class ImGroupServiceImplTest extends BaseMockitoUnitTest { | ||
| 770 | 771 | ||
| 771 | ImGroupAdminAddReqVO reqVO = new ImGroupAdminAddReqVO(); | 772 | ImGroupAdminAddReqVO reqVO = new ImGroupAdminAddReqVO(); |
| 772 | reqVO.setId(10L); | 773 | reqVO.setId(10L); |
| 773 | - reqVO.setUserIds(List.of(3L)); | 774 | + reqVO.setUserIds(listOf(3L)); |
| 774 | 775 | ||
| 775 | groupService.addGroupAdmin(1L, reqVO); | 776 | groupService.addGroupAdmin(1L, reqVO); |
| 776 | 777 | ||
| @@ -789,7 +790,7 @@ public class ImGroupServiceImplTest extends BaseMockitoUnitTest { | @@ -789,7 +790,7 @@ public class ImGroupServiceImplTest extends BaseMockitoUnitTest { | ||
| 789 | ImGroupDO group = ImGroupDO.builder().id(10L).ownerUserId(1L) | 790 | ImGroupDO group = ImGroupDO.builder().id(10L).ownerUserId(1L) |
| 790 | .status(CommonStatusEnum.ENABLE.getStatus()).build(); | 791 | .status(CommonStatusEnum.ENABLE.getStatus()).build(); |
| 791 | when(groupMapper.selectByIdForUpdate(10L)).thenReturn(group); | 792 | when(groupMapper.selectByIdForUpdate(10L)).thenReturn(group); |
| 792 | - when(groupMemberService.getGroupMembers(eq(10L), anyCollection())).thenReturn(List.of( | 793 | + when(groupMemberService.getGroupMembers(eq(10L), anyCollection())).thenReturn(listOf( |
| 793 | ImGroupMemberDO.builder().userId(5L).status(CommonStatusEnum.ENABLE.getStatus()) | 794 | ImGroupMemberDO.builder().userId(5L).status(CommonStatusEnum.ENABLE.getStatus()) |
| 794 | .role(ImGroupMemberRoleEnum.NORMAL.getRole()).build())); | 795 | .role(ImGroupMemberRoleEnum.NORMAL.getRole()).build())); |
| 795 | // 群里已有 3 个 ADMIN(达到上限),再加 1 会超 | 796 | // 群里已有 3 个 ADMIN(达到上限),再加 1 会超 |
| @@ -798,7 +799,7 @@ public class ImGroupServiceImplTest extends BaseMockitoUnitTest { | @@ -798,7 +799,7 @@ public class ImGroupServiceImplTest extends BaseMockitoUnitTest { | ||
| 798 | 799 | ||
| 799 | ImGroupAdminAddReqVO reqVO = new ImGroupAdminAddReqVO(); | 800 | ImGroupAdminAddReqVO reqVO = new ImGroupAdminAddReqVO(); |
| 800 | reqVO.setId(10L); | 801 | reqVO.setId(10L); |
| 801 | - reqVO.setUserIds(List.of(5L)); | 802 | + reqVO.setUserIds(listOf(5L)); |
| 802 | 803 | ||
| 803 | ServiceException exception = assertThrows(ServiceException.class, | 804 | ServiceException exception = assertThrows(ServiceException.class, |
| 804 | () -> groupService.addGroupAdmin(1L, reqVO)); | 805 | () -> groupService.addGroupAdmin(1L, reqVO)); |
| @@ -816,13 +817,13 @@ public class ImGroupServiceImplTest extends BaseMockitoUnitTest { | @@ -816,13 +817,13 @@ public class ImGroupServiceImplTest extends BaseMockitoUnitTest { | ||
| 816 | ImGroupDO group = ImGroupDO.builder().id(10L).ownerUserId(1L) | 817 | ImGroupDO group = ImGroupDO.builder().id(10L).ownerUserId(1L) |
| 817 | .status(CommonStatusEnum.ENABLE.getStatus()).build(); | 818 | .status(CommonStatusEnum.ENABLE.getStatus()).build(); |
| 818 | when(groupMapper.selectByIdForUpdate(10L)).thenReturn(group); | 819 | when(groupMapper.selectByIdForUpdate(10L)).thenReturn(group); |
| 819 | - when(groupMemberService.getGroupMembers(eq(10L), anyCollection())).thenReturn(List.of( | 820 | + when(groupMemberService.getGroupMembers(eq(10L), anyCollection())).thenReturn(listOf( |
| 820 | ImGroupMemberDO.builder().userId(1L).status(CommonStatusEnum.ENABLE.getStatus()) | 821 | ImGroupMemberDO.builder().userId(1L).status(CommonStatusEnum.ENABLE.getStatus()) |
| 821 | .role(ImGroupMemberRoleEnum.OWNER.getRole()).build())); | 822 | .role(ImGroupMemberRoleEnum.OWNER.getRole()).build())); |
| 822 | 823 | ||
| 823 | ImGroupAdminAddReqVO reqVO = new ImGroupAdminAddReqVO(); | 824 | ImGroupAdminAddReqVO reqVO = new ImGroupAdminAddReqVO(); |
| 824 | reqVO.setId(10L); | 825 | reqVO.setId(10L); |
| 825 | - reqVO.setUserIds(List.of(1L)); | 826 | + reqVO.setUserIds(listOf(1L)); |
| 826 | 827 | ||
| 827 | ServiceException exception = assertThrows(ServiceException.class, | 828 | ServiceException exception = assertThrows(ServiceException.class, |
| 828 | () -> groupService.addGroupAdmin(1L, reqVO)); | 829 | () -> groupService.addGroupAdmin(1L, reqVO)); |
| @@ -840,13 +841,13 @@ public class ImGroupServiceImplTest extends BaseMockitoUnitTest { | @@ -840,13 +841,13 @@ public class ImGroupServiceImplTest extends BaseMockitoUnitTest { | ||
| 840 | .status(CommonStatusEnum.ENABLE.getStatus()).build(); | 841 | .status(CommonStatusEnum.ENABLE.getStatus()).build(); |
| 841 | when(groupMapper.selectByIdForUpdate(10L)).thenReturn(group); | 842 | when(groupMapper.selectByIdForUpdate(10L)).thenReturn(group); |
| 842 | // 目标已是 ADMIN:再加无需操作 | 843 | // 目标已是 ADMIN:再加无需操作 |
| 843 | - when(groupMemberService.getGroupMembers(eq(10L), anyCollection())).thenReturn(List.of( | 844 | + when(groupMemberService.getGroupMembers(eq(10L), anyCollection())).thenReturn(listOf( |
| 844 | ImGroupMemberDO.builder().userId(2L).status(CommonStatusEnum.ENABLE.getStatus()) | 845 | ImGroupMemberDO.builder().userId(2L).status(CommonStatusEnum.ENABLE.getStatus()) |
| 845 | .role(ImGroupMemberRoleEnum.ADMIN.getRole()).build())); | 846 | .role(ImGroupMemberRoleEnum.ADMIN.getRole()).build())); |
| 846 | 847 | ||
| 847 | ImGroupAdminAddReqVO reqVO = new ImGroupAdminAddReqVO(); | 848 | ImGroupAdminAddReqVO reqVO = new ImGroupAdminAddReqVO(); |
| 848 | reqVO.setId(10L); | 849 | reqVO.setId(10L); |
| 849 | - reqVO.setUserIds(List.of(2L)); | 850 | + reqVO.setUserIds(listOf(2L)); |
| 850 | 851 | ||
| 851 | groupService.addGroupAdmin(1L, reqVO); | 852 | groupService.addGroupAdmin(1L, reqVO); |
| 852 | 853 | ||
| @@ -866,7 +867,7 @@ public class ImGroupServiceImplTest extends BaseMockitoUnitTest { | @@ -866,7 +867,7 @@ public class ImGroupServiceImplTest extends BaseMockitoUnitTest { | ||
| 866 | ImGroupDO group = ImGroupDO.builder().id(10L).ownerUserId(1L) | 867 | ImGroupDO group = ImGroupDO.builder().id(10L).ownerUserId(1L) |
| 867 | .status(CommonStatusEnum.ENABLE.getStatus()).build(); | 868 | .status(CommonStatusEnum.ENABLE.getStatus()).build(); |
| 868 | when(groupMapper.selectByIdForUpdate(10L)).thenReturn(group); | 869 | when(groupMapper.selectByIdForUpdate(10L)).thenReturn(group); |
| 869 | - when(groupMemberService.getGroupMembers(eq(10L), anyCollection())).thenReturn(List.of( | 870 | + when(groupMemberService.getGroupMembers(eq(10L), anyCollection())).thenReturn(listOf( |
| 870 | ImGroupMemberDO.builder().userId(2L).status(CommonStatusEnum.ENABLE.getStatus()) | 871 | ImGroupMemberDO.builder().userId(2L).status(CommonStatusEnum.ENABLE.getStatus()) |
| 871 | .role(ImGroupMemberRoleEnum.ADMIN.getRole()).build())); | 872 | .role(ImGroupMemberRoleEnum.ADMIN.getRole()).build())); |
| 872 | when(groupMemberService.updateGroupMemberRole(eq(10L), anyCollection(), | 873 | when(groupMemberService.updateGroupMemberRole(eq(10L), anyCollection(), |
| @@ -874,7 +875,7 @@ public class ImGroupServiceImplTest extends BaseMockitoUnitTest { | @@ -874,7 +875,7 @@ public class ImGroupServiceImplTest extends BaseMockitoUnitTest { | ||
| 874 | 875 | ||
| 875 | ImGroupAdminRemoveReqVO reqVO = new ImGroupAdminRemoveReqVO(); | 876 | ImGroupAdminRemoveReqVO reqVO = new ImGroupAdminRemoveReqVO(); |
| 876 | reqVO.setId(10L); | 877 | reqVO.setId(10L); |
| 877 | - reqVO.setUserIds(List.of(2L)); | 878 | + reqVO.setUserIds(listOf(2L)); |
| 878 | 879 | ||
| 879 | groupService.removeGroupAdmin(1L, reqVO); | 880 | groupService.removeGroupAdmin(1L, reqVO); |
| 880 | 881 | ||
| @@ -894,13 +895,13 @@ public class ImGroupServiceImplTest extends BaseMockitoUnitTest { | @@ -894,13 +895,13 @@ public class ImGroupServiceImplTest extends BaseMockitoUnitTest { | ||
| 894 | .status(CommonStatusEnum.ENABLE.getStatus()).build(); | 895 | .status(CommonStatusEnum.ENABLE.getStatus()).build(); |
| 895 | when(groupMapper.selectByIdForUpdate(10L)).thenReturn(group); | 896 | when(groupMapper.selectByIdForUpdate(10L)).thenReturn(group); |
| 896 | // 目标已是 MEMBER:撤销无需操作 | 897 | // 目标已是 MEMBER:撤销无需操作 |
| 897 | - when(groupMemberService.getGroupMembers(eq(10L), anyCollection())).thenReturn(List.of( | 898 | + when(groupMemberService.getGroupMembers(eq(10L), anyCollection())).thenReturn(listOf( |
| 898 | ImGroupMemberDO.builder().userId(2L).status(CommonStatusEnum.ENABLE.getStatus()) | 899 | ImGroupMemberDO.builder().userId(2L).status(CommonStatusEnum.ENABLE.getStatus()) |
| 899 | .role(ImGroupMemberRoleEnum.NORMAL.getRole()).build())); | 900 | .role(ImGroupMemberRoleEnum.NORMAL.getRole()).build())); |
| 900 | 901 | ||
| 901 | ImGroupAdminRemoveReqVO reqVO = new ImGroupAdminRemoveReqVO(); | 902 | ImGroupAdminRemoveReqVO reqVO = new ImGroupAdminRemoveReqVO(); |
| 902 | reqVO.setId(10L); | 903 | reqVO.setId(10L); |
| 903 | - reqVO.setUserIds(List.of(2L)); | 904 | + reqVO.setUserIds(listOf(2L)); |
| 904 | 905 | ||
| 905 | groupService.removeGroupAdmin(1L, reqVO); | 906 | groupService.removeGroupAdmin(1L, reqVO); |
| 906 | 907 | ||
| @@ -922,9 +923,9 @@ public class ImGroupServiceImplTest extends BaseMockitoUnitTest { | @@ -922,9 +923,9 @@ public class ImGroupServiceImplTest extends BaseMockitoUnitTest { | ||
| 922 | when(groupMemberService.validateMemberInGroup(10L, 2L)).thenReturn( | 923 | when(groupMemberService.validateMemberInGroup(10L, 2L)).thenReturn( |
| 923 | ImGroupMemberDO.builder().groupId(10L).userId(2L) | 924 | ImGroupMemberDO.builder().groupId(10L).userId(2L) |
| 924 | .role(ImGroupMemberRoleEnum.NORMAL.getRole()).build()); | 925 | .role(ImGroupMemberRoleEnum.NORMAL.getRole()).build()); |
| 925 | - when(groupMemberService.updateGroupMemberRole(eq(10L), eq(Set.of(2L)), | 926 | + when(groupMemberService.updateGroupMemberRole(eq(10L), eq(setOf(2L)), |
| 926 | eq(ImGroupMemberRoleEnum.OWNER.getRole()))).thenReturn(1); | 927 | eq(ImGroupMemberRoleEnum.OWNER.getRole()))).thenReturn(1); |
| 927 | - when(groupMemberService.updateGroupMemberRole(eq(10L), eq(Set.of(1L)), | 928 | + when(groupMemberService.updateGroupMemberRole(eq(10L), eq(setOf(1L)), |
| 928 | eq(ImGroupMemberRoleEnum.NORMAL.getRole()))).thenReturn(1); | 929 | eq(ImGroupMemberRoleEnum.NORMAL.getRole()))).thenReturn(1); |
| 929 | 930 | ||
| 930 | ImGroupTransferOwnerReqVO reqVO = new ImGroupTransferOwnerReqVO(); | 931 | ImGroupTransferOwnerReqVO reqVO = new ImGroupTransferOwnerReqVO(); |
| @@ -938,9 +939,9 @@ public class ImGroupServiceImplTest extends BaseMockitoUnitTest { | @@ -938,9 +939,9 @@ public class ImGroupServiceImplTest extends BaseMockitoUnitTest { | ||
| 938 | verify(groupMapper).updateById(groupCaptor.capture()); | 939 | verify(groupMapper).updateById(groupCaptor.capture()); |
| 939 | assertEquals(2L, groupCaptor.getValue().getOwnerUserId()); | 940 | assertEquals(2L, groupCaptor.getValue().getOwnerUserId()); |
| 940 | // 旧群主 → MEMBER;新群主 → OWNER | 941 | // 旧群主 → MEMBER;新群主 → OWNER |
| 941 | - verify(groupMemberService).updateGroupMemberRole(eq(10L), eq(Set.of(1L)), | 942 | + verify(groupMemberService).updateGroupMemberRole(eq(10L), eq(setOf(1L)), |
| 942 | eq(ImGroupMemberRoleEnum.NORMAL.getRole())); | 943 | eq(ImGroupMemberRoleEnum.NORMAL.getRole())); |
| 943 | - verify(groupMemberService).updateGroupMemberRole(eq(10L), eq(Set.of(2L)), | 944 | + verify(groupMemberService).updateGroupMemberRole(eq(10L), eq(setOf(2L)), |
| 944 | eq(ImGroupMemberRoleEnum.OWNER.getRole())); | 945 | eq(ImGroupMemberRoleEnum.OWNER.getRole())); |
| 945 | } | 946 | } |
| 946 | } | 947 | } |
| @@ -1120,7 +1121,7 @@ public class ImGroupServiceImplTest extends BaseMockitoUnitTest { | @@ -1120,7 +1121,7 @@ public class ImGroupServiceImplTest extends BaseMockitoUnitTest { | ||
| 1120 | @Test | 1121 | @Test |
| 1121 | public void testGetMyGroupList_success() { | 1122 | public void testGetMyGroupList_success() { |
| 1122 | // 活跃群成员 | 1123 | // 活跃群成员 |
| 1123 | - when(groupMemberService.getActiveGroupMemberListByUserId(1L)).thenReturn(new ArrayList<>(List.of( | 1124 | + when(groupMemberService.getActiveGroupMemberListByUserId(1L)).thenReturn(new ArrayList<>(listOf( |
| 1124 | ImGroupMemberDO.builder().groupId(10L).userId(1L) | 1125 | ImGroupMemberDO.builder().groupId(10L).userId(1L) |
| 1125 | .status(CommonStatusEnum.ENABLE.getStatus()).build(), | 1126 | .status(CommonStatusEnum.ENABLE.getStatus()).build(), |
| 1126 | ImGroupMemberDO.builder().groupId(20L).userId(1L) | 1127 | ImGroupMemberDO.builder().groupId(20L).userId(1L) |
| @@ -1128,11 +1129,11 @@ public class ImGroupServiceImplTest extends BaseMockitoUnitTest { | @@ -1128,11 +1129,11 @@ public class ImGroupServiceImplTest extends BaseMockitoUnitTest { | ||
| 1128 | ))); | 1129 | ))); |
| 1129 | // 最近退群成员(最近 30 天内) | 1130 | // 最近退群成员(最近 30 天内) |
| 1130 | when(groupMemberService.getQuitGroupMemberListByUserId(eq(1L), any(LocalDateTime.class))) | 1131 | when(groupMemberService.getQuitGroupMemberListByUserId(eq(1L), any(LocalDateTime.class))) |
| 1131 | - .thenReturn(new ArrayList<>(List.of( | 1132 | + .thenReturn(new ArrayList<>(listOf( |
| 1132 | ImGroupMemberDO.builder().groupId(30L).userId(1L) | 1133 | ImGroupMemberDO.builder().groupId(30L).userId(1L) |
| 1133 | .status(CommonStatusEnum.DISABLE.getStatus()).build() | 1134 | .status(CommonStatusEnum.DISABLE.getStatus()).build() |
| 1134 | ))); | 1135 | ))); |
| 1135 | - List<ImGroupDO> groups = List.of( | 1136 | + List<ImGroupDO> groups = listOf( |
| 1136 | ImGroupDO.builder().id(10L).status(CommonStatusEnum.ENABLE.getStatus()).build(), | 1137 | ImGroupDO.builder().id(10L).status(CommonStatusEnum.ENABLE.getStatus()).build(), |
| 1137 | ImGroupDO.builder().id(20L).status(CommonStatusEnum.ENABLE.getStatus()).build(), | 1138 | ImGroupDO.builder().id(20L).status(CommonStatusEnum.ENABLE.getStatus()).build(), |
| 1138 | ImGroupDO.builder().id(30L).status(CommonStatusEnum.ENABLE.getStatus()).build() | 1139 | ImGroupDO.builder().id(30L).status(CommonStatusEnum.ENABLE.getStatus()).build() |
yudao-module-im/src/test/java/cn/iocoder/yudao/module/im/service/message/ImGroupMessageServiceImplTest.java
| @@ -34,6 +34,7 @@ import java.time.LocalDateTime; | @@ -34,6 +34,7 @@ import java.time.LocalDateTime; | ||
| 34 | import java.util.*; | 34 | import java.util.*; |
| 35 | 35 | ||
| 36 | import static cn.iocoder.yudao.module.im.enums.ErrorCodeConstants.*; | 36 | import static cn.iocoder.yudao.module.im.enums.ErrorCodeConstants.*; |
| 37 | +import static cn.iocoder.yudao.module.im.util.ImTestCollectionUtils.*; | ||
| 37 | import static org.junit.jupiter.api.Assertions.*; | 38 | import static org.junit.jupiter.api.Assertions.*; |
| 38 | import static org.mockito.ArgumentMatchers.*; | 39 | import static org.mockito.ArgumentMatchers.*; |
| 39 | import static org.mockito.Mockito.*; | 40 | import static org.mockito.Mockito.*; |
| @@ -96,7 +97,7 @@ public class ImGroupMessageServiceImplTest extends BaseMockitoUnitTest { | @@ -96,7 +97,7 @@ public class ImGroupMessageServiceImplTest extends BaseMockitoUnitTest { | ||
| 96 | when(groupMemberService.validateMemberInGroup(10L, 1L)).thenReturn(member); | 97 | when(groupMemberService.validateMemberInGroup(10L, 1L)).thenReturn(member); |
| 97 | 98 | ||
| 98 | when(groupMemberService.getActiveGroupMemberUserIdsByGroupId(10L)) | 99 | when(groupMemberService.getActiveGroupMemberUserIdsByGroupId(10L)) |
| 99 | - .thenReturn(List.of(1L, 2L, 3L)); | 100 | + .thenReturn(listOf(1L, 2L, 3L)); |
| 100 | when(groupMessageMapper.insert(any(ImGroupMessageDO.class))).thenAnswer(invocation -> { | 101 | when(groupMessageMapper.insert(any(ImGroupMessageDO.class))).thenAnswer(invocation -> { |
| 101 | ImGroupMessageDO msg = invocation.getArgument(0); | 102 | ImGroupMessageDO msg = invocation.getArgument(0); |
| 102 | msg.setId(99L); | 103 | msg.setId(99L); |
| @@ -168,7 +169,7 @@ public class ImGroupMessageServiceImplTest extends BaseMockitoUnitTest { | @@ -168,7 +169,7 @@ public class ImGroupMessageServiceImplTest extends BaseMockitoUnitTest { | ||
| 168 | .groupId(10L).userId(1L) | 169 | .groupId(10L).userId(1L) |
| 169 | .status(CommonStatusEnum.ENABLE.getStatus()) | 170 | .status(CommonStatusEnum.ENABLE.getStatus()) |
| 170 | .joinTime(joinTime).build(); | 171 | .joinTime(joinTime).build(); |
| 171 | - when(groupMemberService.getActiveGroupMemberListByUserId(1L)).thenReturn(List.of(member)); | 172 | + when(groupMemberService.getActiveGroupMemberListByUserId(1L)).thenReturn(listOf(member)); |
| 172 | 173 | ||
| 173 | // 入群前 1 条 + 入群后 1 条 | 174 | // 入群前 1 条 + 入群后 1 条 |
| 174 | ImGroupMessageDO beforeJoin = ImGroupMessageDO.builder() | 175 | ImGroupMessageDO beforeJoin = ImGroupMessageDO.builder() |
| @@ -177,11 +178,11 @@ public class ImGroupMessageServiceImplTest extends BaseMockitoUnitTest { | @@ -177,11 +178,11 @@ public class ImGroupMessageServiceImplTest extends BaseMockitoUnitTest { | ||
| 177 | ImGroupMessageDO afterJoin = ImGroupMessageDO.builder() | 178 | ImGroupMessageDO afterJoin = ImGroupMessageDO.builder() |
| 178 | .id(2L).groupId(10L).senderId(2L) | 179 | .id(2L).groupId(10L).senderId(2L) |
| 179 | .sendTime(now.minusHours(1)).build(); | 180 | .sendTime(now.minusHours(1)).build(); |
| 180 | - when(groupMessageMapper.selectListByMinId(eq(List.of(10L)), eq(0L), | 181 | + when(groupMessageMapper.selectListByMinId(eq(listOf(10L)), eq(0L), |
| 181 | any(LocalDateTime.class), eq(100))) | 182 | any(LocalDateTime.class), eq(100))) |
| 182 | - .thenReturn(List.of(beforeJoin, afterJoin)); | 183 | + .thenReturn(listOf(beforeJoin, afterJoin)); |
| 183 | when(groupMemberService.getQuitGroupMemberListByUserId(eq(1L), any(LocalDateTime.class))) | 184 | when(groupMemberService.getQuitGroupMemberListByUserId(eq(1L), any(LocalDateTime.class))) |
| 184 | - .thenReturn(List.of()); | 185 | + .thenReturn(listOf()); |
| 185 | 186 | ||
| 186 | // 调用 | 187 | // 调用 |
| 187 | List<ImGroupMessageDO> result = groupMessageService.pullGroupMessageList(1L, 0L, 100); | 188 | List<ImGroupMessageDO> result = groupMessageService.pullGroupMessageList(1L, 0L, 100); |
| @@ -200,26 +201,26 @@ public class ImGroupMessageServiceImplTest extends BaseMockitoUnitTest { | @@ -200,26 +201,26 @@ public class ImGroupMessageServiceImplTest extends BaseMockitoUnitTest { | ||
| 200 | .groupId(10L).userId(1L) | 201 | .groupId(10L).userId(1L) |
| 201 | .status(CommonStatusEnum.ENABLE.getStatus()) | 202 | .status(CommonStatusEnum.ENABLE.getStatus()) |
| 202 | .joinTime(joinTime).build(); | 203 | .joinTime(joinTime).build(); |
| 203 | - when(groupMemberService.getActiveGroupMemberListByUserId(1L)).thenReturn(List.of(member)); | 204 | + when(groupMemberService.getActiveGroupMemberListByUserId(1L)).thenReturn(listOf(member)); |
| 204 | 205 | ||
| 205 | ImGroupMessageDO beforeJoin = ImGroupMessageDO.builder() | 206 | ImGroupMessageDO beforeJoin = ImGroupMessageDO.builder() |
| 206 | .id(1L).groupId(10L).senderId(2L) | 207 | .id(1L).groupId(10L).senderId(2L) |
| 207 | .sendTime(now.minusHours(3)).build(); | 208 | .sendTime(now.minusHours(3)).build(); |
| 208 | ImGroupMessageDO directedMsg = ImGroupMessageDO.builder() | 209 | ImGroupMessageDO directedMsg = ImGroupMessageDO.builder() |
| 209 | .id(2L).groupId(10L).senderId(2L) | 210 | .id(2L).groupId(10L).senderId(2L) |
| 210 | - .receiverUserIds(List.of(2L, 3L)) | 211 | + .receiverUserIds(listOf(2L, 3L)) |
| 211 | .sendTime(now.minusHours(2)).build(); | 212 | .sendTime(now.minusHours(2)).build(); |
| 212 | ImGroupMessageDO visibleMsg = ImGroupMessageDO.builder() | 213 | ImGroupMessageDO visibleMsg = ImGroupMessageDO.builder() |
| 213 | .id(3L).groupId(10L).senderId(2L) | 214 | .id(3L).groupId(10L).senderId(2L) |
| 214 | .sendTime(now.minusMinutes(30)).build(); | 215 | .sendTime(now.minusMinutes(30)).build(); |
| 215 | - when(groupMessageMapper.selectListByMinId(eq(List.of(10L)), eq(0L), | 216 | + when(groupMessageMapper.selectListByMinId(eq(listOf(10L)), eq(0L), |
| 216 | any(LocalDateTime.class), eq(2))) | 217 | any(LocalDateTime.class), eq(2))) |
| 217 | - .thenReturn(List.of(beforeJoin, directedMsg)); | ||
| 218 | - when(groupMessageMapper.selectListByMinId(eq(List.of(10L)), eq(2L), | 218 | + .thenReturn(listOf(beforeJoin, directedMsg)); |
| 219 | + when(groupMessageMapper.selectListByMinId(eq(listOf(10L)), eq(2L), | ||
| 219 | any(LocalDateTime.class), eq(2))) | 220 | any(LocalDateTime.class), eq(2))) |
| 220 | - .thenReturn(List.of(visibleMsg)); | 221 | + .thenReturn(listOf(visibleMsg)); |
| 221 | when(groupMemberService.getQuitGroupMemberListByUserId(eq(1L), any(LocalDateTime.class))) | 222 | when(groupMemberService.getQuitGroupMemberListByUserId(eq(1L), any(LocalDateTime.class))) |
| 222 | - .thenReturn(List.of()); | 223 | + .thenReturn(listOf()); |
| 223 | 224 | ||
| 224 | // 调用 | 225 | // 调用 |
| 225 | List<ImGroupMessageDO> result = groupMessageService.pullGroupMessageList(1L, 0L, 2); | 226 | List<ImGroupMessageDO> result = groupMessageService.pullGroupMessageList(1L, 0L, 2); |
| @@ -227,9 +228,9 @@ public class ImGroupMessageServiceImplTest extends BaseMockitoUnitTest { | @@ -227,9 +228,9 @@ public class ImGroupMessageServiceImplTest extends BaseMockitoUnitTest { | ||
| 227 | // 断言:仅返回第二批的可见消息;两批 selectListByMinId 各被调用一次 | 228 | // 断言:仅返回第二批的可见消息;两批 selectListByMinId 各被调用一次 |
| 228 | assertEquals(1, result.size()); | 229 | assertEquals(1, result.size()); |
| 229 | assertEquals(3L, result.get(0).getId()); | 230 | assertEquals(3L, result.get(0).getId()); |
| 230 | - verify(groupMessageMapper).selectListByMinId(eq(List.of(10L)), eq(0L), | 231 | + verify(groupMessageMapper).selectListByMinId(eq(listOf(10L)), eq(0L), |
| 231 | any(LocalDateTime.class), eq(2)); | 232 | any(LocalDateTime.class), eq(2)); |
| 232 | - verify(groupMessageMapper).selectListByMinId(eq(List.of(10L)), eq(2L), | 233 | + verify(groupMessageMapper).selectListByMinId(eq(listOf(10L)), eq(2L), |
| 233 | any(LocalDateTime.class), eq(2)); | 234 | any(LocalDateTime.class), eq(2)); |
| 234 | } | 235 | } |
| 235 | 236 | ||
| @@ -241,14 +242,14 @@ public class ImGroupMessageServiceImplTest extends BaseMockitoUnitTest { | @@ -241,14 +242,14 @@ public class ImGroupMessageServiceImplTest extends BaseMockitoUnitTest { | ||
| 241 | .groupId(10L).userId(1L) | 242 | .groupId(10L).userId(1L) |
| 242 | .status(CommonStatusEnum.ENABLE.getStatus()) | 243 | .status(CommonStatusEnum.ENABLE.getStatus()) |
| 243 | .joinTime(now.minusDays(10)).build(); | 244 | .joinTime(now.minusDays(10)).build(); |
| 244 | - when(groupMemberService.getActiveGroupMemberListByUserId(1L)).thenReturn(List.of(activeMember)); | 245 | + when(groupMemberService.getActiveGroupMemberListByUserId(1L)).thenReturn(listOf(activeMember)); |
| 245 | 246 | ||
| 246 | ImGroupMessageDO activeMsg = ImGroupMessageDO.builder() | 247 | ImGroupMessageDO activeMsg = ImGroupMessageDO.builder() |
| 247 | .id(5L).groupId(10L).senderId(2L) | 248 | .id(5L).groupId(10L).senderId(2L) |
| 248 | .sendTime(now.minusHours(2)).build(); | 249 | .sendTime(now.minusHours(2)).build(); |
| 249 | - when(groupMessageMapper.selectListByMinId(eq(List.of(10L)), eq(0L), | 250 | + when(groupMessageMapper.selectListByMinId(eq(listOf(10L)), eq(0L), |
| 250 | any(LocalDateTime.class), eq(100))) | 251 | any(LocalDateTime.class), eq(100))) |
| 251 | - .thenReturn(List.of(activeMsg)); | 252 | + .thenReturn(listOf(activeMsg)); |
| 252 | 253 | ||
| 253 | // 已退群:退群时间在窗口内(minId=0,minQuitTime 直接用 minSendTime) | 254 | // 已退群:退群时间在窗口内(minId=0,minQuitTime 直接用 minSendTime) |
| 254 | LocalDateTime quitTime = now.minusDays(3); | 255 | LocalDateTime quitTime = now.minusDays(3); |
| @@ -258,14 +259,14 @@ public class ImGroupMessageServiceImplTest extends BaseMockitoUnitTest { | @@ -258,14 +259,14 @@ public class ImGroupMessageServiceImplTest extends BaseMockitoUnitTest { | ||
| 258 | .joinTime(now.minusDays(20)) | 259 | .joinTime(now.minusDays(20)) |
| 259 | .quitTime(quitTime).build(); | 260 | .quitTime(quitTime).build(); |
| 260 | when(groupMemberService.getQuitGroupMemberListByUserId(eq(1L), any(LocalDateTime.class))) | 261 | when(groupMemberService.getQuitGroupMemberListByUserId(eq(1L), any(LocalDateTime.class))) |
| 261 | - .thenReturn(List.of(quitMember)); | 262 | + .thenReturn(listOf(quitMember)); |
| 262 | 263 | ||
| 263 | ImGroupMessageDO quitGroupMsg = ImGroupMessageDO.builder() | 264 | ImGroupMessageDO quitGroupMsg = ImGroupMessageDO.builder() |
| 264 | .id(3L).groupId(20L).senderId(99L) | 265 | .id(3L).groupId(20L).senderId(99L) |
| 265 | .sendTime(now.minusDays(5)).build(); | 266 | .sendTime(now.minusDays(5)).build(); |
| 266 | when(groupMessageMapper.selectListByGroupIdAndMinIdAndQuitTimeBefore(eq(20L), eq(0L), | 267 | when(groupMessageMapper.selectListByGroupIdAndMinIdAndQuitTimeBefore(eq(20L), eq(0L), |
| 267 | any(LocalDateTime.class), eq(quitTime), eq(100))) | 268 | any(LocalDateTime.class), eq(quitTime), eq(100))) |
| 268 | - .thenReturn(List.of(quitGroupMsg)); | 269 | + .thenReturn(listOf(quitGroupMsg)); |
| 269 | 270 | ||
| 270 | // 调用 | 271 | // 调用 |
| 271 | List<ImGroupMessageDO> result = groupMessageService.pullGroupMessageList(1L, 0L, 100); | 272 | List<ImGroupMessageDO> result = groupMessageService.pullGroupMessageList(1L, 0L, 100); |
| @@ -280,14 +281,14 @@ public class ImGroupMessageServiceImplTest extends BaseMockitoUnitTest { | @@ -280,14 +281,14 @@ public class ImGroupMessageServiceImplTest extends BaseMockitoUnitTest { | ||
| 280 | public void testPullMessages_quitMemberFilteredByBoundarySendTime() { | 281 | public void testPullMessages_quitMemberFilteredByBoundarySendTime() { |
| 281 | // 准备:minId > 0,边界消息 sendTime 晚于窗口起点,应当被用作 minQuitTime | 282 | // 准备:minId > 0,边界消息 sendTime 晚于窗口起点,应当被用作 minQuitTime |
| 282 | LocalDateTime now = LocalDateTime.now(); | 283 | LocalDateTime now = LocalDateTime.now(); |
| 283 | - when(groupMemberService.getActiveGroupMemberListByUserId(1L)).thenReturn(List.of()); | 284 | + when(groupMemberService.getActiveGroupMemberListByUserId(1L)).thenReturn(listOf()); |
| 284 | 285 | ||
| 285 | LocalDateTime boundarySendTime = now.minusDays(2); | 286 | LocalDateTime boundarySendTime = now.minusDays(2); |
| 286 | ImGroupMessageDO boundary = ImGroupMessageDO.builder() | 287 | ImGroupMessageDO boundary = ImGroupMessageDO.builder() |
| 287 | .id(8L).groupId(10L).senderId(2L).sendTime(boundarySendTime).build(); | 288 | .id(8L).groupId(10L).senderId(2L).sendTime(boundarySendTime).build(); |
| 288 | when(groupMessageMapper.selectById(8L)).thenReturn(boundary); | 289 | when(groupMessageMapper.selectById(8L)).thenReturn(boundary); |
| 289 | when(groupMemberService.getQuitGroupMemberListByUserId(1L, boundarySendTime)) | 290 | when(groupMemberService.getQuitGroupMemberListByUserId(1L, boundarySendTime)) |
| 290 | - .thenReturn(List.of()); | 291 | + .thenReturn(listOf()); |
| 291 | 292 | ||
| 292 | // 调用 | 293 | // 调用 |
| 293 | List<ImGroupMessageDO> result = groupMessageService.pullGroupMessageList(1L, 8L, 100); | 294 | List<ImGroupMessageDO> result = groupMessageService.pullGroupMessageList(1L, 8L, 100); |
| @@ -306,24 +307,24 @@ public class ImGroupMessageServiceImplTest extends BaseMockitoUnitTest { | @@ -306,24 +307,24 @@ public class ImGroupMessageServiceImplTest extends BaseMockitoUnitTest { | ||
| 306 | .groupId(10L).userId(1L) | 307 | .groupId(10L).userId(1L) |
| 307 | .status(CommonStatusEnum.ENABLE.getStatus()) | 308 | .status(CommonStatusEnum.ENABLE.getStatus()) |
| 308 | .joinTime(joinTime).build(); | 309 | .joinTime(joinTime).build(); |
| 309 | - when(groupMemberService.getActiveGroupMemberListByUserId(1L)).thenReturn(List.of(activeMember)); | 310 | + when(groupMemberService.getActiveGroupMemberListByUserId(1L)).thenReturn(listOf(activeMember)); |
| 310 | 311 | ||
| 311 | ImGroupMessageDO beforeJoin = ImGroupMessageDO.builder() | 312 | ImGroupMessageDO beforeJoin = ImGroupMessageDO.builder() |
| 312 | .id(100L).groupId(10L).senderId(2L) | 313 | .id(100L).groupId(10L).senderId(2L) |
| 313 | .sendTime(now.minusHours(3)).build(); | 314 | .sendTime(now.minusHours(3)).build(); |
| 314 | ImGroupMessageDO directedMsg = ImGroupMessageDO.builder() | 315 | ImGroupMessageDO directedMsg = ImGroupMessageDO.builder() |
| 315 | .id(101L).groupId(10L).senderId(2L) | 316 | .id(101L).groupId(10L).senderId(2L) |
| 316 | - .receiverUserIds(List.of(2L, 3L)) | 317 | + .receiverUserIds(listOf(2L, 3L)) |
| 317 | .sendTime(now.minusMinutes(50)).build(); | 318 | .sendTime(now.minusMinutes(50)).build(); |
| 318 | ImGroupMessageDO visibleActiveMsg = ImGroupMessageDO.builder() | 319 | ImGroupMessageDO visibleActiveMsg = ImGroupMessageDO.builder() |
| 319 | .id(102L).groupId(10L).senderId(2L) | 320 | .id(102L).groupId(10L).senderId(2L) |
| 320 | .sendTime(now.minusMinutes(30)).build(); | 321 | .sendTime(now.minusMinutes(30)).build(); |
| 321 | - when(groupMessageMapper.selectListByMinId(eq(List.of(10L)), eq(8L), | 322 | + when(groupMessageMapper.selectListByMinId(eq(listOf(10L)), eq(8L), |
| 322 | any(LocalDateTime.class), eq(2))) | 323 | any(LocalDateTime.class), eq(2))) |
| 323 | - .thenReturn(List.of(beforeJoin, directedMsg)); | ||
| 324 | - when(groupMessageMapper.selectListByMinId(eq(List.of(10L)), eq(101L), | 324 | + .thenReturn(listOf(beforeJoin, directedMsg)); |
| 325 | + when(groupMessageMapper.selectListByMinId(eq(listOf(10L)), eq(101L), | ||
| 325 | any(LocalDateTime.class), eq(2))) | 326 | any(LocalDateTime.class), eq(2))) |
| 326 | - .thenReturn(List.of(visibleActiveMsg)); | 327 | + .thenReturn(listOf(visibleActiveMsg)); |
| 327 | 328 | ||
| 328 | LocalDateTime boundarySendTime = now.minusDays(2); | 329 | LocalDateTime boundarySendTime = now.minusDays(2); |
| 329 | ImGroupMessageDO boundary = ImGroupMessageDO.builder() | 330 | ImGroupMessageDO boundary = ImGroupMessageDO.builder() |
| @@ -337,14 +338,14 @@ public class ImGroupMessageServiceImplTest extends BaseMockitoUnitTest { | @@ -337,14 +338,14 @@ public class ImGroupMessageServiceImplTest extends BaseMockitoUnitTest { | ||
| 337 | .joinTime(now.minusDays(10)) | 338 | .joinTime(now.minusDays(10)) |
| 338 | .quitTime(quitTime).build(); | 339 | .quitTime(quitTime).build(); |
| 339 | when(groupMemberService.getQuitGroupMemberListByUserId(1L, boundarySendTime)) | 340 | when(groupMemberService.getQuitGroupMemberListByUserId(1L, boundarySendTime)) |
| 340 | - .thenReturn(List.of(quitMember)); | 341 | + .thenReturn(listOf(quitMember)); |
| 341 | 342 | ||
| 342 | ImGroupMessageDO quitGroupMsg = ImGroupMessageDO.builder() | 343 | ImGroupMessageDO quitGroupMsg = ImGroupMessageDO.builder() |
| 343 | .id(50L).groupId(20L).senderId(99L) | 344 | .id(50L).groupId(20L).senderId(99L) |
| 344 | .sendTime(now.minusDays(1)).build(); | 345 | .sendTime(now.minusDays(1)).build(); |
| 345 | when(groupMessageMapper.selectListByGroupIdAndMinIdAndQuitTimeBefore(eq(20L), eq(8L), | 346 | when(groupMessageMapper.selectListByGroupIdAndMinIdAndQuitTimeBefore(eq(20L), eq(8L), |
| 346 | any(LocalDateTime.class), eq(quitTime), eq(2))) | 347 | any(LocalDateTime.class), eq(quitTime), eq(2))) |
| 347 | - .thenReturn(List.of(quitGroupMsg)); | 348 | + .thenReturn(listOf(quitGroupMsg)); |
| 348 | 349 | ||
| 349 | // 调用 | 350 | // 调用 |
| 350 | List<ImGroupMessageDO> result = groupMessageService.pullGroupMessageList(1L, 8L, 2); | 351 | List<ImGroupMessageDO> result = groupMessageService.pullGroupMessageList(1L, 8L, 2); |
| @@ -353,9 +354,9 @@ public class ImGroupMessageServiceImplTest extends BaseMockitoUnitTest { | @@ -353,9 +354,9 @@ public class ImGroupMessageServiceImplTest extends BaseMockitoUnitTest { | ||
| 353 | assertEquals(2, result.size()); | 354 | assertEquals(2, result.size()); |
| 354 | assertEquals(50L, result.get(0).getId()); | 355 | assertEquals(50L, result.get(0).getId()); |
| 355 | assertEquals(102L, result.get(1).getId()); | 356 | assertEquals(102L, result.get(1).getId()); |
| 356 | - verify(groupMessageMapper).selectListByMinId(eq(List.of(10L)), eq(8L), | 357 | + verify(groupMessageMapper).selectListByMinId(eq(listOf(10L)), eq(8L), |
| 357 | any(LocalDateTime.class), eq(2)); | 358 | any(LocalDateTime.class), eq(2)); |
| 358 | - verify(groupMessageMapper).selectListByMinId(eq(List.of(10L)), eq(101L), | 359 | + verify(groupMessageMapper).selectListByMinId(eq(listOf(10L)), eq(101L), |
| 359 | any(LocalDateTime.class), eq(2)); | 360 | any(LocalDateTime.class), eq(2)); |
| 360 | verify(groupMemberService).getQuitGroupMemberListByUserId(1L, boundarySendTime); | 361 | verify(groupMemberService).getQuitGroupMemberListByUserId(1L, boundarySendTime); |
| 361 | verify(groupMessageMapper).selectListByGroupIdAndMinIdAndQuitTimeBefore(eq(20L), eq(8L), | 362 | verify(groupMessageMapper).selectListByGroupIdAndMinIdAndQuitTimeBefore(eq(20L), eq(8L), |
| @@ -372,22 +373,22 @@ public class ImGroupMessageServiceImplTest extends BaseMockitoUnitTest { | @@ -372,22 +373,22 @@ public class ImGroupMessageServiceImplTest extends BaseMockitoUnitTest { | ||
| 372 | .groupId(10L).userId(1L) | 373 | .groupId(10L).userId(1L) |
| 373 | .status(CommonStatusEnum.ENABLE.getStatus()) | 374 | .status(CommonStatusEnum.ENABLE.getStatus()) |
| 374 | .joinTime(now.minusDays(10)).build(); | 375 | .joinTime(now.minusDays(10)).build(); |
| 375 | - when(groupMemberService.getActiveGroupMemberListByUserId(1L)).thenReturn(List.of(member)); | 376 | + when(groupMemberService.getActiveGroupMemberListByUserId(1L)).thenReturn(listOf(member)); |
| 376 | 377 | ||
| 377 | // 定向接收消息:只给用户 2 和 3 | 378 | // 定向接收消息:只给用户 2 和 3 |
| 378 | ImGroupMessageDO directedMsg = ImGroupMessageDO.builder() | 379 | ImGroupMessageDO directedMsg = ImGroupMessageDO.builder() |
| 379 | .id(1L).groupId(10L).senderId(5L) | 380 | .id(1L).groupId(10L).senderId(5L) |
| 380 | - .receiverUserIds(List.of(2L, 3L)) | 381 | + .receiverUserIds(listOf(2L, 3L)) |
| 381 | .sendTime(now.minusHours(2)).build(); | 382 | .sendTime(now.minusHours(2)).build(); |
| 382 | // 全员消息 | 383 | // 全员消息 |
| 383 | ImGroupMessageDO allMsg = ImGroupMessageDO.builder() | 384 | ImGroupMessageDO allMsg = ImGroupMessageDO.builder() |
| 384 | .id(2L).groupId(10L).senderId(5L) | 385 | .id(2L).groupId(10L).senderId(5L) |
| 385 | .sendTime(now.minusHours(1)).build(); | 386 | .sendTime(now.minusHours(1)).build(); |
| 386 | - when(groupMessageMapper.selectListByMinId(eq(List.of(10L)), eq(0L), | 387 | + when(groupMessageMapper.selectListByMinId(eq(listOf(10L)), eq(0L), |
| 387 | any(LocalDateTime.class), eq(100))) | 388 | any(LocalDateTime.class), eq(100))) |
| 388 | - .thenReturn(List.of(directedMsg, allMsg)); | 389 | + .thenReturn(listOf(directedMsg, allMsg)); |
| 389 | when(groupMemberService.getQuitGroupMemberListByUserId(eq(1L), any(LocalDateTime.class))) | 390 | when(groupMemberService.getQuitGroupMemberListByUserId(eq(1L), any(LocalDateTime.class))) |
| 390 | - .thenReturn(List.of()); | 391 | + .thenReturn(listOf()); |
| 391 | 392 | ||
| 392 | // 调用 | 393 | // 调用 |
| 393 | List<ImGroupMessageDO> result = groupMessageService.pullGroupMessageList(1L, 0L, 100); | 394 | List<ImGroupMessageDO> result = groupMessageService.pullGroupMessageList(1L, 0L, 100); |
| @@ -405,24 +406,24 @@ public class ImGroupMessageServiceImplTest extends BaseMockitoUnitTest { | @@ -405,24 +406,24 @@ public class ImGroupMessageServiceImplTest extends BaseMockitoUnitTest { | ||
| 405 | .groupId(10L).userId(1L) | 406 | .groupId(10L).userId(1L) |
| 406 | .status(CommonStatusEnum.ENABLE.getStatus()) | 407 | .status(CommonStatusEnum.ENABLE.getStatus()) |
| 407 | .joinTime(now.minusDays(10)).build(); | 408 | .joinTime(now.minusDays(10)).build(); |
| 408 | - when(groupMemberService.getActiveGroupMemberListByUserId(1L)).thenReturn(List.of(member)); | 409 | + when(groupMemberService.getActiveGroupMemberListByUserId(1L)).thenReturn(listOf(member)); |
| 409 | 410 | ||
| 410 | ImGroupMessageDO atMsg = ImGroupMessageDO.builder() | 411 | ImGroupMessageDO atMsg = ImGroupMessageDO.builder() |
| 411 | .id(1L).groupId(10L).senderId(2L) | 412 | .id(1L).groupId(10L).senderId(2L) |
| 412 | - .atUserIds(List.of(1L, 3L)) | 413 | + .atUserIds(listOf(1L, 3L)) |
| 413 | .sendTime(now.minusHours(1)).build(); | 414 | .sendTime(now.minusHours(1)).build(); |
| 414 | - when(groupMessageMapper.selectListByMinId(eq(List.of(10L)), eq(0L), | 415 | + when(groupMessageMapper.selectListByMinId(eq(listOf(10L)), eq(0L), |
| 415 | any(LocalDateTime.class), eq(100))) | 416 | any(LocalDateTime.class), eq(100))) |
| 416 | - .thenReturn(List.of(atMsg)); | 417 | + .thenReturn(listOf(atMsg)); |
| 417 | when(groupMemberService.getQuitGroupMemberListByUserId(eq(1L), any(LocalDateTime.class))) | 418 | when(groupMemberService.getQuitGroupMemberListByUserId(eq(1L), any(LocalDateTime.class))) |
| 418 | - .thenReturn(List.of()); | 419 | + .thenReturn(listOf()); |
| 419 | 420 | ||
| 420 | // 调用 | 421 | // 调用 |
| 421 | List<ImGroupMessageDO> result = groupMessageService.pullGroupMessageList(1L, 0L, 100); | 422 | List<ImGroupMessageDO> result = groupMessageService.pullGroupMessageList(1L, 0L, 100); |
| 422 | 423 | ||
| 423 | // 断言:@ 字段正确返回 | 424 | // 断言:@ 字段正确返回 |
| 424 | assertEquals(1, result.size()); | 425 | assertEquals(1, result.size()); |
| 425 | - assertEquals(List.of(1L, 3L), result.get(0).getAtUserIds()); | 426 | + assertEquals(listOf(1L, 3L), result.get(0).getAtUserIds()); |
| 426 | } | 427 | } |
| 427 | 428 | ||
| 428 | @Test | 429 | @Test |
| @@ -432,15 +433,15 @@ public class ImGroupMessageServiceImplTest extends BaseMockitoUnitTest { | @@ -432,15 +433,15 @@ public class ImGroupMessageServiceImplTest extends BaseMockitoUnitTest { | ||
| 432 | .groupId(10L).userId(1L) | 433 | .groupId(10L).userId(1L) |
| 433 | .status(CommonStatusEnum.ENABLE.getStatus()) | 434 | .status(CommonStatusEnum.ENABLE.getStatus()) |
| 434 | .joinTime(now.minusDays(10)).build(); | 435 | .joinTime(now.minusDays(10)).build(); |
| 435 | - when(groupMemberService.getActiveGroupMemberListByUserId(1L)).thenReturn(List.of(activeMember)); | 436 | + when(groupMemberService.getActiveGroupMemberListByUserId(1L)).thenReturn(listOf(activeMember)); |
| 436 | 437 | ||
| 437 | ImGroupMessageDO activeMsg1 = ImGroupMessageDO.builder() | 438 | ImGroupMessageDO activeMsg1 = ImGroupMessageDO.builder() |
| 438 | .id(1000L).groupId(10L).senderId(2L).sendTime(now.minusHours(2)).build(); | 439 | .id(1000L).groupId(10L).senderId(2L).sendTime(now.minusHours(2)).build(); |
| 439 | ImGroupMessageDO activeMsg2 = ImGroupMessageDO.builder() | 440 | ImGroupMessageDO activeMsg2 = ImGroupMessageDO.builder() |
| 440 | .id(2000L).groupId(10L).senderId(2L).sendTime(now.minusHours(1)).build(); | 441 | .id(2000L).groupId(10L).senderId(2L).sendTime(now.minusHours(1)).build(); |
| 441 | - when(groupMessageMapper.selectListByMinId(eq(List.of(10L)), eq(0L), | 442 | + when(groupMessageMapper.selectListByMinId(eq(listOf(10L)), eq(0L), |
| 442 | any(LocalDateTime.class), eq(2))) | 443 | any(LocalDateTime.class), eq(2))) |
| 443 | - .thenReturn(List.of(activeMsg1, activeMsg2)); | 444 | + .thenReturn(listOf(activeMsg1, activeMsg2)); |
| 444 | 445 | ||
| 445 | LocalDateTime quitTime = now.minusDays(1); | 446 | LocalDateTime quitTime = now.minusDays(1); |
| 446 | ImGroupMemberDO quitMember = ImGroupMemberDO.builder() | 447 | ImGroupMemberDO quitMember = ImGroupMemberDO.builder() |
| @@ -449,7 +450,7 @@ public class ImGroupMessageServiceImplTest extends BaseMockitoUnitTest { | @@ -449,7 +450,7 @@ public class ImGroupMessageServiceImplTest extends BaseMockitoUnitTest { | ||
| 449 | .joinTime(now.minusDays(20)) | 450 | .joinTime(now.minusDays(20)) |
| 450 | .quitTime(quitTime).build(); | 451 | .quitTime(quitTime).build(); |
| 451 | when(groupMemberService.getQuitGroupMemberListByUserId(eq(1L), any(LocalDateTime.class))) | 452 | when(groupMemberService.getQuitGroupMemberListByUserId(eq(1L), any(LocalDateTime.class))) |
| 452 | - .thenReturn(List.of(quitMember)); | 453 | + .thenReturn(listOf(quitMember)); |
| 453 | 454 | ||
| 454 | ImGroupMessageDO quit1 = ImGroupMessageDO.builder() | 455 | ImGroupMessageDO quit1 = ImGroupMessageDO.builder() |
| 455 | .id(150L).groupId(20L).senderId(99L).sendTime(now.minusDays(5)).build(); | 456 | .id(150L).groupId(20L).senderId(99L).sendTime(now.minusDays(5)).build(); |
| @@ -457,7 +458,7 @@ public class ImGroupMessageServiceImplTest extends BaseMockitoUnitTest { | @@ -457,7 +458,7 @@ public class ImGroupMessageServiceImplTest extends BaseMockitoUnitTest { | ||
| 457 | .id(160L).groupId(20L).senderId(99L).sendTime(now.minusDays(4)).build(); | 458 | .id(160L).groupId(20L).senderId(99L).sendTime(now.minusDays(4)).build(); |
| 458 | when(groupMessageMapper.selectListByGroupIdAndMinIdAndQuitTimeBefore(eq(20L), eq(0L), | 459 | when(groupMessageMapper.selectListByGroupIdAndMinIdAndQuitTimeBefore(eq(20L), eq(0L), |
| 459 | any(LocalDateTime.class), eq(quitTime), eq(2))) | 460 | any(LocalDateTime.class), eq(quitTime), eq(2))) |
| 460 | - .thenReturn(List.of(quit1, quit2)); | 461 | + .thenReturn(listOf(quit1, quit2)); |
| 461 | 462 | ||
| 462 | when(groupMessageReadRedisDAO.getReadMaxMessageId(anyLong(), eq(1L))).thenReturn(null); | 463 | when(groupMessageReadRedisDAO.getReadMaxMessageId(anyLong(), eq(1L))).thenReturn(null); |
| 463 | 464 | ||
| @@ -475,7 +476,7 @@ public class ImGroupMessageServiceImplTest extends BaseMockitoUnitTest { | @@ -475,7 +476,7 @@ public class ImGroupMessageServiceImplTest extends BaseMockitoUnitTest { | ||
| 475 | .groupId(10L).userId(1L) | 476 | .groupId(10L).userId(1L) |
| 476 | .status(CommonStatusEnum.ENABLE.getStatus()) | 477 | .status(CommonStatusEnum.ENABLE.getStatus()) |
| 477 | .joinTime(now.minusDays(10)).build(); | 478 | .joinTime(now.minusDays(10)).build(); |
| 478 | - when(groupMemberService.getActiveGroupMemberListByUserId(1L)).thenReturn(List.of(member)); | 479 | + when(groupMemberService.getActiveGroupMemberListByUserId(1L)).thenReturn(listOf(member)); |
| 479 | 480 | ||
| 480 | ImGroupMessageDO low = ImGroupMessageDO.builder() | 481 | ImGroupMessageDO low = ImGroupMessageDO.builder() |
| 481 | .id(5L).groupId(10L).senderId(2L).status(ImMessageStatusEnum.UNREAD.getStatus()) | 482 | .id(5L).groupId(10L).senderId(2L).status(ImMessageStatusEnum.UNREAD.getStatus()) |
| @@ -483,11 +484,11 @@ public class ImGroupMessageServiceImplTest extends BaseMockitoUnitTest { | @@ -483,11 +484,11 @@ public class ImGroupMessageServiceImplTest extends BaseMockitoUnitTest { | ||
| 483 | ImGroupMessageDO high = ImGroupMessageDO.builder() | 484 | ImGroupMessageDO high = ImGroupMessageDO.builder() |
| 484 | .id(10L).groupId(10L).senderId(2L).status(ImMessageStatusEnum.UNREAD.getStatus()) | 485 | .id(10L).groupId(10L).senderId(2L).status(ImMessageStatusEnum.UNREAD.getStatus()) |
| 485 | .sendTime(now.minusHours(1)).build(); | 486 | .sendTime(now.minusHours(1)).build(); |
| 486 | - when(groupMessageMapper.selectListByMinId(eq(List.of(10L)), eq(0L), | 487 | + when(groupMessageMapper.selectListByMinId(eq(listOf(10L)), eq(0L), |
| 487 | any(LocalDateTime.class), eq(100))) | 488 | any(LocalDateTime.class), eq(100))) |
| 488 | - .thenReturn(List.of(low, high)); | 489 | + .thenReturn(listOf(low, high)); |
| 489 | when(groupMemberService.getQuitGroupMemberListByUserId(eq(1L), any(LocalDateTime.class))) | 490 | when(groupMemberService.getQuitGroupMemberListByUserId(eq(1L), any(LocalDateTime.class))) |
| 490 | - .thenReturn(List.of()); | 491 | + .thenReturn(listOf()); |
| 491 | 492 | ||
| 492 | when(groupMessageReadRedisDAO.getReadMaxMessageId(10L, 1L)).thenReturn(7L); | 493 | when(groupMessageReadRedisDAO.getReadMaxMessageId(10L, 1L)).thenReturn(7L); |
| 493 | 494 | ||
| @@ -505,18 +506,18 @@ public class ImGroupMessageServiceImplTest extends BaseMockitoUnitTest { | @@ -505,18 +506,18 @@ public class ImGroupMessageServiceImplTest extends BaseMockitoUnitTest { | ||
| 505 | .groupId(10L).userId(1L) | 506 | .groupId(10L).userId(1L) |
| 506 | .status(CommonStatusEnum.ENABLE.getStatus()) | 507 | .status(CommonStatusEnum.ENABLE.getStatus()) |
| 507 | .joinTime(now.minusDays(10)).build(); | 508 | .joinTime(now.minusDays(10)).build(); |
| 508 | - when(groupMemberService.getActiveGroupMemberListByUserId(1L)).thenReturn(List.of(member)); | 509 | + when(groupMemberService.getActiveGroupMemberListByUserId(1L)).thenReturn(listOf(member)); |
| 509 | 510 | ||
| 510 | ImGroupMessageDO receiptMsg = ImGroupMessageDO.builder() | 511 | ImGroupMessageDO receiptMsg = ImGroupMessageDO.builder() |
| 511 | .id(100L).groupId(10L).senderId(1L) | 512 | .id(100L).groupId(10L).senderId(1L) |
| 512 | .status(ImMessageStatusEnum.UNREAD.getStatus()) | 513 | .status(ImMessageStatusEnum.UNREAD.getStatus()) |
| 513 | .receiptStatus(ImGroupMessageReceiptStatusEnum.PENDING.getStatus()) | 514 | .receiptStatus(ImGroupMessageReceiptStatusEnum.PENDING.getStatus()) |
| 514 | .sendTime(now.minusHours(1)).build(); | 515 | .sendTime(now.minusHours(1)).build(); |
| 515 | - when(groupMessageMapper.selectListByMinId(eq(List.of(10L)), eq(0L), | 516 | + when(groupMessageMapper.selectListByMinId(eq(listOf(10L)), eq(0L), |
| 516 | any(LocalDateTime.class), eq(100))) | 517 | any(LocalDateTime.class), eq(100))) |
| 517 | - .thenReturn(List.of(receiptMsg)); | 518 | + .thenReturn(listOf(receiptMsg)); |
| 518 | when(groupMemberService.getQuitGroupMemberListByUserId(eq(1L), any(LocalDateTime.class))) | 519 | when(groupMemberService.getQuitGroupMemberListByUserId(eq(1L), any(LocalDateTime.class))) |
| 519 | - .thenReturn(List.of()); | 520 | + .thenReturn(listOf()); |
| 520 | 521 | ||
| 521 | when(groupMessageReadRedisDAO.getReadMaxMessageId(10L, 1L)).thenReturn(100L); | 522 | when(groupMessageReadRedisDAO.getReadMaxMessageId(10L, 1L)).thenReturn(100L); |
| 522 | Map<Long, Long> positions = new HashMap<>(); | 523 | Map<Long, Long> positions = new HashMap<>(); |
| @@ -525,7 +526,7 @@ public class ImGroupMessageServiceImplTest extends BaseMockitoUnitTest { | @@ -525,7 +526,7 @@ public class ImGroupMessageServiceImplTest extends BaseMockitoUnitTest { | ||
| 525 | positions.put(3L, 50L); | 526 | positions.put(3L, 50L); |
| 526 | when(groupMessageReadRedisDAO.getReadMaxMessageIdMap(10L)).thenReturn(positions); | 527 | when(groupMessageReadRedisDAO.getReadMaxMessageIdMap(10L)).thenReturn(positions); |
| 527 | 528 | ||
| 528 | - List<ImGroupMemberDO> allMembers = List.of( | 529 | + List<ImGroupMemberDO> allMembers = listOf( |
| 529 | member, | 530 | member, |
| 530 | ImGroupMemberDO.builder().groupId(10L).userId(2L) | 531 | ImGroupMemberDO.builder().groupId(10L).userId(2L) |
| 531 | .status(CommonStatusEnum.ENABLE.getStatus()) | 532 | .status(CommonStatusEnum.ENABLE.getStatus()) |
| @@ -564,7 +565,7 @@ public class ImGroupMessageServiceImplTest extends BaseMockitoUnitTest { | @@ -564,7 +565,7 @@ public class ImGroupMessageServiceImplTest extends BaseMockitoUnitTest { | ||
| 564 | when(groupMessageMapper.insert(any(ImGroupMessageDO.class))).thenReturn(1); | 565 | when(groupMessageMapper.insert(any(ImGroupMessageDO.class))).thenReturn(1); |
| 565 | 566 | ||
| 566 | when(groupMemberService.getActiveGroupMemberUserIdsByGroupId(10L)) | 567 | when(groupMemberService.getActiveGroupMemberUserIdsByGroupId(10L)) |
| 567 | - .thenReturn(List.of(1L, 2L)); | 568 | + .thenReturn(listOf(1L, 2L)); |
| 568 | 569 | ||
| 569 | // 调用 | 570 | // 调用 |
| 570 | ImGroupMessageDO result = groupMessageService.recallGroupMessage(1L, 50L); | 571 | ImGroupMessageDO result = groupMessageService.recallGroupMessage(1L, 50L); |
| @@ -669,7 +670,7 @@ public class ImGroupMessageServiceImplTest extends BaseMockitoUnitTest { | @@ -669,7 +670,7 @@ public class ImGroupMessageServiceImplTest extends BaseMockitoUnitTest { | ||
| 669 | // 用户 2: 正常,入群在消息之前 | 670 | // 用户 2: 正常,入群在消息之前 |
| 670 | // 用户 3: 正常,但入群在消息之后 → 不可见 | 671 | // 用户 3: 正常,但入群在消息之后 → 不可见 |
| 671 | // 用户 5: 发送者,不计入回执 | 672 | // 用户 5: 发送者,不计入回执 |
| 672 | - List<ImGroupMemberDO> allMembers = List.of( | 673 | + List<ImGroupMemberDO> allMembers = listOf( |
| 673 | currentMember, | 674 | currentMember, |
| 674 | ImGroupMemberDO.builder().groupId(10L).userId(1L) | 675 | ImGroupMemberDO.builder().groupId(10L).userId(1L) |
| 675 | .status(CommonStatusEnum.ENABLE.getStatus()) | 676 | .status(CommonStatusEnum.ENABLE.getStatus()) |
| @@ -739,7 +740,7 @@ public class ImGroupMessageServiceImplTest extends BaseMockitoUnitTest { | @@ -739,7 +740,7 @@ public class ImGroupMessageServiceImplTest extends BaseMockitoUnitTest { | ||
| 739 | ImGroupMemberDO member = ImGroupMemberDO.builder() | 740 | ImGroupMemberDO member = ImGroupMemberDO.builder() |
| 740 | .groupId(10L).userId(1L).status(CommonStatusEnum.ENABLE.getStatus()).build(); | 741 | .groupId(10L).userId(1L).status(CommonStatusEnum.ENABLE.getStatus()).build(); |
| 741 | when(groupMemberService.validateMemberInGroup(10L, 1L)).thenReturn(member); | 742 | when(groupMemberService.validateMemberInGroup(10L, 1L)).thenReturn(member); |
| 742 | - when(groupMemberService.getActiveGroupMemberUserIdsByGroupId(10L)).thenReturn(List.of(1L)); | 743 | + when(groupMemberService.getActiveGroupMemberUserIdsByGroupId(10L)).thenReturn(listOf(1L)); |
| 743 | when(groupMessageMapper.insert(any(ImGroupMessageDO.class))).thenReturn(1); | 744 | when(groupMessageMapper.insert(any(ImGroupMessageDO.class))).thenReturn(1); |
| 744 | 745 | ||
| 745 | // 调用 | 746 | // 调用 |
| @@ -821,7 +822,7 @@ public class ImGroupMessageServiceImplTest extends BaseMockitoUnitTest { | @@ -821,7 +822,7 @@ public class ImGroupMessageServiceImplTest extends BaseMockitoUnitTest { | ||
| 821 | .id(100L).groupId(10L).senderId(2L).sendTime(LocalDateTime.now()).build()); | 822 | .id(100L).groupId(10L).senderId(2L).sendTime(LocalDateTime.now()).build()); |
| 822 | when(groupMessageReadRedisDAO.getReadMaxMessageId(10L, 1L)).thenReturn(5L); | 823 | when(groupMessageReadRedisDAO.getReadMaxMessageId(10L, 1L)).thenReturn(5L); |
| 823 | // readGroupMessageEvent 内部会调 selectListByGroupIdAndPendingReceipt → 返回空简化流程 | 824 | // readGroupMessageEvent 内部会调 selectListByGroupIdAndPendingReceipt → 返回空简化流程 |
| 824 | - when(groupMessageMapper.selectListByGroupIdAndPendingReceipt(10L, 5L, 100L)).thenReturn(List.of()); | 825 | + when(groupMessageMapper.selectListByGroupIdAndPendingReceipt(10L, 5L, 100L)).thenReturn(listOf()); |
| 825 | 826 | ||
| 826 | // 调用 | 827 | // 调用 |
| 827 | groupMessageService.readGroupMessages(1L, 10L, 100L); | 828 | groupMessageService.readGroupMessages(1L, 10L, 100L); |
| @@ -875,7 +876,7 @@ public class ImGroupMessageServiceImplTest extends BaseMockitoUnitTest { | @@ -875,7 +876,7 @@ public class ImGroupMessageServiceImplTest extends BaseMockitoUnitTest { | ||
| 875 | ImGroupMemberDO member = ImGroupMemberDO.builder() | 876 | ImGroupMemberDO member = ImGroupMemberDO.builder() |
| 876 | .groupId(10L).userId(1L).status(CommonStatusEnum.ENABLE.getStatus()).build(); | 877 | .groupId(10L).userId(1L).status(CommonStatusEnum.ENABLE.getStatus()).build(); |
| 877 | when(groupMemberService.validateMemberInGroup(10L, 1L)).thenReturn(member); | 878 | when(groupMemberService.validateMemberInGroup(10L, 1L)).thenReturn(member); |
| 878 | - when(groupMemberService.getActiveGroupMemberUserIdsByGroupId(10L)).thenReturn(List.of(1L, 2L)); | 879 | + when(groupMemberService.getActiveGroupMemberUserIdsByGroupId(10L)).thenReturn(listOf(1L, 2L)); |
| 879 | 880 | ||
| 880 | ImGroupMessageDO result = groupMessageService.sendGroupMessage(1L, reqVO); | 881 | ImGroupMessageDO result = groupMessageService.sendGroupMessage(1L, reqVO); |
| 881 | 882 | ||
| @@ -932,8 +933,8 @@ public class ImGroupMessageServiceImplTest extends BaseMockitoUnitTest { | @@ -932,8 +933,8 @@ public class ImGroupMessageServiceImplTest extends BaseMockitoUnitTest { | ||
| 932 | .receiptStatus(ImGroupMessageReceiptStatusEnum.PENDING.getStatus()) | 933 | .receiptStatus(ImGroupMessageReceiptStatusEnum.PENDING.getStatus()) |
| 933 | .status(ImMessageStatusEnum.UNREAD.getStatus()).build(); | 934 | .status(ImMessageStatusEnum.UNREAD.getStatus()).build(); |
| 934 | when(groupMessageMapper.selectListByGroupIdAndPendingReceipt(10L, 0L, 100L)) | 935 | when(groupMessageMapper.selectListByGroupIdAndPendingReceipt(10L, 0L, 100L)) |
| 935 | - .thenReturn(List.of(pending)); | ||
| 936 | - List<ImGroupMemberDO> activeMembers = List.of( | 936 | + .thenReturn(listOf(pending)); |
| 937 | + List<ImGroupMemberDO> activeMembers = listOf( | ||
| 937 | ImGroupMemberDO.builder().groupId(10L).userId(5L) | 938 | ImGroupMemberDO.builder().groupId(10L).userId(5L) |
| 938 | .status(CommonStatusEnum.ENABLE.getStatus()) | 939 | .status(CommonStatusEnum.ENABLE.getStatus()) |
| 939 | .joinTime(LocalDateTime.now().minusDays(10)).build(), | 940 | .joinTime(LocalDateTime.now().minusDays(10)).build(), |
| @@ -971,8 +972,8 @@ public class ImGroupMessageServiceImplTest extends BaseMockitoUnitTest { | @@ -971,8 +972,8 @@ public class ImGroupMessageServiceImplTest extends BaseMockitoUnitTest { | ||
| 971 | .receiptStatus(ImGroupMessageReceiptStatusEnum.PENDING.getStatus()) | 972 | .receiptStatus(ImGroupMessageReceiptStatusEnum.PENDING.getStatus()) |
| 972 | .status(ImMessageStatusEnum.UNREAD.getStatus()).build(); | 973 | .status(ImMessageStatusEnum.UNREAD.getStatus()).build(); |
| 973 | when(groupMessageMapper.selectListByGroupIdAndPendingReceipt(10L, 0L, 100L)) | 974 | when(groupMessageMapper.selectListByGroupIdAndPendingReceipt(10L, 0L, 100L)) |
| 974 | - .thenReturn(List.of(pending)); | ||
| 975 | - List<ImGroupMemberDO> activeMembers = List.of( | 975 | + .thenReturn(listOf(pending)); |
| 976 | + List<ImGroupMemberDO> activeMembers = listOf( | ||
| 976 | ImGroupMemberDO.builder().groupId(10L).userId(5L) | 977 | ImGroupMemberDO.builder().groupId(10L).userId(5L) |
| 977 | .status(CommonStatusEnum.ENABLE.getStatus()) | 978 | .status(CommonStatusEnum.ENABLE.getStatus()) |
| 978 | .joinTime(LocalDateTime.now().minusDays(10)).build(), | 979 | .joinTime(LocalDateTime.now().minusDays(10)).build(), |
| @@ -1006,7 +1007,7 @@ public class ImGroupMessageServiceImplTest extends BaseMockitoUnitTest { | @@ -1006,7 +1007,7 @@ public class ImGroupMessageServiceImplTest extends BaseMockitoUnitTest { | ||
| 1006 | .setGroupId(10L).setType(ImMessageTypeEnum.RECALL.getType()) | 1007 | .setGroupId(10L).setType(ImMessageTypeEnum.RECALL.getType()) |
| 1007 | .setContent("{\"messageId\":1}"); | 1008 | .setContent("{\"messageId\":1}"); |
| 1008 | when(groupMemberService.getActiveGroupMemberUserIdsByGroupId(10L)) | 1009 | when(groupMemberService.getActiveGroupMemberUserIdsByGroupId(10L)) |
| 1009 | - .thenReturn(List.of(1L, 2L, 3L, 4L)); | 1010 | + .thenReturn(listOf(1L, 2L, 3L, 4L)); |
| 1010 | 1011 | ||
| 1011 | groupMessageService.sendGroupMessage(1L, dto); | 1012 | groupMessageService.sendGroupMessage(1L, dto); |
| 1012 | 1013 | ||
| @@ -1023,9 +1024,9 @@ public class ImGroupMessageServiceImplTest extends BaseMockitoUnitTest { | @@ -1023,9 +1024,9 @@ public class ImGroupMessageServiceImplTest extends BaseMockitoUnitTest { | ||
| 1023 | ImGroupMessageSendDTO dto = new ImGroupMessageSendDTO() | 1024 | ImGroupMessageSendDTO dto = new ImGroupMessageSendDTO() |
| 1024 | .setGroupId(10L).setType(ImMessageTypeEnum.RECALL.getType()) | 1025 | .setGroupId(10L).setType(ImMessageTypeEnum.RECALL.getType()) |
| 1025 | .setContent("{\"messageId\":1}") | 1026 | .setContent("{\"messageId\":1}") |
| 1026 | - .setReceiverUserIds(List.of(2L, 3L)); | 1027 | + .setReceiverUserIds(listOf(2L, 3L)); |
| 1027 | when(groupMemberService.getActiveGroupMemberUserIdsByGroupId(10L)) | 1028 | when(groupMemberService.getActiveGroupMemberUserIdsByGroupId(10L)) |
| 1028 | - .thenReturn(List.of(1L, 2L, 3L, 4L)); | 1029 | + .thenReturn(listOf(1L, 2L, 3L, 4L)); |
| 1029 | 1030 | ||
| 1030 | groupMessageService.sendGroupMessage(1L, dto); | 1031 | groupMessageService.sendGroupMessage(1L, dto); |
| 1031 | 1032 | ||
| @@ -1042,9 +1043,9 @@ public class ImGroupMessageServiceImplTest extends BaseMockitoUnitTest { | @@ -1042,9 +1043,9 @@ public class ImGroupMessageServiceImplTest extends BaseMockitoUnitTest { | ||
| 1042 | ImGroupMessageSendDTO dto = new ImGroupMessageSendDTO() | 1043 | ImGroupMessageSendDTO dto = new ImGroupMessageSendDTO() |
| 1043 | .setGroupId(10L).setType(ImMessageTypeEnum.RECALL.getType()) | 1044 | .setGroupId(10L).setType(ImMessageTypeEnum.RECALL.getType()) |
| 1044 | .setContent("{\"messageId\":1}") | 1045 | .setContent("{\"messageId\":1}") |
| 1045 | - .setReceiverUserIds(List.of(2L, 3L)); | 1046 | + .setReceiverUserIds(listOf(2L, 3L)); |
| 1046 | when(groupMemberService.getActiveGroupMemberUserIdsByGroupId(10L)) | 1047 | when(groupMemberService.getActiveGroupMemberUserIdsByGroupId(10L)) |
| 1047 | - .thenReturn(List.of(1L, 2L, 3L, 4L)); | 1048 | + .thenReturn(listOf(1L, 2L, 3L, 4L)); |
| 1048 | 1049 | ||
| 1049 | groupMessageService.sendGroupMessage(99L, dto); | 1050 | groupMessageService.sendGroupMessage(99L, dto); |
| 1050 | 1051 | ||
| @@ -1061,7 +1062,7 @@ public class ImGroupMessageServiceImplTest extends BaseMockitoUnitTest { | @@ -1061,7 +1062,7 @@ public class ImGroupMessageServiceImplTest extends BaseMockitoUnitTest { | ||
| 1061 | ImGroupMessageSendDTO dto = new ImGroupMessageSendDTO() | 1062 | ImGroupMessageSendDTO dto = new ImGroupMessageSendDTO() |
| 1062 | .setGroupId(10L).setType(ImMessageTypeEnum.RECALL.getType()) | 1063 | .setGroupId(10L).setType(ImMessageTypeEnum.RECALL.getType()) |
| 1063 | .setContent(new RecallMessage().setMessageId(50L)); | 1064 | .setContent(new RecallMessage().setMessageId(50L)); |
| 1064 | - when(groupMemberService.getActiveGroupMemberUserIdsByGroupId(10L)).thenReturn(List.of(1L)); | 1065 | + when(groupMemberService.getActiveGroupMemberUserIdsByGroupId(10L)).thenReturn(listOf(1L)); |
| 1065 | 1066 | ||
| 1066 | groupMessageService.sendGroupMessage(1L, dto); | 1067 | groupMessageService.sendGroupMessage(1L, dto); |
| 1067 | 1068 | ||
| @@ -1085,7 +1086,7 @@ public class ImGroupMessageServiceImplTest extends BaseMockitoUnitTest { | @@ -1085,7 +1086,7 @@ public class ImGroupMessageServiceImplTest extends BaseMockitoUnitTest { | ||
| 1085 | ImGroupMessageSendDTO dto = new ImGroupMessageSendDTO() | 1086 | ImGroupMessageSendDTO dto = new ImGroupMessageSendDTO() |
| 1086 | .setGroupId(10L).setType(ImMessageTypeEnum.RECALL.getType()) | 1087 | .setGroupId(10L).setType(ImMessageTypeEnum.RECALL.getType()) |
| 1087 | .setContent("{\"messageId\":50}").setReceipt(true); | 1088 | .setContent("{\"messageId\":50}").setReceipt(true); |
| 1088 | - when(groupMemberService.getActiveGroupMemberUserIdsByGroupId(10L)).thenReturn(List.of(1L)); | 1089 | + when(groupMemberService.getActiveGroupMemberUserIdsByGroupId(10L)).thenReturn(listOf(1L)); |
| 1089 | 1090 | ||
| 1090 | groupMessageService.sendGroupMessage(1L, dto); | 1091 | groupMessageService.sendGroupMessage(1L, dto); |
| 1091 | 1092 | ||
| @@ -1099,7 +1100,7 @@ public class ImGroupMessageServiceImplTest extends BaseMockitoUnitTest { | @@ -1099,7 +1100,7 @@ public class ImGroupMessageServiceImplTest extends BaseMockitoUnitTest { | ||
| 1099 | // 准备:persistent=false 类型(RECEIPT 回执)→ 不入库,仅推送 | 1100 | // 准备:persistent=false 类型(RECEIPT 回执)→ 不入库,仅推送 |
| 1100 | ImGroupMessageSendDTO dto = new ImGroupMessageSendDTO() | 1101 | ImGroupMessageSendDTO dto = new ImGroupMessageSendDTO() |
| 1101 | .setGroupId(10L).setType(ImMessageTypeEnum.RECEIPT.getType()); | 1102 | .setGroupId(10L).setType(ImMessageTypeEnum.RECEIPT.getType()); |
| 1102 | - when(groupMemberService.getActiveGroupMemberUserIdsByGroupId(10L)).thenReturn(List.of(1L, 2L)); | 1103 | + when(groupMemberService.getActiveGroupMemberUserIdsByGroupId(10L)).thenReturn(listOf(1L, 2L)); |
| 1103 | 1104 | ||
| 1104 | groupMessageService.sendGroupMessage(1L, dto); | 1105 | groupMessageService.sendGroupMessage(1L, dto); |
| 1105 | 1106 | ||
| @@ -1110,7 +1111,7 @@ public class ImGroupMessageServiceImplTest extends BaseMockitoUnitTest { | @@ -1110,7 +1111,7 @@ public class ImGroupMessageServiceImplTest extends BaseMockitoUnitTest { | ||
| 1110 | @Test | 1111 | @Test |
| 1111 | public void testSendGroupMessage_threeArg_explicitTargetsBypassActiveMembers() { | 1112 | public void testSendGroupMessage_threeArg_explicitTargetsBypassActiveMembers() { |
| 1112 | // 准备:调用方传入显式 targets(解散场景成员已被批量 DISABLE,必须按移除前快照推送) | 1113 | // 准备:调用方传入显式 targets(解散场景成员已被批量 DISABLE,必须按移除前快照推送) |
| 1113 | - Set<Long> targets = Set.of(1L, 2L, 3L); | 1114 | + Set<Long> targets = setOf(1L, 2L, 3L); |
| 1114 | ImGroupMessageSendDTO dto = new ImGroupMessageSendDTO() | 1115 | ImGroupMessageSendDTO dto = new ImGroupMessageSendDTO() |
| 1115 | .setGroupId(10L).setType(ImMessageTypeEnum.GROUP_DISSOLVE.getType()).setContent("{}"); | 1116 | .setGroupId(10L).setType(ImMessageTypeEnum.GROUP_DISSOLVE.getType()).setContent("{}"); |
| 1116 | 1117 | ||
| @@ -1138,7 +1139,7 @@ public class ImGroupMessageServiceImplTest extends BaseMockitoUnitTest { | @@ -1138,7 +1139,7 @@ public class ImGroupMessageServiceImplTest extends BaseMockitoUnitTest { | ||
| 1138 | reqVO.setMaxId(100L); | 1139 | reqVO.setMaxId(100L); |
| 1139 | reqVO.setLimit(20); | 1140 | reqVO.setLimit(20); |
| 1140 | 1141 | ||
| 1141 | - List<ImGroupMessageDO> mockList = List.of( | 1142 | + List<ImGroupMessageDO> mockList = listOf( |
| 1142 | ImGroupMessageDO.builder().id(99L).groupId(10L).senderId(2L) | 1143 | ImGroupMessageDO.builder().id(99L).groupId(10L).senderId(2L) |
| 1143 | .sendTime(joinTime.plusMinutes(1)).build() | 1144 | .sendTime(joinTime.plusMinutes(1)).build() |
| 1144 | ); | 1145 | ); |
| @@ -1181,9 +1182,9 @@ public class ImGroupMessageServiceImplTest extends BaseMockitoUnitTest { | @@ -1181,9 +1182,9 @@ public class ImGroupMessageServiceImplTest extends BaseMockitoUnitTest { | ||
| 1181 | 1182 | ||
| 1182 | @Test | 1183 | @Test |
| 1183 | public void testDeleteReadMaxMessageIds_delegatesToRedis() { | 1184 | public void testDeleteReadMaxMessageIds_delegatesToRedis() { |
| 1184 | - groupMessageService.deleteReadMaxMessageIds(10L, List.of(1L, 2L)); | 1185 | + groupMessageService.deleteReadMaxMessageIds(10L, listOf(1L, 2L)); |
| 1185 | 1186 | ||
| 1186 | - verify(groupMessageReadRedisDAO).deleteReadMaxMessageIds(10L, List.of(1L, 2L)); | 1187 | + verify(groupMessageReadRedisDAO).deleteReadMaxMessageIds(10L, listOf(1L, 2L)); |
| 1187 | } | 1188 | } |
| 1188 | 1189 | ||
| 1189 | @Test | 1190 | @Test |
yudao-module-im/src/test/java/cn/iocoder/yudao/module/im/service/message/ImPrivateMessageServiceImplTest.java
| @@ -25,6 +25,7 @@ import java.time.LocalDateTime; | @@ -25,6 +25,7 @@ import java.time.LocalDateTime; | ||
| 25 | import java.util.List; | 25 | import java.util.List; |
| 26 | 26 | ||
| 27 | import static cn.iocoder.yudao.module.im.enums.ErrorCodeConstants.*; | 27 | import static cn.iocoder.yudao.module.im.enums.ErrorCodeConstants.*; |
| 28 | +import static cn.iocoder.yudao.module.im.util.ImTestCollectionUtils.*; | ||
| 28 | import static org.junit.jupiter.api.Assertions.*; | 29 | import static org.junit.jupiter.api.Assertions.*; |
| 29 | import static org.mockito.ArgumentMatchers.*; | 30 | import static org.mockito.ArgumentMatchers.*; |
| 30 | import static org.mockito.Mockito.*; | 31 | import static org.mockito.Mockito.*; |
| @@ -135,7 +136,7 @@ public class ImPrivateMessageServiceImplTest extends BaseMockitoUnitTest { | @@ -135,7 +136,7 @@ public class ImPrivateMessageServiceImplTest extends BaseMockitoUnitTest { | ||
| 135 | @Test | 136 | @Test |
| 136 | public void testPullMessages_success() { | 137 | public void testPullMessages_success() { |
| 137 | // 准备 | 138 | // 准备 |
| 138 | - List<ImPrivateMessageDO> mockMessages = List.of( | 139 | + List<ImPrivateMessageDO> mockMessages = listOf( |
| 139 | ImPrivateMessageDO.builder().id(1L).senderId(1L).receiverId(2L).build(), | 140 | ImPrivateMessageDO.builder().id(1L).senderId(1L).receiverId(2L).build(), |
| 140 | ImPrivateMessageDO.builder().id(2L).senderId(2L).receiverId(1L).build() | 141 | ImPrivateMessageDO.builder().id(2L).senderId(2L).receiverId(1L).build() |
| 141 | ); | 142 | ); |
| @@ -415,7 +416,7 @@ public class ImPrivateMessageServiceImplTest extends BaseMockitoUnitTest { | @@ -415,7 +416,7 @@ public class ImPrivateMessageServiceImplTest extends BaseMockitoUnitTest { | ||
| 415 | reqVO.setReceiverId(2L); | 416 | reqVO.setReceiverId(2L); |
| 416 | reqVO.setMaxId(100L); | 417 | reqVO.setMaxId(100L); |
| 417 | reqVO.setLimit(20); | 418 | reqVO.setLimit(20); |
| 418 | - List<ImPrivateMessageDO> mockList = List.of( | 419 | + List<ImPrivateMessageDO> mockList = listOf( |
| 419 | ImPrivateMessageDO.builder().id(99L).senderId(1L).receiverId(2L).build(), | 420 | ImPrivateMessageDO.builder().id(99L).senderId(1L).receiverId(2L).build(), |
| 420 | ImPrivateMessageDO.builder().id(98L).senderId(2L).receiverId(1L).build() | 421 | ImPrivateMessageDO.builder().id(98L).senderId(2L).receiverId(1L).build() |
| 421 | ); | 422 | ); |
yudao-module-im/src/test/java/cn/iocoder/yudao/module/im/service/rtc/ImRtcCallServiceImplTest.java
| @@ -34,9 +34,10 @@ import java.util.Map; | @@ -34,9 +34,10 @@ import java.util.Map; | ||
| 34 | import java.util.Set; | 34 | import java.util.Set; |
| 35 | import java.util.concurrent.Callable; | 35 | import java.util.concurrent.Callable; |
| 36 | 36 | ||
| 37 | -import static cn.iocoder.yudao.module.im.enums.ErrorCodeConstants.RTC_GROUP_INVITEE_REQUIRED; | ||
| 38 | import static cn.iocoder.yudao.module.im.enums.ErrorCodeConstants.RTC_GROUP_INVITEE_OVER_LIMIT; | 37 | import static cn.iocoder.yudao.module.im.enums.ErrorCodeConstants.RTC_GROUP_INVITEE_OVER_LIMIT; |
| 38 | +import static cn.iocoder.yudao.module.im.enums.ErrorCodeConstants.RTC_GROUP_INVITEE_REQUIRED; | ||
| 39 | import static cn.iocoder.yudao.module.im.enums.ErrorCodeConstants.RTC_SELF_BUSY; | 39 | import static cn.iocoder.yudao.module.im.enums.ErrorCodeConstants.RTC_SELF_BUSY; |
| 40 | +import static cn.iocoder.yudao.module.im.util.ImTestCollectionUtils.*; | ||
| 40 | import static org.junit.jupiter.api.Assertions.*; | 41 | import static org.junit.jupiter.api.Assertions.*; |
| 41 | import static org.mockito.ArgumentMatchers.*; | 42 | import static org.mockito.ArgumentMatchers.*; |
| 42 | import static org.mockito.Mockito.*; | 43 | import static org.mockito.Mockito.*; |
| @@ -103,8 +104,8 @@ public class ImRtcCallServiceImplTest extends BaseMockitoUnitTest { | @@ -103,8 +104,8 @@ public class ImRtcCallServiceImplTest extends BaseMockitoUnitTest { | ||
| 103 | // 准备:候选非空但每个 CAS 都失败(并发已变状态) | 104 | // 准备:候选非空但每个 CAS 都失败(并发已变状态) |
| 104 | ImRtcParticipantDO p = buildParticipant(10L, "r1", 100L, ImRtcParticipantStatusEnum.INVITING); | 105 | ImRtcParticipantDO p = buildParticipant(10L, "r1", 100L, ImRtcParticipantStatusEnum.INVITING); |
| 105 | when(rtcParticipantMapper.selectListByStatusAndInviteTimeBefore(any(), any())) | 106 | when(rtcParticipantMapper.selectListByStatusAndInviteTimeBefore(any(), any())) |
| 106 | - .thenReturn(List.of(p)); | ||
| 107 | - when(adminUserApi.getUserMap(anySet())).thenReturn(Map.of(100L, buildUser(100L))); | 107 | + .thenReturn(listOf(p)); |
| 108 | + when(adminUserApi.getUserMap(anySet())).thenReturn(mapOf(100L, buildUser(100L))); | ||
| 108 | when(rtcParticipantMapper.updateByIdAndStatus(eq(10L), eq(ImRtcParticipantStatusEnum.INVITING.getStatus()), any())) | 109 | when(rtcParticipantMapper.updateByIdAndStatus(eq(10L), eq(ImRtcParticipantStatusEnum.INVITING.getStatus()), any())) |
| 109 | .thenReturn(0); | 110 | .thenReturn(0); |
| 110 | 111 | ||
| @@ -122,15 +123,15 @@ public class ImRtcCallServiceImplTest extends BaseMockitoUnitTest { | @@ -122,15 +123,15 @@ public class ImRtcCallServiceImplTest extends BaseMockitoUnitTest { | ||
| 122 | // 准备:群通话单候选 CAS 成功;shouldCloseGroupRoom 通过 selectListByRoom 多 JOINED 让其返 false,跳过 endSession | 123 | // 准备:群通话单候选 CAS 成功;shouldCloseGroupRoom 通过 selectListByRoom 多 JOINED 让其返 false,跳过 endSession |
| 123 | ImRtcParticipantDO p = buildParticipant(10L, "r1", 100L, ImRtcParticipantStatusEnum.INVITING); | 124 | ImRtcParticipantDO p = buildParticipant(10L, "r1", 100L, ImRtcParticipantStatusEnum.INVITING); |
| 124 | when(rtcParticipantMapper.selectListByStatusAndInviteTimeBefore(any(), any())) | 125 | when(rtcParticipantMapper.selectListByStatusAndInviteTimeBefore(any(), any())) |
| 125 | - .thenReturn(List.of(p)); | ||
| 126 | - when(adminUserApi.getUserMap(anySet())).thenReturn(Map.of(100L, buildUser(100L))); | 126 | + .thenReturn(listOf(p)); |
| 127 | + when(adminUserApi.getUserMap(anySet())).thenReturn(mapOf(100L, buildUser(100L))); | ||
| 127 | when(rtcParticipantMapper.updateByIdAndStatus(eq(10L), eq(ImRtcParticipantStatusEnum.INVITING.getStatus()), any())) | 128 | when(rtcParticipantMapper.updateByIdAndStatus(eq(10L), eq(ImRtcParticipantStatusEnum.INVITING.getStatus()), any())) |
| 128 | .thenReturn(1); | 129 | .thenReturn(1); |
| 129 | ImRtcCallDO call = buildCall("r1", 200L, ImConversationTypeEnum.GROUP, 999L); | 130 | ImRtcCallDO call = buildCall("r1", 200L, ImConversationTypeEnum.GROUP, 999L); |
| 130 | when(rtcCallMapper.selectByRoom("r1")).thenReturn(call); | 131 | when(rtcCallMapper.selectByRoom("r1")).thenReturn(call); |
| 131 | - when(groupMemberService.getActiveGroupMemberUserIdsByGroupId(999L)).thenReturn(List.of(200L, 201L)); | 132 | + when(groupMemberService.getActiveGroupMemberUserIdsByGroupId(999L)).thenReturn(listOf(200L, 201L)); |
| 132 | // 房内 2 个 JOINED + 1 个 INVITING → shouldCloseGroupRoom 返 false | 133 | // 房内 2 个 JOINED + 1 个 INVITING → shouldCloseGroupRoom 返 false |
| 133 | - when(rtcParticipantMapper.selectListByRoom("r1")).thenReturn(List.of( | 134 | + when(rtcParticipantMapper.selectListByRoom("r1")).thenReturn(listOf( |
| 134 | buildParticipant(20L, "r1", 200L, ImRtcParticipantStatusEnum.JOINED), | 135 | buildParticipant(20L, "r1", 200L, ImRtcParticipantStatusEnum.JOINED), |
| 135 | buildParticipant(21L, "r1", 201L, ImRtcParticipantStatusEnum.JOINED), | 136 | buildParticipant(21L, "r1", 201L, ImRtcParticipantStatusEnum.JOINED), |
| 136 | buildParticipant(22L, "r1", 202L, ImRtcParticipantStatusEnum.INVITING) | 137 | buildParticipant(22L, "r1", 202L, ImRtcParticipantStatusEnum.INVITING) |
| @@ -150,8 +151,8 @@ public class ImRtcCallServiceImplTest extends BaseMockitoUnitTest { | @@ -150,8 +151,8 @@ public class ImRtcCallServiceImplTest extends BaseMockitoUnitTest { | ||
| 150 | // 准备:CAS 成功后通话主表缺失(异常兜底场景) | 151 | // 准备:CAS 成功后通话主表缺失(异常兜底场景) |
| 151 | ImRtcParticipantDO p = buildParticipant(10L, "r1", 100L, ImRtcParticipantStatusEnum.INVITING); | 152 | ImRtcParticipantDO p = buildParticipant(10L, "r1", 100L, ImRtcParticipantStatusEnum.INVITING); |
| 152 | when(rtcParticipantMapper.selectListByStatusAndInviteTimeBefore(any(), any())) | 153 | when(rtcParticipantMapper.selectListByStatusAndInviteTimeBefore(any(), any())) |
| 153 | - .thenReturn(List.of(p)); | ||
| 154 | - when(adminUserApi.getUserMap(anySet())).thenReturn(Map.of(100L, buildUser(100L))); | 154 | + .thenReturn(listOf(p)); |
| 155 | + when(adminUserApi.getUserMap(anySet())).thenReturn(mapOf(100L, buildUser(100L))); | ||
| 155 | when(rtcParticipantMapper.updateByIdAndStatus(eq(10L), eq(ImRtcParticipantStatusEnum.INVITING.getStatus()), any())) | 156 | when(rtcParticipantMapper.updateByIdAndStatus(eq(10L), eq(ImRtcParticipantStatusEnum.INVITING.getStatus()), any())) |
| 156 | .thenReturn(1); | 157 | .thenReturn(1); |
| 157 | when(rtcCallMapper.selectByRoom("r1")).thenReturn(null); | 158 | when(rtcCallMapper.selectByRoom("r1")).thenReturn(null); |
| @@ -219,15 +220,15 @@ public class ImRtcCallServiceImplTest extends BaseMockitoUnitTest { | @@ -219,15 +220,15 @@ public class ImRtcCallServiceImplTest extends BaseMockitoUnitTest { | ||
| 219 | ImRtcParticipantDO timeoutTarget = buildParticipant(11L, "r1", 101L, ImRtcParticipantStatusEnum.INVITING); | 220 | ImRtcParticipantDO timeoutTarget = buildParticipant(11L, "r1", 101L, ImRtcParticipantStatusEnum.INVITING); |
| 220 | when(rtcParticipantMapper.selectListByRoomAndStatusAndInviteTimeBefore( | 221 | when(rtcParticipantMapper.selectListByRoomAndStatusAndInviteTimeBefore( |
| 221 | eq("r1"), eq(ImRtcParticipantStatusEnum.INVITING.getStatus()), any())) | 222 | eq("r1"), eq(ImRtcParticipantStatusEnum.INVITING.getStatus()), any())) |
| 222 | - .thenReturn(List.of(timeoutTarget)); | ||
| 223 | - when(adminUserApi.getUserMap(anySet())).thenReturn(Map.of(101L, buildUser(101L))); | 223 | + .thenReturn(listOf(timeoutTarget)); |
| 224 | + when(adminUserApi.getUserMap(anySet())).thenReturn(mapOf(101L, buildUser(101L))); | ||
| 224 | when(rtcParticipantMapper.updateByIdAndStatus(eq(11L), eq(ImRtcParticipantStatusEnum.INVITING.getStatus()), any())) | 225 | when(rtcParticipantMapper.updateByIdAndStatus(eq(11L), eq(ImRtcParticipantStatusEnum.INVITING.getStatus()), any())) |
| 225 | .thenReturn(1); | 226 | .thenReturn(1); |
| 226 | ImRtcCallDO call = buildCall("r1", 200L, ImConversationTypeEnum.GROUP, 999L); | 227 | ImRtcCallDO call = buildCall("r1", 200L, ImConversationTypeEnum.GROUP, 999L); |
| 227 | when(rtcCallMapper.selectByRoom("r1")).thenReturn(call); | 228 | when(rtcCallMapper.selectByRoom("r1")).thenReturn(call); |
| 228 | - when(groupMemberService.getActiveGroupMemberUserIdsByGroupId(999L)).thenReturn(List.of(200L, 201L)); | 229 | + when(groupMemberService.getActiveGroupMemberUserIdsByGroupId(999L)).thenReturn(listOf(200L, 201L)); |
| 229 | // 让 shouldCloseGroupRoom 返 false | 230 | // 让 shouldCloseGroupRoom 返 false |
| 230 | - when(rtcParticipantMapper.selectListByRoom("r1")).thenReturn(List.of( | 231 | + when(rtcParticipantMapper.selectListByRoom("r1")).thenReturn(listOf( |
| 231 | buildParticipant(20L, "r1", 200L, ImRtcParticipantStatusEnum.JOINED), | 232 | buildParticipant(20L, "r1", 200L, ImRtcParticipantStatusEnum.JOINED), |
| 232 | buildParticipant(21L, "r1", 201L, ImRtcParticipantStatusEnum.JOINED) | 233 | buildParticipant(21L, "r1", 201L, ImRtcParticipantStatusEnum.JOINED) |
| 233 | )); | 234 | )); |
| @@ -253,7 +254,7 @@ public class ImRtcCallServiceImplTest extends BaseMockitoUnitTest { | @@ -253,7 +254,7 @@ public class ImRtcCallServiceImplTest extends BaseMockitoUnitTest { | ||
| 253 | ImRtcCallCreateReqVO reqVO = new ImRtcCallCreateReqVO(); | 254 | ImRtcCallCreateReqVO reqVO = new ImRtcCallCreateReqVO(); |
| 254 | reqVO.setConversationType(ImConversationTypeEnum.GROUP.getType()); | 255 | reqVO.setConversationType(ImConversationTypeEnum.GROUP.getType()); |
| 255 | reqVO.setGroupId(10L); | 256 | reqVO.setGroupId(10L); |
| 256 | - reqVO.setInviteeIds(Set.of(100L)); | 257 | + reqVO.setInviteeIds(setOf(100L)); |
| 257 | 258 | ||
| 258 | ServiceException exception = assertThrows(ServiceException.class, | 259 | ServiceException exception = assertThrows(ServiceException.class, |
| 259 | () -> rtcCallService.createCall(100L, reqVO)); | 260 | () -> rtcCallService.createCall(100L, reqVO)); |
| @@ -335,14 +336,14 @@ public class ImRtcCallServiceImplTest extends BaseMockitoUnitTest { | @@ -335,14 +336,14 @@ public class ImRtcCallServiceImplTest extends BaseMockitoUnitTest { | ||
| 335 | Callable<Void> callable = invocation.getArgument(1); | 336 | Callable<Void> callable = invocation.getArgument(1); |
| 336 | return callable.call(); | 337 | return callable.call(); |
| 337 | }); | 338 | }); |
| 338 | - when(rtcParticipantMapper.selectListByRoom("r1")).thenReturn(List.of( | 339 | + when(rtcParticipantMapper.selectListByRoom("r1")).thenReturn(listOf( |
| 339 | buildParticipant(10L, "r1", 200L, ImRtcParticipantStatusEnum.JOINED), | 340 | buildParticipant(10L, "r1", 200L, ImRtcParticipantStatusEnum.JOINED), |
| 340 | buildParticipant(11L, "r1", 201L, ImRtcParticipantStatusEnum.JOINED), | 341 | buildParticipant(11L, "r1", 201L, ImRtcParticipantStatusEnum.JOINED), |
| 341 | buildParticipant(12L, "r1", 202L, ImRtcParticipantStatusEnum.INVITING) | 342 | buildParticipant(12L, "r1", 202L, ImRtcParticipantStatusEnum.INVITING) |
| 342 | )); | 343 | )); |
| 343 | ImRtcCallInviteReqVO reqVO = new ImRtcCallInviteReqVO(); | 344 | ImRtcCallInviteReqVO reqVO = new ImRtcCallInviteReqVO(); |
| 344 | reqVO.setRoom("r1"); | 345 | reqVO.setRoom("r1"); |
| 345 | - reqVO.setInviteeIds(Set.of(203L)); | 346 | + reqVO.setInviteeIds(setOf(203L)); |
| 346 | 347 | ||
| 347 | ServiceException exception = assertThrows(ServiceException.class, | 348 | ServiceException exception = assertThrows(ServiceException.class, |
| 348 | () -> rtcCallService.inviteCall(200L, reqVO)); | 349 | () -> rtcCallService.inviteCall(200L, reqVO)); |
yudao-module-im/src/test/java/cn/iocoder/yudao/module/im/service/sensitiveword/ImSensitiveWordServiceImplTest.java
| @@ -19,6 +19,7 @@ import java.util.List; | @@ -19,6 +19,7 @@ import java.util.List; | ||
| 19 | import static cn.iocoder.yudao.module.im.enums.ErrorCodeConstants.MESSAGE_SENSITIVE_WORD_BLOCKED; | 19 | import static cn.iocoder.yudao.module.im.enums.ErrorCodeConstants.MESSAGE_SENSITIVE_WORD_BLOCKED; |
| 20 | import static cn.iocoder.yudao.module.im.enums.ErrorCodeConstants.SENSITIVE_WORD_DUPLICATED; | 20 | import static cn.iocoder.yudao.module.im.enums.ErrorCodeConstants.SENSITIVE_WORD_DUPLICATED; |
| 21 | import static cn.iocoder.yudao.module.im.enums.ErrorCodeConstants.SENSITIVE_WORD_NOT_EXISTS; | 21 | import static cn.iocoder.yudao.module.im.enums.ErrorCodeConstants.SENSITIVE_WORD_NOT_EXISTS; |
| 22 | +import static cn.iocoder.yudao.module.im.util.ImTestCollectionUtils.*; | ||
| 22 | import static org.junit.jupiter.api.Assertions.*; | 23 | import static org.junit.jupiter.api.Assertions.*; |
| 23 | import static org.mockito.Mockito.*; | 24 | import static org.mockito.Mockito.*; |
| 24 | 25 | ||
| @@ -44,7 +45,7 @@ public class ImSensitiveWordServiceImplTest extends BaseMockitoUnitTest { | @@ -44,7 +45,7 @@ public class ImSensitiveWordServiceImplTest extends BaseMockitoUnitTest { | ||
| 44 | // mock 启用敏感词列表;LoadingCache 在首次 validateText 时懒加载,无需主动 init | 45 | // mock 启用敏感词列表;LoadingCache 在首次 validateText 时懒加载,无需主动 init |
| 45 | // 用 lenient 避免 null / empty 等不触发 cache load 的用例报 UnnecessaryStubbing | 46 | // 用 lenient 避免 null / empty 等不触发 cache load 的用例报 UnnecessaryStubbing |
| 46 | lenient().when(imSensitiveWordMapper.selectListByStatus(CommonStatusEnum.ENABLE.getStatus())) | 47 | lenient().when(imSensitiveWordMapper.selectListByStatus(CommonStatusEnum.ENABLE.getStatus())) |
| 47 | - .thenReturn(List.of( | 48 | + .thenReturn(listOf( |
| 48 | ImSensitiveWordDO.builder().id(1L).word("badword") | 49 | ImSensitiveWordDO.builder().id(1L).word("badword") |
| 49 | .status(CommonStatusEnum.ENABLE.getStatus()).build(), | 50 | .status(CommonStatusEnum.ENABLE.getStatus()).build(), |
| 50 | ImSensitiveWordDO.builder().id(2L).word("违禁词") | 51 | ImSensitiveWordDO.builder().id(2L).word("违禁词") |
| @@ -118,7 +119,7 @@ public class ImSensitiveWordServiceImplTest extends BaseMockitoUnitTest { | @@ -118,7 +119,7 @@ public class ImSensitiveWordServiceImplTest extends BaseMockitoUnitTest { | ||
| 118 | 119 | ||
| 119 | // 准备:mapper 返回新词库(额外多一个 newbad),并让 createSensitiveWord 走通 | 120 | // 准备:mapper 返回新词库(额外多一个 newbad),并让 createSensitiveWord 走通 |
| 120 | when(imSensitiveWordMapper.selectListByStatus(CommonStatusEnum.ENABLE.getStatus())) | 121 | when(imSensitiveWordMapper.selectListByStatus(CommonStatusEnum.ENABLE.getStatus())) |
| 121 | - .thenReturn(List.of( | 122 | + .thenReturn(listOf( |
| 122 | ImSensitiveWordDO.builder().id(1L).word("badword") | 123 | ImSensitiveWordDO.builder().id(1L).word("badword") |
| 123 | .status(CommonStatusEnum.ENABLE.getStatus()).build(), | 124 | .status(CommonStatusEnum.ENABLE.getStatus()).build(), |
| 124 | ImSensitiveWordDO.builder().id(2L).word("违禁词") | 125 | ImSensitiveWordDO.builder().id(2L).word("违禁词") |
| @@ -178,7 +179,7 @@ public class ImSensitiveWordServiceImplTest extends BaseMockitoUnitTest { | @@ -178,7 +179,7 @@ public class ImSensitiveWordServiceImplTest extends BaseMockitoUnitTest { | ||
| 178 | when(imSensitiveWordMapper.selectByWord("updatedbad")).thenReturn(null); | 179 | when(imSensitiveWordMapper.selectByWord("updatedbad")).thenReturn(null); |
| 179 | // 准备:reload 时返回新词库 | 180 | // 准备:reload 时返回新词库 |
| 180 | when(imSensitiveWordMapper.selectListByStatus(CommonStatusEnum.ENABLE.getStatus())) | 181 | when(imSensitiveWordMapper.selectListByStatus(CommonStatusEnum.ENABLE.getStatus())) |
| 181 | - .thenReturn(List.of( | 182 | + .thenReturn(listOf( |
| 182 | ImSensitiveWordDO.builder().id(1L).word("updatedbad") | 183 | ImSensitiveWordDO.builder().id(1L).word("updatedbad") |
| 183 | .status(CommonStatusEnum.ENABLE.getStatus()).build() | 184 | .status(CommonStatusEnum.ENABLE.getStatus()).build() |
| 184 | )); | 185 | )); |
| @@ -211,7 +212,7 @@ public class ImSensitiveWordServiceImplTest extends BaseMockitoUnitTest { | @@ -211,7 +212,7 @@ public class ImSensitiveWordServiceImplTest extends BaseMockitoUnitTest { | ||
| 211 | .status(CommonStatusEnum.ENABLE.getStatus()).build()); | 212 | .status(CommonStatusEnum.ENABLE.getStatus()).build()); |
| 212 | // 准备:reload 时返回剩余词库(只剩中文那条) | 213 | // 准备:reload 时返回剩余词库(只剩中文那条) |
| 213 | when(imSensitiveWordMapper.selectListByStatus(CommonStatusEnum.ENABLE.getStatus())) | 214 | when(imSensitiveWordMapper.selectListByStatus(CommonStatusEnum.ENABLE.getStatus())) |
| 214 | - .thenReturn(List.of( | 215 | + .thenReturn(listOf( |
| 215 | ImSensitiveWordDO.builder().id(2L).word("违禁词") | 216 | ImSensitiveWordDO.builder().id(2L).word("违禁词") |
| 216 | .status(CommonStatusEnum.ENABLE.getStatus()).build() | 217 | .status(CommonStatusEnum.ENABLE.getStatus()).build() |
| 217 | )); | 218 | )); |
| @@ -251,24 +252,24 @@ public class ImSensitiveWordServiceImplTest extends BaseMockitoUnitTest { | @@ -251,24 +252,24 @@ public class ImSensitiveWordServiceImplTest extends BaseMockitoUnitTest { | ||
| 251 | 252 | ||
| 252 | // 准备:reload 时返回空词库 | 253 | // 准备:reload 时返回空词库 |
| 253 | when(imSensitiveWordMapper.selectListByStatus(CommonStatusEnum.ENABLE.getStatus())) | 254 | when(imSensitiveWordMapper.selectListByStatus(CommonStatusEnum.ENABLE.getStatus())) |
| 254 | - .thenReturn(List.of()); | 255 | + .thenReturn(listOf()); |
| 255 | 256 | ||
| 256 | // 调用:批量删除,触发 invalidate | 257 | // 调用:批量删除,触发 invalidate |
| 257 | - sensitiveWordService.deleteSensitiveWordList(List.of(1L, 2L)); | 258 | + sensitiveWordService.deleteSensitiveWordList(listOf(1L, 2L)); |
| 258 | 259 | ||
| 259 | // 调用 + 断言:所有词都不再命中 | 260 | // 调用 + 断言:所有词都不再命中 |
| 260 | assertDoesNotThrow(() -> sensitiveWordService.validateText("contains badword here")); | 261 | assertDoesNotThrow(() -> sensitiveWordService.validateText("contains badword here")); |
| 261 | assertDoesNotThrow(() -> sensitiveWordService.validateText("这条消息里有违禁词哦")); | 262 | assertDoesNotThrow(() -> sensitiveWordService.validateText("这条消息里有违禁词哦")); |
| 262 | 263 | ||
| 263 | // 断言:deleteByIds 被调用 1 次;selectListByStatus 共 2 次 | 264 | // 断言:deleteByIds 被调用 1 次;selectListByStatus 共 2 次 |
| 264 | - verify(imSensitiveWordMapper, times(1)).deleteByIds(List.of(1L, 2L)); | 265 | + verify(imSensitiveWordMapper, times(1)).deleteByIds(listOf(1L, 2L)); |
| 265 | verify(imSensitiveWordMapper, times(2)).selectListByStatus(CommonStatusEnum.ENABLE.getStatus()); | 266 | verify(imSensitiveWordMapper, times(2)).selectListByStatus(CommonStatusEnum.ENABLE.getStatus()); |
| 266 | } | 267 | } |
| 267 | 268 | ||
| 268 | @Test | 269 | @Test |
| 269 | public void testDeleteSensitiveWordList_emptyIds_skip() { | 270 | public void testDeleteSensitiveWordList_emptyIds_skip() { |
| 270 | // 调用:空列表直接返回 | 271 | // 调用:空列表直接返回 |
| 271 | - sensitiveWordService.deleteSensitiveWordList(List.of()); | 272 | + sensitiveWordService.deleteSensitiveWordList(listOf()); |
| 272 | 273 | ||
| 273 | // 断言:mapper 不被调用 | 274 | // 断言:mapper 不被调用 |
| 274 | verify(imSensitiveWordMapper, never()).deleteByIds(anyList()); | 275 | verify(imSensitiveWordMapper, never()).deleteByIds(anyList()); |
yudao-module-im/src/test/java/cn/iocoder/yudao/module/im/service/websocket/ImWebSocketServiceImplTest.java
| @@ -18,6 +18,7 @@ import java.util.Arrays; | @@ -18,6 +18,7 @@ import java.util.Arrays; | ||
| 18 | import java.util.Collections; | 18 | import java.util.Collections; |
| 19 | import java.util.List; | 19 | import java.util.List; |
| 20 | 20 | ||
| 21 | +import static cn.iocoder.yudao.module.im.util.ImTestCollectionUtils.*; | ||
| 21 | import static org.junit.jupiter.api.Assertions.assertEquals; | 22 | import static org.junit.jupiter.api.Assertions.assertEquals; |
| 22 | import static org.mockito.ArgumentMatchers.eq; | 23 | import static org.mockito.ArgumentMatchers.eq; |
| 23 | import static org.mockito.Mockito.*; | 24 | import static org.mockito.Mockito.*; |
| @@ -107,7 +108,7 @@ public class ImWebSocketServiceImplTest extends BaseMockitoUnitTest { | @@ -107,7 +108,7 @@ public class ImWebSocketServiceImplTest extends BaseMockitoUnitTest { | ||
| 107 | dto.setGroupId(10L); | 108 | dto.setGroupId(10L); |
| 108 | dto.setSenderId(1L); | 109 | dto.setSenderId(1L); |
| 109 | 110 | ||
| 110 | - imWebSocketService.sendGroupMessageAsync(List.of(1L, 2L, 3L), dto); | 111 | + imWebSocketService.sendGroupMessageAsync(listOf(1L, 2L, 3L), dto); |
| 111 | 112 | ||
| 112 | verify(webSocketMessageSender).sendObject( | 113 | verify(webSocketMessageSender).sendObject( |
| 113 | eq(UserTypeEnum.ADMIN.getValue()), eq(1L), eq(ImGroupMessageDTO.TYPE), eq(dto)); | 114 | eq(UserTypeEnum.ADMIN.getValue()), eq(1L), eq(ImGroupMessageDTO.TYPE), eq(dto)); |
| @@ -130,7 +131,7 @@ public class ImWebSocketServiceImplTest extends BaseMockitoUnitTest { | @@ -130,7 +131,7 @@ public class ImWebSocketServiceImplTest extends BaseMockitoUnitTest { | ||
| 130 | doThrow(new RuntimeException("user offline")) | 131 | doThrow(new RuntimeException("user offline")) |
| 131 | .when(webSocketMessageSender).sendObject(anyInt(), eq(1L), anyString(), any()); | 132 | .when(webSocketMessageSender).sendObject(anyInt(), eq(1L), anyString(), any()); |
| 132 | 133 | ||
| 133 | - imWebSocketService.sendGroupMessageAsync(List.of(1L, 2L, 3L), dto); | 134 | + imWebSocketService.sendGroupMessageAsync(listOf(1L, 2L, 3L), dto); |
| 134 | 135 | ||
| 135 | // 2L 和 3L 也都被推送 | 136 | // 2L 和 3L 也都被推送 |
| 136 | verify(webSocketMessageSender).sendObject(anyInt(), eq(2L), anyString(), any()); | 137 | verify(webSocketMessageSender).sendObject(anyInt(), eq(2L), anyString(), any()); |