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(