diff --git a/im-center-server/src/main/java/cn/axzo/im/dao/repository/GroupDao.java b/im-center-server/src/main/java/cn/axzo/im/dao/repository/GroupDao.java index a795556..81044c6 100644 --- a/im-center-server/src/main/java/cn/axzo/im/dao/repository/GroupDao.java +++ b/im-center-server/src/main/java/cn/axzo/im/dao/repository/GroupDao.java @@ -50,6 +50,7 @@ public class GroupDao extends ServiceImpl { return lambdaQuery() .eq(Group::getBizCode, bizCode) .eq(Group::getType, groupType) + .ne(Group::getIsDismissed, YesOrNo.NO) .last(forUpdate, "FOR UPDATE") .oneOpt(); } diff --git a/im-center-server/src/main/java/cn/axzo/im/group/GroupManager.java b/im-center-server/src/main/java/cn/axzo/im/group/GroupManager.java index 740ad92..0b48def 100644 --- a/im-center-server/src/main/java/cn/axzo/im/group/GroupManager.java +++ b/im-center-server/src/main/java/cn/axzo/im/group/GroupManager.java @@ -66,10 +66,10 @@ public class GroupManager { // DON'T delete this line accountService.maybeCreateImAccounts(request.getPeople()); return transactionTemplate.execute(unused -> { - Group savedGroup = groupDao.findByBizCode(request.getBizCode(), request.getGroupType(), true) + Group savedGroup = groupDao + .findByBizCode(request.getBizCode(), request.getGroupType(), true) .orElse(null); - BizAssertions.assertTrue(savedGroup == null || savedGroup.isDismissed(), - String.format("群已经存在: %s", request.getName())); + BizAssertions.assertTrue(savedGroup == null, String.format("群已经存在: %s", request.getName())); ImAccounts imAccounts = accountService.getAccountsByPersons(request.getPeople()); String owner = imAccounts.findAccount(request.getOwner()).orElse(null); BizAssertions.assertNotNull(owner, "群主没有IM账号, 无法创建群. {}", request.getOwner());