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