|
@@ -1,5 +1,7 @@
|
|
|
package com.nb.im.listener;
|
|
package com.nb.im.listener;
|
|
|
|
|
|
|
|
|
|
+import cn.hutool.core.date.DateUnit;
|
|
|
|
|
+import cn.hutool.core.date.DateUtil;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.nb.app.msg.bean.MsgBean;
|
|
import com.nb.app.msg.bean.MsgBean;
|
|
|
import com.nb.app.msg.enums.MsgEnum;
|
|
import com.nb.app.msg.enums.MsgEnum;
|
|
@@ -20,6 +22,8 @@ import org.springframework.context.event.EventListener;
|
|
|
import org.springframework.scheduling.annotation.Async;
|
|
import org.springframework.scheduling.annotation.Async;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
|
|
|
|
+import java.util.Date;
|
|
|
|
|
+
|
|
|
/**
|
|
/**
|
|
|
* @author lifang
|
|
* @author lifang
|
|
|
* @version 1.0.0
|
|
* @version 1.0.0
|
|
@@ -54,14 +58,18 @@ public class ConsultMsgListener {
|
|
|
.eq(ImRoomEntity::getPatientId,room.getPatientId())
|
|
.eq(ImRoomEntity::getPatientId,room.getPatientId())
|
|
|
.eq(ImRoomEntity::getAssistId, room.getAssistId())
|
|
.eq(ImRoomEntity::getAssistId, room.getAssistId())
|
|
|
.eq(ImRoomEntity::getDoctorId, room.getDoctorId())
|
|
.eq(ImRoomEntity::getDoctorId, room.getDoctorId())
|
|
|
- .eq(ImRoomEntity::getStatus, ImStatusEnum.SUCCESS)
|
|
|
|
|
|
|
+ .in(ImRoomEntity::getStatus, ImStatusEnum.SUCCESS,ImStatusEnum.WAITING)
|
|
|
|
|
+ .orderByDesc(ImRoomEntity::getCreateTime)
|
|
|
.last("limit 1"));
|
|
.last("limit 1"));
|
|
|
if(existRoom==null){
|
|
if(existRoom==null){
|
|
|
if (chatRoomService.save(room)) {
|
|
if (chatRoomService.save(room)) {
|
|
|
createRoomUser(payload, room);
|
|
createRoomUser(payload, room);
|
|
|
}
|
|
}
|
|
|
}else {
|
|
}else {
|
|
|
- room=existRoom;
|
|
|
|
|
|
|
+ Date createTime = existRoom.getCreateTime();
|
|
|
|
|
+ if(DateUtil.between(new Date(),createTime, DateUnit.HOUR)<24){
|
|
|
|
|
+ room=existRoom;
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
ImMsgEntity roomMsg = ImMsgEntity.createRoomMsg(payload, room);
|
|
ImMsgEntity roomMsg = ImMsgEntity.createRoomMsg(payload, room);
|