From 7eff5facf450f91d73a839a03c4fc5350dad91c2 Mon Sep 17 00:00:00 2001 From: tianfeng <769204422@qq.com> Date: Wed, 15 Oct 2025 11:24:57 +0800 Subject: [PATCH] =?UTF-8?q?bd=20=E9=82=80=E8=AF=B7=E4=BB=A3=E7=90=86?= =?UTF-8?q?=E5=8A=9F=E8=83=BD=E5=AE=8C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../app/team/TeamBdRestController.java | 23 +++++++++++---- .../app/command/team/BdAgentInviteExe.java | 12 ++++++++ .../team/query/BdInviteMessageQryExe.java | 28 +++++++++++++++++++ .../app/service/team/TeamBdServiceImpl.java | 10 +++++++ .../other/app/service/team/TeamBdService.java | 11 ++++++++ .../team/bd/BdInviteAgentMessageService.java | 11 ++++++++ .../impl/BdInviteAgentMessageServiceImpl.java | 15 ++++++++++ 7 files changed, 105 insertions(+), 5 deletions(-) diff --git a/rc-service/rc-service-other/other-adapter/src/main/java/com/red/circle/other/adapter/app/team/TeamBdRestController.java b/rc-service/rc-service-other/other-adapter/src/main/java/com/red/circle/other/adapter/app/team/TeamBdRestController.java index 83319bb9..a974aaca 100644 --- a/rc-service/rc-service-other/other-adapter/src/main/java/com/red/circle/other/adapter/app/team/TeamBdRestController.java +++ b/rc-service/rc-service-other/other-adapter/src/main/java/com/red/circle/other/adapter/app/team/TeamBdRestController.java @@ -20,11 +20,7 @@ import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.http.MediaType; import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; /** *

@@ -184,6 +180,14 @@ public class TeamBdRestController extends BaseController { teamBdService.inviteAgent(cmd); } + /** + * bd 邀请代理-撤销 + */ + @PostMapping("/invite-agent-cancel/{id}") + public void inviteAgentCancel(@PathVariable("id") String id) { + teamBdService.inviteAgentCancel(id); + } + /** * 获取被Bd邀请消息-邀请代理. * @@ -198,6 +202,15 @@ public class TeamBdRestController extends BaseController { return teamBdService.listBdInviteMessage(cmd); } + /** + * 获取邀请消息记录-邀请代理. + */ + @GetMapping("/invite-message-own") + public List listBdInviteMessageOwn(BdInviteQryCmd cmd) { + cmd.setGroup(MessageInviteGroup.BD_INVITE_TEAM.name()); + return teamBdService.listBdInviteMessageOwn(cmd); + } + /** * 处理邀请-邀请代理. * diff --git a/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/command/team/BdAgentInviteExe.java b/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/command/team/BdAgentInviteExe.java index 42a9b12b..10756d76 100644 --- a/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/command/team/BdAgentInviteExe.java +++ b/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/command/team/BdAgentInviteExe.java @@ -103,6 +103,18 @@ public class BdAgentInviteExe { sendMessage(cmd); } + public void cancel(String id) { + BdInviteAgentMessage agentMessage = bdInviteAgentMessageService.getById(id); + if (agentMessage == null) { + throw new RuntimeException("message not found"); + } + if (agentMessage.getStatus() != 0) { + throw new RuntimeException("This message cannot be canceled "); + } + + bdInviteAgentMessageService.remove(id); + } + private void checkInvite(DbInviteAgentCmd cmd) { // 验证BD区域(如BD是代理则按照代理的区域来否则用BD本身指定的区域)与被邀请人区域是不是一致, diff --git a/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/command/team/query/BdInviteMessageQryExe.java b/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/command/team/query/BdInviteMessageQryExe.java index a2c8460b..1890230f 100644 --- a/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/command/team/query/BdInviteMessageQryExe.java +++ b/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/command/team/query/BdInviteMessageQryExe.java @@ -56,4 +56,32 @@ public class BdInviteMessageQryExe { ).collect(Collectors.toList()); } + public List inviteMessageOwn(BdInviteQryCmd cmd) { + List messages = bdInviteAgentMessageService.listInviteMessageOwn(cmd.requiredReqUserId(), cmd.getGroup(), 50); + if (CollectionUtils.isEmpty(messages)) { + return CollectionUtils.newArrayList(); + } + + Map userProfileMap = userProfileAppConvertor.toMapUserProfileDTO( + userProfileGateway.mapByUserIds( + messages.stream().map(BdInviteAgentMessage::getUserId).collect(Collectors.toSet()) + ) + ); + return messages.stream().map(msg -> new BdInviteMessageCO() + .setId(msg.getId()) + .setUserProfile(Optional.ofNullable(userProfileMap.get(msg.getUserId())) + .map(userProfile -> { + userProfile.setAccount(userProfile.actualAccount()); + return userProfile; + }) + .orElse(null)) + .setMessage(msg.getMessage()) + .setStatus(msg.getStatus()) + .setGroup(msg.getGroup()) + .setCreateTime(msg.getCreateTime()) + .setExpiredTime(msg.getExpiredTime()) + ).collect(Collectors.toList()); + } + + } diff --git a/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/service/team/TeamBdServiceImpl.java b/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/service/team/TeamBdServiceImpl.java index 346a1604..956ac7ad 100644 --- a/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/service/team/TeamBdServiceImpl.java +++ b/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/service/team/TeamBdServiceImpl.java @@ -85,6 +85,11 @@ public class TeamBdServiceImpl implements TeamBdService { return bdInviteMessageQryExe.execute(cmd); } + @Override + public List listBdInviteMessageOwn(BdInviteQryCmd cmd) { + return bdInviteMessageQryExe.inviteMessageOwn(cmd); + } + @Override public void inviteBd(DbLeaderInviteBdCmd cmd) { bdLeaderInviteBdCmdExe.execute(cmd); @@ -100,6 +105,11 @@ public class TeamBdServiceImpl implements TeamBdService { bdAgentInviteCmdExe.execute(cmd); } + @Override + public void inviteAgentCancel(String id) { + bdAgentInviteCmdExe.cancel(id); + } + @Override public void processBdInviteMessage(DbInviteMessageProcessCmd cmd) { bdInviteMessageProcessCmdExe.execute(cmd); diff --git a/rc-service/rc-service-other/other-client/src/main/java/com/red/circle/other/app/service/team/TeamBdService.java b/rc-service/rc-service-other/other-client/src/main/java/com/red/circle/other/app/service/team/TeamBdService.java index 1958fb22..57d36d75 100644 --- a/rc-service/rc-service-other/other-client/src/main/java/com/red/circle/other/app/service/team/TeamBdService.java +++ b/rc-service/rc-service-other/other-client/src/main/java/com/red/circle/other/app/service/team/TeamBdService.java @@ -61,6 +61,11 @@ public interface TeamBdService { */ List listBdInviteMessage(BdInviteQryCmd cmd); + /** + * 邀请消息列表-bd邀请信息. + */ + List listBdInviteMessageOwn(BdInviteQryCmd cmd); + /** * 邀请成为BD-邀请BD. */ @@ -85,4 +90,10 @@ public interface TeamBdService { * bd列表 */ PageResult bdPage(BdTeamPageQryCmd qryCmd); + + /** + * 撤销邀请 + * @param id + */ + void inviteAgentCancel(String id); } diff --git a/rc-service/rc-service-other/other-infrastructure/src/main/java/com/red/circle/other/infra/database/mongo/service/team/bd/BdInviteAgentMessageService.java b/rc-service/rc-service-other/other-infrastructure/src/main/java/com/red/circle/other/infra/database/mongo/service/team/bd/BdInviteAgentMessageService.java index fb49e3e2..abf37f4d 100644 --- a/rc-service/rc-service-other/other-infrastructure/src/main/java/com/red/circle/other/infra/database/mongo/service/team/bd/BdInviteAgentMessageService.java +++ b/rc-service/rc-service-other/other-infrastructure/src/main/java/com/red/circle/other/infra/database/mongo/service/team/bd/BdInviteAgentMessageService.java @@ -20,6 +20,17 @@ public interface BdInviteAgentMessageService { */ List listInviteMessage(Long inviteUserId, String group, Integer size); + /** + * 撤销邀请 + * @param messageId + */ + void remove(String messageId); + + /** + * 获取发起邀请的信息. + */ + List listInviteMessageOwn(Long userId, String group, Integer size); + /** * 是否存在等待消息. */ diff --git a/rc-service/rc-service-other/other-infrastructure/src/main/java/com/red/circle/other/infra/database/mongo/service/team/bd/impl/BdInviteAgentMessageServiceImpl.java b/rc-service/rc-service-other/other-infrastructure/src/main/java/com/red/circle/other/infra/database/mongo/service/team/bd/impl/BdInviteAgentMessageServiceImpl.java index d252a506..7829b232 100644 --- a/rc-service/rc-service-other/other-infrastructure/src/main/java/com/red/circle/other/infra/database/mongo/service/team/bd/impl/BdInviteAgentMessageServiceImpl.java +++ b/rc-service/rc-service-other/other-infrastructure/src/main/java/com/red/circle/other/infra/database/mongo/service/team/bd/impl/BdInviteAgentMessageServiceImpl.java @@ -38,6 +38,21 @@ public class BdInviteAgentMessageServiceImpl implements BdInviteAgentMessageServ BdInviteAgentMessage.class); } + @Override + public List listInviteMessageOwn(Long userId, String group, + Integer size) { + return mongoTemplate.find( + Query.query(Criteria.where("userId").is(userId).and("group").is(group)) + .with(Sort.by(Sort.Order.desc("createTime"))) + .limit(size), + BdInviteAgentMessage.class); + } + + @Override + public void remove(String messageId) { + mongoTemplate.remove(Query.query(Criteria.where("id").is(messageId)), BdInviteAgentMessage.class); + } + @Override public boolean existsWaitMessage(Long userId, Long inviteUserId, String group) { return mongoTemplate.exists(