|
@@ -42,6 +42,7 @@ import com.ym.mec.im.message.*;
|
|
|
import com.ym.mec.util.collection.MapUtil;
|
|
|
import com.ym.mec.util.date.DateUtil;
|
|
|
import com.ym.pojo.*;
|
|
|
+import com.ym.service.RoomMemberService;
|
|
|
import com.ym.service.RoomService;
|
|
|
import com.ym.utils.CheckUtils;
|
|
|
import com.ym.utils.CodeUtil;
|
|
@@ -60,8 +61,6 @@ import org.springframework.transaction.annotation.Propagation;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
import java.util.*;
|
|
|
-import java.util.concurrent.CompletableFuture;
|
|
|
-import java.util.concurrent.Executors;
|
|
|
import java.util.concurrent.TimeUnit;
|
|
|
import java.util.function.Function;
|
|
|
import java.util.stream.Collectors;
|
|
@@ -84,6 +83,8 @@ public class RoomServiceImpl implements RoomService {
|
|
|
@Autowired
|
|
|
private RoomMemberDao roomMemberDao;
|
|
|
@Autowired
|
|
|
+ private RoomMemberService roomMemberService;
|
|
|
+ @Autowired
|
|
|
private CourseScheduleStudentPaymentDao courseScheduleStudentPaymentDao;
|
|
|
@Autowired
|
|
|
private WhiteBoardHelper whiteBoardHelper;
|
|
@@ -783,9 +784,6 @@ public class RoomServiceImpl implements RoomService {
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
- // 异步删除用户,让当前事务失效
|
|
|
- asyncDeleteRoomMember(roomId, userId);
|
|
|
-
|
|
|
String username;
|
|
|
SysUser sysUser = sysUserFeignService.queryUserById(parseInt);
|
|
|
if (roleEnum == RoleTeacher) {
|
|
@@ -810,6 +808,9 @@ public class RoomServiceImpl implements RoomService {
|
|
|
updateDisplay(roomId, userId, "", 0);
|
|
|
}
|
|
|
|
|
|
+ // 删除房间用户,事务单独提效
|
|
|
+ roomMemberService.deleteRoomMember(roomId, userId);
|
|
|
+
|
|
|
int roomMembers = roomMemberDao.countByRid(roomId);
|
|
|
if (roomMembers <= 0) {
|
|
|
// 删除群组用户信息
|
|
@@ -868,22 +869,6 @@ public class RoomServiceImpl implements RoomService {
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- * 异步删除房间用户
|
|
|
- * @param roomId 房间编号
|
|
|
- * @param userId 用户编号
|
|
|
- */
|
|
|
- private void asyncDeleteRoomMember(String roomId, String userId) {
|
|
|
- Executors.newCachedThreadPool().execute(() -> {
|
|
|
- try {
|
|
|
- // 删除房间用户信息
|
|
|
- roomMemberDao.deleteUserByRidAndUid(roomId, userId);
|
|
|
- } catch (Exception e) {
|
|
|
- log.info("leaveRoomSuccess: roomId={}, userId={}", roomId, userId, e);
|
|
|
- }
|
|
|
- });
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
* 事件回调通知
|
|
|
*
|
|
|
* @param roomId 房间编号
|