|
@@ -10,6 +10,7 @@ import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
|
|
import com.nb.im.entity.ImRoomEntity;
|
|
import com.nb.im.entity.ImRoomEntity;
|
|
|
import com.nb.im.enums.ImStatusEnum;
|
|
import com.nb.im.enums.ImStatusEnum;
|
|
|
import com.nb.im.event.ImFinishedEvent;
|
|
import com.nb.im.event.ImFinishedEvent;
|
|
|
|
|
+import com.nb.im.room.ImRoomOperatorManager;
|
|
|
import com.nb.im.service.LocalImRoomService;
|
|
import com.nb.im.service.LocalImRoomService;
|
|
|
import lombok.AllArgsConstructor;
|
|
import lombok.AllArgsConstructor;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
@@ -34,6 +35,7 @@ import java.util.stream.Collectors;
|
|
|
@Slf4j
|
|
@Slf4j
|
|
|
public class ImRoomJob {
|
|
public class ImRoomJob {
|
|
|
private final LocalImRoomService imRoomService;
|
|
private final LocalImRoomService imRoomService;
|
|
|
|
|
+ private final ImRoomOperatorManager operatorManager;
|
|
|
/**
|
|
/**
|
|
|
* 描述:每天凌晨2点计算自动结束聊天室时间
|
|
* 描述:每天凌晨2点计算自动结束聊天室时间
|
|
|
* @author lifang
|
|
* @author lifang
|
|
@@ -60,9 +62,13 @@ public class ImRoomJob {
|
|
|
.set(ImRoomEntity::getStatus, ImStatusEnum.AUTO_LIST)
|
|
.set(ImRoomEntity::getStatus, ImStatusEnum.AUTO_LIST)
|
|
|
.set(ImRoomEntity::getUpdateTime, now)
|
|
.set(ImRoomEntity::getUpdateTime, now)
|
|
|
);
|
|
);
|
|
|
|
|
+
|
|
|
if(result){
|
|
if(result){
|
|
|
rooms
|
|
rooms
|
|
|
.stream()
|
|
.stream()
|
|
|
|
|
+ .peek(room->{
|
|
|
|
|
+ operatorManager.getRoomOperator(room.getId()).close();
|
|
|
|
|
+ })
|
|
|
.map(room->
|
|
.map(room->
|
|
|
new ImFinishedEvent(this,room.getAssistId(),room.getDoctorId(),room.getPatientId())
|
|
new ImFinishedEvent(this,room.getAssistId(),room.getDoctorId(),room.getPatientId())
|
|
|
).forEach(SpringUtil::publishEvent);
|
|
).forEach(SpringUtil::publishEvent);
|