Commit bada82f8cc5b28492d20a7e76d04e7b73d10f6f6

Authored by 安浩浩
1 parent 651619d5

修改:代码优化

Showing 21 changed files with 106 additions and 98 deletions
script/idea/http-client.env.json
1 1 {
2 2 "local": {
3 3 "baseUrl": "http://127.0.0.1:48080/admin-api",
4   - "token": "test1",
  4 + "token": "test100",
5 5 "adminTenentId": "1",
6 6  
7 7 "appApi": "http://127.0.0.1:48080/app-api",
... ...
yudao-module-im/yudao-module-im-biz/src/main/java/cn/iocoder/yudao/module/im/controller/admin/conversation/ImConversationController.java
... ... @@ -6,7 +6,7 @@ import cn.iocoder.yudao.module.im.controller.admin.conversation.vo.ImConversatio
6 6 import cn.iocoder.yudao.module.im.controller.admin.conversation.vo.ImConversationRespVO;
7 7 import cn.iocoder.yudao.module.im.controller.admin.conversation.vo.ImConversationUpdatePinnedReqVO;
8 8 import cn.iocoder.yudao.module.im.dal.dataobject.conversation.ImConversationDO;
9   -import cn.iocoder.yudao.module.im.service.conversation.ConversationService;
  9 +import cn.iocoder.yudao.module.im.service.conversation.ImConversationService;
10 10 import io.swagger.v3.oas.annotations.Operation;
11 11 import io.swagger.v3.oas.annotations.tags.Tag;
12 12 import jakarta.annotation.Resource;
... ... @@ -26,26 +26,26 @@ import static cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUti
26 26 public class ImConversationController {
27 27  
28 28 @Resource
29   - private ConversationService conversationService;
  29 + private ImConversationService imConversationService;
30 30  
31 31 @GetMapping("/list")
32 32 @Operation(summary = "获得用户的会话列表")
33 33 public CommonResult<List<ImConversationRespVO>> getConversationList() {
34   - List<ImConversationDO> conversationList = conversationService.getConversationList();
  34 + List<ImConversationDO> conversationList = imConversationService.getConversationList();
35 35 return success(BeanUtils.toBean(conversationList, ImConversationRespVO.class));
36 36 }
37 37  
38 38 @PostMapping("/update-pinned")
39 39 @Operation(summary = "置顶会话")
40 40 public CommonResult<Boolean> updatePinned(@Valid @RequestBody ImConversationUpdatePinnedReqVO updateReqVO) {
41   - conversationService.updatePinned(getLoginUserId(),updateReqVO);
  41 + imConversationService.updatePinned(getLoginUserId(),updateReqVO);
42 42 return success(true);
43 43 }
44 44  
45 45 @PostMapping("/update-last-read-time")
46 46 @Operation(summary = "更新最后已读时间")
47 47 public CommonResult<Boolean> updateLastReadTime(@Valid @RequestBody ImConversationUpdateLastReadTimeReqVO updateReqVO) {
48   - conversationService.updateLastReadTime(getLoginUserId(),updateReqVO);
  48 + imConversationService.updateLastReadTime(getLoginUserId(),updateReqVO);
49 49 return success(true);
50 50 }
51 51  
... ...
yudao-module-im/yudao-module-im-biz/src/main/java/cn/iocoder/yudao/module/im/controller/admin/group/ImGroupController.java
... ... @@ -9,24 +9,15 @@ import io.swagger.v3.oas.annotations.Parameter;
9 9 import io.swagger.v3.oas.annotations.Operation;
10 10  
11 11 import jakarta.validation.*;
12   -import jakarta.servlet.http.*;
13   -import java.util.*;
14   -import java.io.IOException;
15 12  
16   -import cn.iocoder.yudao.framework.common.pojo.PageParam;
17 13 import cn.iocoder.yudao.framework.common.pojo.PageResult;
18 14 import cn.iocoder.yudao.framework.common.pojo.CommonResult;
19 15 import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
20 16 import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
21 17  
22   -import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
23   -
24   -import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog;
25   -import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.*;
26   -
27 18 import cn.iocoder.yudao.module.im.controller.admin.group.vo.*;
28 19 import cn.iocoder.yudao.module.im.dal.dataobject.group.ImGroupDO;
29   -import cn.iocoder.yudao.module.im.service.group.GroupService;
  20 +import cn.iocoder.yudao.module.im.service.group.ImGroupService;
30 21  
31 22 // TODO @芋艿:得看看 create、update、delete、get、page 这几个接口,要保留哪些
32 23 @Tag(name = "管理后台 - 群")
... ... @@ -36,20 +27,20 @@ import cn.iocoder.yudao.module.im.service.group.GroupService;
36 27 public class ImGroupController {
37 28  
38 29 @Resource
39   - private GroupService groupService;
  30 + private ImGroupService imGroupService;
40 31  
41 32 @PostMapping("/create")
42 33 @Operation(summary = "创建群")
43 34 @PreAuthorize("@ss.hasPermission('im:group:create')")
44 35 public CommonResult<Long> createGroup(@Valid @RequestBody ImGroupSaveReqVO createReqVO) {
45   - return success(groupService.createGroup(createReqVO));
  36 + return success(imGroupService.createGroup(createReqVO));
46 37 }
47 38  
48 39 @PutMapping("/update")
49 40 @Operation(summary = "更新群")
50 41 @PreAuthorize("@ss.hasPermission('im:group:update')")
51 42 public CommonResult<Boolean> updateGroup(@Valid @RequestBody ImGroupSaveReqVO updateReqVO) {
52   - groupService.updateGroup(updateReqVO);
  43 + imGroupService.updateGroup(updateReqVO);
53 44 return success(true);
54 45 }
55 46  
... ... @@ -58,7 +49,7 @@ public class ImGroupController {
58 49 @Parameter(name = "id", description = "编号", required = true)
59 50 @PreAuthorize("@ss.hasPermission('im:group:delete')")
60 51 public CommonResult<Boolean> deleteGroup(@RequestParam("id") Long id) {
61   - groupService.deleteGroup(id);
  52 + imGroupService.deleteGroup(id);
62 53 return success(true);
63 54 }
64 55  
... ... @@ -67,7 +58,7 @@ public class ImGroupController {
67 58 @Parameter(name = "id", description = "编号", required = true, example = "1024")
68 59 @PreAuthorize("@ss.hasPermission('im:group:query')")
69 60 public CommonResult<ImGroupRespVO> getGroup(@RequestParam("id") Long id) {
70   - ImGroupDO group = groupService.getGroup(id);
  61 + ImGroupDO group = imGroupService.getGroup(id);
71 62 return success(BeanUtils.toBean(group, ImGroupRespVO.class));
72 63 }
73 64  
... ... @@ -75,7 +66,7 @@ public class ImGroupController {
75 66 @Operation(summary = "获得群分页")
76 67 @PreAuthorize("@ss.hasPermission('im:group:query')")
77 68 public CommonResult<PageResult<ImGroupRespVO>> getGroupPage(@Valid ImGroupPageReqVO pageReqVO) {
78   - PageResult<ImGroupDO> pageResult = groupService.getGroupPage(pageReqVO);
  69 + PageResult<ImGroupDO> pageResult = imGroupService.getGroupPage(pageReqVO);
79 70 return success(BeanUtils.toBean(pageResult, ImGroupRespVO.class));
80 71 }
81 72  
... ...
yudao-module-im/yudao-module-im-biz/src/main/java/cn/iocoder/yudao/module/im/controller/admin/groupmember/ImGroupMemberController.java
... ... @@ -10,7 +10,7 @@ import cn.iocoder.yudao.module.im.controller.admin.groupmember.vo.ImGroupMemberP
10 10 import cn.iocoder.yudao.module.im.controller.admin.groupmember.vo.ImGroupMemberRespVO;
11 11 import cn.iocoder.yudao.module.im.controller.admin.groupmember.vo.ImGroupMemberSaveReqVO;
12 12 import cn.iocoder.yudao.module.im.dal.dataobject.group.ImGroupMemberDO;
13   -import cn.iocoder.yudao.module.im.service.groupmember.GroupMemberService;
  13 +import cn.iocoder.yudao.module.im.service.groupmember.ImGroupMemberService;
14 14 import io.swagger.v3.oas.annotations.Operation;
15 15 import io.swagger.v3.oas.annotations.Parameter;
16 16 import io.swagger.v3.oas.annotations.tags.Tag;
... ... @@ -35,20 +35,20 @@ import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.E
35 35 public class ImGroupMemberController {
36 36  
37 37 @Resource
38   - private GroupMemberService groupMemberService;
  38 + private ImGroupMemberService imGroupMemberService;
39 39  
40 40 @PostMapping("/create")
41 41 @Operation(summary = "创建群成员")
42 42 @PreAuthorize("@ss.hasPermission('im:group-member:create')")
43 43 public CommonResult<Long> createGroupMember(@Valid @RequestBody ImGroupMemberSaveReqVO createReqVO) {
44   - return success(groupMemberService.createGroupMember(createReqVO));
  44 + return success(imGroupMemberService.createGroupMember(createReqVO));
45 45 }
46 46  
47 47 @PutMapping("/update")
48 48 @Operation(summary = "更新群成员")
49 49 @PreAuthorize("@ss.hasPermission('im:group-member:update')")
50 50 public CommonResult<Boolean> updateGroupMember(@Valid @RequestBody ImGroupMemberSaveReqVO updateReqVO) {
51   - groupMemberService.updateGroupMember(updateReqVO);
  51 + imGroupMemberService.updateGroupMember(updateReqVO);
52 52 return success(true);
53 53 }
54 54  
... ... @@ -57,7 +57,7 @@ public class ImGroupMemberController {
57 57 @Parameter(name = "id", description = "编号", required = true)
58 58 @PreAuthorize("@ss.hasPermission('im:group-member:delete')")
59 59 public CommonResult<Boolean> deleteGroupMember(@RequestParam("id") Long id) {
60   - groupMemberService.deleteGroupMember(id);
  60 + imGroupMemberService.deleteGroupMember(id);
61 61 return success(true);
62 62 }
63 63  
... ... @@ -66,7 +66,7 @@ public class ImGroupMemberController {
66 66 @Parameter(name = "id", description = "编号", required = true, example = "1024")
67 67 @PreAuthorize("@ss.hasPermission('im:group-member:query')")
68 68 public CommonResult<ImGroupMemberRespVO> getGroupMember(@RequestParam("id") Long id) {
69   - ImGroupMemberDO groupMember = groupMemberService.getGroupMember(id);
  69 + ImGroupMemberDO groupMember = imGroupMemberService.getGroupMember(id);
70 70 return success(BeanUtils.toBean(groupMember, ImGroupMemberRespVO.class));
71 71 }
72 72  
... ... @@ -74,7 +74,7 @@ public class ImGroupMemberController {
74 74 @Operation(summary = "获得群成员分页")
75 75 @PreAuthorize("@ss.hasPermission('im:group-member:query')")
76 76 public CommonResult<PageResult<ImGroupMemberRespVO>> getGroupMemberPage(@Valid ImGroupMemberPageReqVO pageReqVO) {
77   - PageResult<ImGroupMemberDO> pageResult = groupMemberService.getGroupMemberPage(pageReqVO);
  77 + PageResult<ImGroupMemberDO> pageResult = imGroupMemberService.getGroupMemberPage(pageReqVO);
78 78 return success(BeanUtils.toBean(pageResult, ImGroupMemberRespVO.class));
79 79 }
80 80  
... ... @@ -85,7 +85,7 @@ public class ImGroupMemberController {
85 85 public void exportGroupMemberExcel(@Valid ImGroupMemberPageReqVO pageReqVO,
86 86 HttpServletResponse response) throws IOException {
87 87 pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
88   - List<ImGroupMemberDO> list = groupMemberService.getGroupMemberPage(pageReqVO).getList();
  88 + List<ImGroupMemberDO> list = imGroupMemberService.getGroupMemberPage(pageReqVO).getList();
89 89 // 导出 Excel
90 90 ExcelUtils.write(response, "群成员.xls", "数据", ImGroupMemberRespVO.class,
91 91 BeanUtils.toBean(list, ImGroupMemberRespVO.class));
... ...
yudao-module-im/yudao-module-im-biz/src/main/java/cn/iocoder/yudao/module/im/controller/admin/message/ImMessageController.http 0 → 100644
  1 +### 请求 /send 接口 => 成功
  2 +POST {{baseUrl}}/im/message/send
  3 +Authorization: Bearer {{token}}
  4 +Content-Type: application/json
  5 +tenant-id: {{adminTenentId}}
  6 +
  7 +{
  8 + "clientMessageId": "123",
  9 + "receiverId": 1,
  10 + "conversationType": 1,
  11 + "contentType": 101,
  12 + "content": "你好1"
  13 +}
  14 +
  15 +### 请求 /pull 接口 => 成功
  16 +GET {{baseUrl}}/im/message/pull?sequence=0&size=2
  17 +Authorization: Bearer {{token}}
  18 +tenant-id: {{adminTenentId}}
0 19 \ No newline at end of file
... ...
yudao-module-im/yudao-module-im-biz/src/main/java/cn/iocoder/yudao/module/im/controller/admin/message/ImMessageController.java
... ... @@ -7,7 +7,7 @@ import cn.iocoder.yudao.module.im.controller.admin.message.vo.ImMessageRespVO;
7 7 import cn.iocoder.yudao.module.im.controller.admin.message.vo.ImMessageSendReqVO;
8 8 import cn.iocoder.yudao.module.im.controller.admin.message.vo.ImMessageSendRespVO;
9 9 import cn.iocoder.yudao.module.im.dal.dataobject.message.ImMessageDO;
10   -import cn.iocoder.yudao.module.im.service.message.MessageService;
  10 +import cn.iocoder.yudao.module.im.service.message.ImMessageService;
11 11 import io.swagger.v3.oas.annotations.Operation;
12 12 import io.swagger.v3.oas.annotations.Parameter;
13 13 import io.swagger.v3.oas.annotations.tags.Tag;
... ... @@ -28,12 +28,12 @@ import static cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUti
28 28 public class ImMessageController {
29 29  
30 30 @Resource
31   - private MessageService messageService;
  31 + private ImMessageService imMessageService;
32 32  
33 33 @PostMapping("/send")
34 34 @Operation(summary = "发送消息")
35 35 public CommonResult<ImMessageSendRespVO> sendMessage(@Valid @RequestBody ImMessageSendReqVO imMessageSendReqVO) {
36   - ImMessageDO message = messageService.sendMessage(getLoginUserId(), imMessageSendReqVO);
  36 + ImMessageDO message = imMessageService.sendMessage(getLoginUserId(), imMessageSendReqVO);
37 37 return success(BeanUtils.toBean(message, ImMessageSendRespVO.class));
38 38 }
39 39  
... ... @@ -43,14 +43,14 @@ public class ImMessageController {
43 43 @Parameter(name = "size", description = "条数", required = true, example = "10")
44 44 public CommonResult<List<ImMessageRespVO>> pullMessageList(@RequestParam("sequence") Long sequence,
45 45 @RequestParam("size") Integer size) {
46   - List<ImMessageDO> messages = messageService.pullMessageList(getLoginUserId(), sequence, size);
  46 + List<ImMessageDO> messages = imMessageService.pullMessageList(getLoginUserId(), sequence, size);
47 47 return success(BeanUtils.toBean(messages, ImMessageRespVO.class));
48 48 }
49 49  
50 50 @GetMapping("/list")
51 51 @Operation(summary = "消息列表-根据接收人和发送时间进行分页查询")
52 52 public CommonResult<List<ImMessageRespVO>> getMessageList(@Valid ImMessageListReqVO listReqVO) {
53   - List<ImMessageDO> messagePage = messageService.getMessageList(getLoginUserId(), listReqVO);
  53 + List<ImMessageDO> messagePage = imMessageService.getMessageList(getLoginUserId(), listReqVO);
54 54 return success(BeanUtils.toBean(messagePage, ImMessageRespVO.class));
55 55 }
56 56  
... ...
yudao-module-im/yudao-module-im-biz/src/main/java/cn/iocoder/yudao/module/im/dal/mysql/conversation/ConversationMapper.java renamed to yudao-module-im/yudao-module-im-biz/src/main/java/cn/iocoder/yudao/module/im/dal/mysql/conversation/ImConversationMapper.java
... ... @@ -10,7 +10,7 @@ import org.apache.ibatis.annotations.Mapper;
10 10 * @author 芋道源码
11 11 */
12 12 @Mapper
13   -public interface ConversationMapper extends BaseMapperX<ImConversationDO> {
  13 +public interface ImConversationMapper extends BaseMapperX<ImConversationDO> {
14 14  
15 15 default ImConversationDO selectByNo(String no){
16 16 return selectOne(ImConversationDO::getNo, no);
... ...
yudao-module-im/yudao-module-im-biz/src/main/java/cn/iocoder/yudao/module/im/dal/mysql/group/GroupMapper.java renamed to yudao-module-im/yudao-module-im-biz/src/main/java/cn/iocoder/yudao/module/im/dal/mysql/group/ImGroupMapper.java
... ... @@ -14,7 +14,7 @@ import cn.iocoder.yudao.module.im.controller.admin.group.vo.*;
14 14 * @author 芋道源码
15 15 */
16 16 @Mapper
17   -public interface GroupMapper extends BaseMapperX<ImGroupDO> {
  17 +public interface ImGroupMapper extends BaseMapperX<ImGroupDO> {
18 18  
19 19 default PageResult<ImGroupDO> selectPage(ImGroupPageReqVO reqVO) {
20 20 return selectPage(reqVO, new LambdaQueryWrapperX<ImGroupDO>()
... ...
yudao-module-im/yudao-module-im-biz/src/main/java/cn/iocoder/yudao/module/im/dal/mysql/groupmember/GroupMemberMapper.java renamed to yudao-module-im/yudao-module-im-biz/src/main/java/cn/iocoder/yudao/module/im/dal/mysql/groupmember/ImGroupMemberMapper.java
... ... @@ -15,7 +15,7 @@ import java.util.List;
15 15 * @author 芋道源码
16 16 */
17 17 @Mapper
18   -public interface GroupMemberMapper extends BaseMapperX<ImGroupMemberDO> {
  18 +public interface ImGroupMemberMapper extends BaseMapperX<ImGroupMemberDO> {
19 19  
20 20 default PageResult<ImGroupMemberDO> selectPage(ImGroupMemberPageReqVO reqVO) {
21 21 return selectPage(reqVO, new LambdaQueryWrapperX<ImGroupMemberDO>()
... ...
yudao-module-im/yudao-module-im-biz/src/main/java/cn/iocoder/yudao/module/im/dal/mysql/inbox/InboxMapper.java renamed to yudao-module-im/yudao-module-im-biz/src/main/java/cn/iocoder/yudao/module/im/dal/mysql/inbox/ImInboxMapper.java
... ... @@ -7,20 +7,19 @@ import org.apache.ibatis.annotations.Mapper;
7 7  
8 8 import java.util.List;
9 9  
10   -// TODO @hao:IM 前缀
11 10 /**
12 11 * IM 收件箱 Mapper
13 12 *
14 13 * @author 芋道源码
15 14 */
16 15 @Mapper
17   -public interface InboxMapper extends BaseMapperX<ImInboxDO> {
  16 +public interface ImInboxMapper extends BaseMapperX<ImInboxDO> {
18 17  
19 18 default List<ImInboxDO> selectListByUserIdAndSequence(Long userId, Long sequence, Integer size) {
20 19 return selectList(new LambdaQueryWrapperX<ImInboxDO>()
21   - .gt(ImInboxDO::getUserId, userId)
22   - .gt(ImInboxDO::getSequence, sequence)
23   - .orderByAsc(ImInboxDO::getSequence)
  20 + .eq(ImInboxDO::getUserId, userId)
  21 + .gt(sequence != null, ImInboxDO::getSequence, sequence)
  22 + .orderByDesc(ImInboxDO::getSequence)
24 23 .last("LIMIT " + size));
25 24 }
26 25  
... ...
yudao-module-im/yudao-module-im-biz/src/main/java/cn/iocoder/yudao/module/im/dal/mysql/message/MessageMapper.java renamed to yudao-module-im/yudao-module-im-biz/src/main/java/cn/iocoder/yudao/module/im/dal/mysql/message/ImMessageMapper.java
... ... @@ -14,7 +14,7 @@ import java.util.List;
14 14 * @author 芋道源码
15 15 */
16 16 @Mapper
17   -public interface MessageMapper extends BaseMapperX<ImMessageDO> {
  17 +public interface ImMessageMapper extends BaseMapperX<ImMessageDO> {
18 18  
19 19 default List<ImMessageDO> selectMessageList(ImMessageDO message) {
20 20 return selectList(new LambdaQueryWrapperX<ImMessageDO>()
... ...
yudao-module-im/yudao-module-im-biz/src/main/java/cn/iocoder/yudao/module/im/service/conversation/ConversationService.java renamed to yudao-module-im/yudao-module-im-biz/src/main/java/cn/iocoder/yudao/module/im/service/conversation/ImConversationService.java
... ... @@ -12,7 +12,7 @@ import java.util.List;
12 12 *
13 13 * @author 芋道源码
14 14 */
15   -public interface ConversationService {
  15 +public interface ImConversationService {
16 16  
17 17 /**
18 18 * 获得用户的会话列表
... ...
yudao-module-im/yudao-module-im-biz/src/main/java/cn/iocoder/yudao/module/im/service/conversation/ConversationServiceImpl.java renamed to yudao-module-im/yudao-module-im-biz/src/main/java/cn/iocoder/yudao/module/im/service/conversation/ImConversationServiceImpl.java
... ... @@ -3,7 +3,7 @@ package cn.iocoder.yudao.module.im.service.conversation;
3 3 import cn.iocoder.yudao.module.im.controller.admin.conversation.vo.ImConversationUpdateLastReadTimeReqVO;
4 4 import cn.iocoder.yudao.module.im.controller.admin.conversation.vo.ImConversationUpdatePinnedReqVO;
5 5 import cn.iocoder.yudao.module.im.dal.dataobject.conversation.ImConversationDO;
6   -import cn.iocoder.yudao.module.im.dal.mysql.conversation.ConversationMapper;
  6 +import cn.iocoder.yudao.module.im.dal.mysql.conversation.ImConversationMapper;
7 7 import cn.iocoder.yudao.module.im.enums.conversation.ImConversationTypeEnum;
8 8 import jakarta.annotation.Resource;
9 9 import org.springframework.stereotype.Service;
... ... @@ -19,14 +19,14 @@ import java.util.List;
19 19 */
20 20 @Service
21 21 @Validated
22   -public class ConversationServiceImpl implements ConversationService {
  22 +public class ImConversationServiceImpl implements ImConversationService {
23 23  
24 24 @Resource
25   - private ConversationMapper conversationMapper;
  25 + private ImConversationMapper imConversationMapper;
26 26  
27 27 @Override
28 28 public List<ImConversationDO> getConversationList() {
29   - return conversationMapper.selectList();
  29 + return imConversationMapper.selectList();
30 30 }
31 31  
32 32 @Override
... ... @@ -34,14 +34,14 @@ public class ConversationServiceImpl implements ConversationService {
34 34 // 1. 获得会话编号
35 35 String no = ImConversationTypeEnum.generateConversationNo(loginUserId, updateReqVO.getTargetId(), updateReqVO.getType());
36 36 // 2. 查询会话
37   - ImConversationDO conversation = conversationMapper.selectByNo(no);
  37 + ImConversationDO conversation = imConversationMapper.selectByNo(no);
38 38 if (conversation == null) {
39 39 // 2.1. 不存在,则插入
40 40 conversation = insertConversation(no, loginUserId, updateReqVO.getTargetId(), updateReqVO.getType());
41 41 }
42 42 // 3. 更新会话
43 43 conversation.setPinned(updateReqVO.getPinned());
44   - conversationMapper.updateById(conversation);
  44 + imConversationMapper.updateById(conversation);
45 45 // 4. 做对应更新的 notify 推送
46 46 }
47 47  
... ... @@ -51,7 +51,7 @@ public class ConversationServiceImpl implements ConversationService {
51 51 imConversationDO.setUserId(userId);
52 52 imConversationDO.setTargetId(targetId);
53 53 imConversationDO.setType(type);
54   - conversationMapper.insert(imConversationDO);
  54 + imConversationMapper.insert(imConversationDO);
55 55 return imConversationDO;
56 56 }
57 57  
... ... @@ -60,14 +60,14 @@ public class ConversationServiceImpl implements ConversationService {
60 60 // 1. 获得会话编号
61 61 String no = ImConversationTypeEnum.generateConversationNo(loginUserId, updateReqVO.getTargetId(), updateReqVO.getType());
62 62 // 2. 查询会话
63   - ImConversationDO conversation = conversationMapper.selectByNo(no);
  63 + ImConversationDO conversation = imConversationMapper.selectByNo(no);
64 64 if (conversation == null) {
65 65 // 2.1. 不存在,则插入
66 66 conversation = insertConversation(no, loginUserId, updateReqVO.getTargetId(), updateReqVO.getType());
67 67 }
68 68 // 3. 更新会话
69 69 conversation.setLastReadTime(updateReqVO.getLastReadTime());
70   - conversationMapper.updateById(conversation);
  70 + imConversationMapper.updateById(conversation);
71 71 // 4. 做对应更新的 notify 推送
72 72 }
73 73  
... ...
yudao-module-im/yudao-module-im-biz/src/main/java/cn/iocoder/yudao/module/im/service/group/GroupService.java renamed to yudao-module-im/yudao-module-im-biz/src/main/java/cn/iocoder/yudao/module/im/service/group/ImGroupService.java
... ... @@ -11,7 +11,7 @@ import cn.iocoder.yudao.framework.common.pojo.PageResult;
11 11 *
12 12 * @author 芋道源码
13 13 */
14   -public interface GroupService {
  14 +public interface ImGroupService {
15 15  
16 16 /**
17 17 * 创建群
... ...
yudao-module-im/yudao-module-im-biz/src/main/java/cn/iocoder/yudao/module/im/service/group/GroupServiceImpl.java renamed to yudao-module-im/yudao-module-im-biz/src/main/java/cn/iocoder/yudao/module/im/service/group/ImGroupServiceImpl.java
... ... @@ -9,7 +9,7 @@ import cn.iocoder.yudao.module.im.dal.dataobject.group.ImGroupDO;
9 9 import cn.iocoder.yudao.framework.common.pojo.PageResult;
10 10 import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
11 11  
12   -import cn.iocoder.yudao.module.im.dal.mysql.group.GroupMapper;
  12 +import cn.iocoder.yudao.module.im.dal.mysql.group.ImGroupMapper;
13 13  
14 14 import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
15 15 import static cn.iocoder.yudao.module.im.enums.ErrorCodeConstants.*;
... ... @@ -22,16 +22,16 @@ import static cn.iocoder.yudao.module.im.enums.ErrorCodeConstants.*;
22 22 */
23 23 @Service
24 24 @Validated
25   -public class GroupServiceImpl implements GroupService {
  25 +public class ImGroupServiceImpl implements ImGroupService {
26 26  
27 27 @Resource
28   - private GroupMapper groupMapper;
  28 + private ImGroupMapper imGroupMapper;
29 29  
30 30 @Override
31 31 public Long createGroup(ImGroupSaveReqVO createReqVO) {
32 32 // 插入
33 33 ImGroupDO group = BeanUtils.toBean(createReqVO, ImGroupDO.class);
34   - groupMapper.insert(group);
  34 + imGroupMapper.insert(group);
35 35 // 返回
36 36 return group.getId();
37 37 }
... ... @@ -42,7 +42,7 @@ public class GroupServiceImpl implements GroupService {
42 42 validateGroupExists(updateReqVO.getId());
43 43 // 更新
44 44 ImGroupDO updateObj = BeanUtils.toBean(updateReqVO, ImGroupDO.class);
45   - groupMapper.updateById(updateObj);
  45 + imGroupMapper.updateById(updateObj);
46 46 }
47 47  
48 48 @Override
... ... @@ -50,23 +50,23 @@ public class GroupServiceImpl implements GroupService {
50 50 // 校验存在
51 51 validateGroupExists(id);
52 52 // 删除
53   - groupMapper.deleteById(id);
  53 + imGroupMapper.deleteById(id);
54 54 }
55 55  
56 56 private void validateGroupExists(Long id) {
57   - if (groupMapper.selectById(id) == null) {
  57 + if (imGroupMapper.selectById(id) == null) {
58 58 throw exception(GROUP_NOT_EXISTS);
59 59 }
60 60 }
61 61  
62 62 @Override
63 63 public ImGroupDO getGroup(Long id) {
64   - return groupMapper.selectById(id);
  64 + return imGroupMapper.selectById(id);
65 65 }
66 66  
67 67 @Override
68 68 public PageResult<ImGroupDO> getGroupPage(ImGroupPageReqVO pageReqVO) {
69   - return groupMapper.selectPage(pageReqVO);
  69 + return imGroupMapper.selectPage(pageReqVO);
70 70 }
71 71  
72 72 }
73 73 \ No newline at end of file
... ...
yudao-module-im/yudao-module-im-biz/src/main/java/cn/iocoder/yudao/module/im/service/groupmember/GroupMemberService.java renamed to yudao-module-im/yudao-module-im-biz/src/main/java/cn/iocoder/yudao/module/im/service/groupmember/ImGroupMemberService.java
... ... @@ -13,7 +13,7 @@ import java.util.List;
13 13 *
14 14 * @author 芋道源码
15 15 */
16   -public interface GroupMemberService {
  16 +public interface ImGroupMemberService {
17 17  
18 18 /**
19 19 * 创建群成员
... ...
yudao-module-im/yudao-module-im-biz/src/main/java/cn/iocoder/yudao/module/im/service/groupmember/GroupMemberServiceImpl.java renamed to yudao-module-im/yudao-module-im-biz/src/main/java/cn/iocoder/yudao/module/im/service/groupmember/ImGroupMemberServiceImpl.java
... ... @@ -9,7 +9,7 @@ import cn.iocoder.yudao.module.im.dal.dataobject.group.ImGroupMemberDO;
9 9 import cn.iocoder.yudao.framework.common.pojo.PageResult;
10 10 import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
11 11  
12   -import cn.iocoder.yudao.module.im.dal.mysql.groupmember.GroupMemberMapper;
  12 +import cn.iocoder.yudao.module.im.dal.mysql.groupmember.ImGroupMemberMapper;
13 13  
14 14 import java.util.List;
15 15  
... ... @@ -23,16 +23,16 @@ import static cn.iocoder.yudao.module.im.enums.ErrorCodeConstants.*;
23 23 */
24 24 @Service
25 25 @Validated
26   -public class GroupMemberServiceImpl implements GroupMemberService {
  26 +public class ImGroupMemberServiceImpl implements ImGroupMemberService {
27 27  
28 28 @Resource
29   - private GroupMemberMapper groupMemberMapper;
  29 + private ImGroupMemberMapper imGroupMemberMapper;
30 30  
31 31 @Override
32 32 public Long createGroupMember(ImGroupMemberSaveReqVO createReqVO) {
33 33 // 插入
34 34 ImGroupMemberDO groupMember = BeanUtils.toBean(createReqVO, ImGroupMemberDO.class);
35   - groupMemberMapper.insert(groupMember);
  35 + imGroupMemberMapper.insert(groupMember);
36 36 // 返回
37 37 return groupMember.getId();
38 38 }
... ... @@ -43,7 +43,7 @@ public class GroupMemberServiceImpl implements GroupMemberService {
43 43 validateGroupMemberExists(updateReqVO.getId());
44 44 // 更新
45 45 ImGroupMemberDO updateObj = BeanUtils.toBean(updateReqVO, ImGroupMemberDO.class);
46   - groupMemberMapper.updateById(updateObj);
  46 + imGroupMemberMapper.updateById(updateObj);
47 47 }
48 48  
49 49 @Override
... ... @@ -51,28 +51,28 @@ public class GroupMemberServiceImpl implements GroupMemberService {
51 51 // 校验存在
52 52 validateGroupMemberExists(id);
53 53 // 删除
54   - groupMemberMapper.deleteById(id);
  54 + imGroupMemberMapper.deleteById(id);
55 55 }
56 56  
57 57 private void validateGroupMemberExists(Long id) {
58   - if (groupMemberMapper.selectById(id) == null) {
  58 + if (imGroupMemberMapper.selectById(id) == null) {
59 59 throw exception(GROUP_MEMBER_NOT_EXISTS);
60 60 }
61 61 }
62 62  
63 63 @Override
64 64 public ImGroupMemberDO getGroupMember(Long id) {
65   - return groupMemberMapper.selectById(id);
  65 + return imGroupMemberMapper.selectById(id);
66 66 }
67 67  
68 68 @Override
69 69 public PageResult<ImGroupMemberDO> getGroupMemberPage(ImGroupMemberPageReqVO pageReqVO) {
70   - return groupMemberMapper.selectPage(pageReqVO);
  70 + return imGroupMemberMapper.selectPage(pageReqVO);
71 71 }
72 72  
73 73 @Override
74 74 public List<ImGroupMemberDO> selectByGroupId(Long groupId) {
75   - return groupMemberMapper.selectListByGroupId(groupId);
  75 + return imGroupMemberMapper.selectListByGroupId(groupId);
76 76 }
77 77  
78 78 }
79 79 \ No newline at end of file
... ...
yudao-module-im/yudao-module-im-biz/src/main/java/cn/iocoder/yudao/module/im/service/inbox/InboxService.java renamed to yudao-module-im/yudao-module-im-biz/src/main/java/cn/iocoder/yudao/module/im/service/inbox/ImInboxService.java
... ... @@ -10,7 +10,7 @@ import java.util.List;
10 10 *
11 11 * @author 芋道源码
12 12 */
13   -public interface InboxService {
  13 +public interface ImInboxService {
14 14  
15 15 /**
16 16 * 保存收件箱和发送消息
... ...
yudao-module-im/yudao-module-im-biz/src/main/java/cn/iocoder/yudao/module/im/service/inbox/InboxServiceImpl.java renamed to yudao-module-im/yudao-module-im-biz/src/main/java/cn/iocoder/yudao/module/im/service/inbox/ImInboxServiceImpl.java
... ... @@ -6,11 +6,11 @@ import cn.iocoder.yudao.module.im.controller.admin.message.vo.ImMessageRespVO;
6 6 import cn.iocoder.yudao.module.im.dal.dataobject.group.ImGroupMemberDO;
7 7 import cn.iocoder.yudao.module.im.dal.dataobject.inbox.ImInboxDO;
8 8 import cn.iocoder.yudao.module.im.dal.dataobject.message.ImMessageDO;
9   -import cn.iocoder.yudao.module.im.dal.mysql.inbox.InboxMapper;
  9 +import cn.iocoder.yudao.module.im.dal.mysql.inbox.ImInboxMapper;
10 10 import cn.iocoder.yudao.module.im.dal.redis.inbox.InboxLockRedisDAO;
11 11 import cn.iocoder.yudao.module.im.dal.redis.inbox.SequenceRedisDAO;
12 12 import cn.iocoder.yudao.module.im.enums.conversation.ImConversationTypeEnum;
13   -import cn.iocoder.yudao.module.im.service.groupmember.GroupMemberService;
  13 +import cn.iocoder.yudao.module.im.service.groupmember.ImGroupMemberService;
14 14 import cn.iocoder.yudao.module.infra.api.websocket.WebSocketSenderApi;
15 15 import jakarta.annotation.Resource;
16 16 import org.dromara.hutool.core.date.DateUnit;
... ... @@ -27,13 +27,13 @@ import java.util.List;
27 27 */
28 28 @Service
29 29 @Validated
30   -public class InboxServiceImpl implements InboxService {
  30 +public class ImInboxServiceImpl implements ImInboxService {
31 31  
32 32 private static final Long INBOX_LOCK_TIMEOUT = 120 * DateUnit.SECOND.getMillis();
33 33 private static final String IM_MESSAGE_RECEIVE = "im-message-receive";
34 34  
35 35 @Resource
36   - private InboxMapper inboxMapper;
  36 + private ImInboxMapper imInboxMapper;
37 37  
38 38 @Resource
39 39 private SequenceRedisDAO sequenceRedisDAO;
... ... @@ -43,7 +43,7 @@ public class InboxServiceImpl implements InboxService {
43 43 @Resource
44 44 private WebSocketSenderApi webSocketSenderApi;
45 45 @Resource
46   - private GroupMemberService groupMemberService;
  46 + private ImGroupMemberService imGroupMemberService;
47 47  
48 48 @Override
49 49 public void saveInboxAndSendMessage(ImMessageDO message) {
... ... @@ -55,14 +55,14 @@ public class InboxServiceImpl implements InboxService {
55 55 saveInboxAndSendMessageForUser(message.getReceiverId(), message);
56 56 } else if (message.getConversationType().equals(ImConversationTypeEnum.GROUP.getType())) {
57 57 // 2.2 如果是群聊,发送给群聊的所有人
58   - List<ImGroupMemberDO> groupMembers = groupMemberService.selectByGroupId(message.getReceiverId());
  58 + List<ImGroupMemberDO> groupMembers = imGroupMemberService.selectByGroupId(message.getReceiverId());
59 59 groupMembers.forEach(groupMemberDO -> saveInboxAndSendMessageForUser(groupMemberDO.getUserId(), message));
60 60 }
61 61 }
62 62  
63 63 @Override
64 64 public List<Long> selectMessageIdsByUserIdAndSequence(Long userId, Long sequence, Integer size) {
65   - List<ImInboxDO> imInboxDOS = inboxMapper.selectListByUserIdAndSequence(userId, sequence, size);
  65 + List<ImInboxDO> imInboxDOS = imInboxMapper.selectListByUserIdAndSequence(userId, sequence, size);
66 66 return imInboxDOS.stream().map(ImInboxDO::getMessageId).toList();
67 67 }
68 68  
... ... @@ -77,7 +77,7 @@ public class InboxServiceImpl implements InboxService {
77 77 .setUserId(userId)
78 78 .setMessageId(message.getId())
79 79 .setSequence(userSequence);
80   - inboxMapper.insert(inbox);
  80 + imInboxMapper.insert(inbox);
81 81 // 3. 发送消息
82 82 sendAsyncMessage(userId, message, userSequence);
83 83 });
... ...
yudao-module-im/yudao-module-im-biz/src/main/java/cn/iocoder/yudao/module/im/service/message/MessageService.java renamed to yudao-module-im/yudao-module-im-biz/src/main/java/cn/iocoder/yudao/module/im/service/message/ImMessageService.java
... ... @@ -12,7 +12,7 @@ import java.util.List;
12 12 *
13 13 * @author 芋道源码
14 14 */
15   -public interface MessageService {
  15 +public interface ImMessageService {
16 16  
17 17 /**
18 18 * 获得历史消息
... ...
yudao-module-im/yudao-module-im-biz/src/main/java/cn/iocoder/yudao/module/im/service/message/MessageServiceImpl.java renamed to yudao-module-im/yudao-module-im-biz/src/main/java/cn/iocoder/yudao/module/im/service/message/ImMessageServiceImpl.java
... ... @@ -5,12 +5,12 @@ import cn.iocoder.yudao.module.im.controller.admin.message.vo.ImMessageListReqVO
5 5 import cn.iocoder.yudao.module.im.controller.admin.message.vo.ImMessageSendReqVO;
6 6 import cn.iocoder.yudao.module.im.dal.dataobject.group.ImGroupMemberDO;
7 7 import cn.iocoder.yudao.module.im.dal.dataobject.message.ImMessageDO;
8   -import cn.iocoder.yudao.module.im.dal.mysql.message.MessageMapper;
  8 +import cn.iocoder.yudao.module.im.dal.mysql.message.ImMessageMapper;
9 9 import cn.iocoder.yudao.module.im.enums.conversation.ImConversationTypeEnum;
10 10 import cn.iocoder.yudao.module.im.enums.message.ImMessageSourceEnum;
11 11 import cn.iocoder.yudao.module.im.enums.message.ImMessageStatusEnum;
12   -import cn.iocoder.yudao.module.im.service.groupmember.GroupMemberService;
13   -import cn.iocoder.yudao.module.im.service.inbox.InboxService;
  12 +import cn.iocoder.yudao.module.im.service.groupmember.ImGroupMemberService;
  13 +import cn.iocoder.yudao.module.im.service.inbox.ImInboxService;
14 14 import cn.iocoder.yudao.module.system.api.user.AdminUserApi;
15 15 import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO;
16 16 import jakarta.annotation.Resource;
... ... @@ -33,16 +33,16 @@ import static cn.iocoder.yudao.module.im.enums.ErrorCodeConstants.MESSAGE_RECEIV
33 33 @Service
34 34 @Validated
35 35 @Slf4j
36   -public class MessageServiceImpl implements MessageService {
  36 +public class ImMessageServiceImpl implements ImMessageService {
37 37  
38 38 @Resource
39   - private MessageMapper messageMapper;
  39 + private ImMessageMapper imMessageMapper;
40 40 @Resource
41 41 private AdminUserApi adminUserApi;
42 42 @Resource
43   - private InboxService inboxService;
  43 + private ImInboxService imInboxService;
44 44 @Resource
45   - private GroupMemberService groupMemberService;
  45 + private ImGroupMemberService imGroupMemberService;
46 46  
47 47 @Override
48 48 public List<ImMessageDO> getMessageList(Long loginUserId, ImMessageListReqVO listReqVO) {
... ... @@ -52,13 +52,13 @@ public class MessageServiceImpl implements MessageService {
52 52 ImMessageDO message = new ImMessageDO()
53 53 .setSendTime(listReqVO.getSendTime())
54 54 .setConversationNo(no);
55   - return messageMapper.selectMessageList(message);
  55 + return imMessageMapper.selectMessageList(message);
56 56 }
57 57  
58 58 @Override
59 59 public List<ImMessageDO> pullMessageList(Long userId, Long sequence, Integer size) {
60   - List<Long> messageIds = inboxService.selectMessageIdsByUserIdAndSequence(userId, sequence, size);
61   - return messageMapper.selectBatchIds(messageIds);
  60 + List<Long> messageIds = imInboxService.selectMessageIdsByUserIdAndSequence(userId, sequence, size);
  61 + return imMessageMapper.selectBatchIds(messageIds);
62 62 }
63 63  
64 64 @Override
... ... @@ -66,7 +66,7 @@ public class MessageServiceImpl implements MessageService {
66 66 // 1. 保存消息
67 67 ImMessageDO message = saveMessage(fromUserId, imMessageSendReqVO);
68 68 // 2. 保存到收件箱,并发送消息
69   - inboxService.saveInboxAndSendMessage(message);
  69 + imInboxService.saveInboxAndSendMessage(message);
70 70 return message;
71 71 }
72 72  
... ... @@ -83,7 +83,7 @@ public class MessageServiceImpl implements MessageService {
83 83 .setSendFrom(ImMessageSourceEnum.USER_SEND.getSource())
84 84 .setMessageStatus(ImMessageStatusEnum.SENDING.getStatus())
85 85 .setSendTime(TimeUtil.now());
86   - messageMapper.insert(imMessageDO);
  86 + imMessageMapper.insert(imMessageDO);
87 87 return imMessageDO;
88 88 }
89 89  
... ... @@ -96,7 +96,7 @@ public class MessageServiceImpl implements MessageService {
96 96 }
97 97 } else if (message.getConversationType().equals(ImConversationTypeEnum.GROUP.getType())) {
98 98 // 校验群聊是否存在
99   - List<ImGroupMemberDO> imGroupMemberDOS = groupMemberService.selectByGroupId(message.getReceiverId());
  99 + List<ImGroupMemberDO> imGroupMemberDOS = imGroupMemberService.selectByGroupId(message.getReceiverId());
100 100 if (imGroupMemberDOS.isEmpty()) {
101 101 throw exception(MESSAGE_RECEIVER_NOT_EXISTS);
102 102 }
... ...