Browse Source

1.退群操作改成事务同步

yuanliang 1 year ago
parent
commit
3f2931ba85

+ 1 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/ImGroupServiceImpl.java

@@ -280,6 +280,7 @@ public class ImGroupServiceImpl extends ServiceImpl<ImGroupDao, ImGroup> impleme
                 .one();
     }
 
+    @Transactional(rollbackFor = Exception.class)
     @Override
     public void quit(String groupId, Long userId, ClientEnum clientType) throws Exception {
 

+ 6 - 4
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/StudentServiceImpl.java

@@ -528,13 +528,14 @@ public class StudentServiceImpl extends ServiceImpl<StudentDao, Student> impleme
                 List<String> orgGroupIdList = imGroupService.listByIds(groupIdList).stream()
                         .filter(next -> ImGroupType.ORG.equals(next.getType())).map(ImGroup::getId)
                         .collect(Collectors.toList());
-                orgGroupIdList.forEach(groupId -> {
+                for (String groupId : orgGroupIdList) {
                     try {
                         imGroupService.quit(groupId, student.getUserId(), ClientEnum.STUDENT);
                     } catch (Exception e) {
                         log.error("学生注册,切换机构退群失败:{}", e.getMessage());
+                        throw new BizException("退群失败");
                     }
-                });
+                }
             }
 //             删除好友
             imUserFriendService.delTeacherFriendByTenantId(student.getTenantId(), student.getUserId(),
@@ -576,13 +577,14 @@ public class StudentServiceImpl extends ServiceImpl<StudentDao, Student> impleme
                 List<String> orgGroupIdList = imGroupService.listByIds(groupIdList).stream()
                         .filter(next -> ImGroupType.ORG.equals(next.getType())).map(ImGroup::getId)
                         .collect(Collectors.toList());
-                orgGroupIdList.forEach(groupId -> {
+                for (String groupId : orgGroupIdList) {
                     try {
                         imGroupService.quit(groupId, student.getUserId(), ClientEnum.STUDENT);
                     } catch (Exception e) {
                         log.error("学生注册,切换机构退群失败:{}", e.getMessage());
+                        throw new BizException("退群失败");
                     }
-                });
+                }
             }
 //             删除好友
             imUserFriendService.delTeacherFriendByTenantId(student.getTenantId(), student.getUserId(),