REQ-3345: 解决查询不到账号的问题

This commit is contained in:
yanglin 2025-02-18 16:35:00 +08:00
parent 72a8ee121e
commit 86a2e2fdbe

View File

@ -63,14 +63,16 @@ public class GroupManager {
public GroupCreateResponse createGroup(GroupCreateRequest request) { public GroupCreateResponse createGroup(GroupCreateRequest request) {
BizAssertions.assertTrue(request.getPeople().size() > 1, "群成员数量(含群主)不能少于2"); BizAssertions.assertTrue(request.getPeople().size() > 1, "群成员数量(含群主)不能少于2");
groupSupport.log(0L, "create-group:preparing", request); groupSupport.log(0L, "create-group:preparing", request);
Group savedGroup = groupDao.findByBizCode(request.getBizCode(), request.getGroupType(), true) // DON'T delete this line
.orElse(null); accountService.getOrCreateImAccounts(request.getPeople());
BizAssertions.assertTrue(savedGroup == null || savedGroup.isDismissed(),
String.format("群已经存在: %s", request.getName()));
ImAccounts imAccounts = accountService.getOrCreateImAccounts(request.getPeople());
String owner = imAccounts.findAccount(request.getOwner()).orElse(null);
BizAssertions.assertNotNull(owner, "群主没有IM账号, 无法创建群. {}", request.getOwner());
return transactionTemplate.execute(unused -> { return transactionTemplate.execute(unused -> {
Group savedGroup = groupDao.findByBizCode(request.getBizCode(), request.getGroupType(), true)
.orElse(null);
BizAssertions.assertTrue(savedGroup == null || savedGroup.isDismissed(),
String.format("群已经存在: %s", request.getName()));
ImAccounts imAccounts = accountService.getOrCreateImAccounts(request.getPeople());
String owner = imAccounts.findAccount(request.getOwner()).orElse(null);
BizAssertions.assertNotNull(owner, "群主没有IM账号, 无法创建群. {}", request.getOwner());
Group group = groupSupport.buildNewGroup(request, imAccounts); Group group = groupSupport.buildNewGroup(request, imAccounts);
BizAssertions.assertTrue(group.addMoreMembers( BizAssertions.assertTrue(group.addMoreMembers(
request.getPeople().size()), "无法创建群, 群成员数量超过上限" + group.getMemberLimit()); request.getPeople().size()), "无法创建群, 群成员数量超过上限" + group.getMemberLimit());
@ -120,8 +122,8 @@ public class GroupManager {
accountService.getOrCreateImAccounts(request.getMembers()); accountService.getOrCreateImAccounts(request.getMembers());
return transactionTemplate.execute(unused -> { return transactionTemplate.execute(unused -> {
Group group = getGroupForUpdateOrThrow(request.getTid()); Group group = getGroupForUpdateOrThrow(request.getTid());
BizAssertions.assertFalse(group.isDismissed(), "群已经解散");
groupSupport.log(group.getTid(), "add-members", request); groupSupport.log(group.getTid(), "add-members", request);
BizAssertions.assertFalse(group.isDismissed(), "群已经解散");
// sync members 1 // sync members 1
groupMemberSyncer.syncMembers(group); groupMemberSyncer.syncMembers(group);
// prepare add members // prepare add members