|
|
@@ -5,7 +5,9 @@ import cn.hutool.core.date.DateField;
|
|
|
import cn.hutool.core.date.DateTime;
|
|
|
import cn.hutool.core.date.DateUtil;
|
|
|
import cn.hutool.extra.spring.SpringUtil;
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
|
|
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
|
|
import com.nb.im.entity.ImRoomEntity;
|
|
|
import com.nb.im.enums.ImStatusEnum;
|
|
|
@@ -79,4 +81,26 @@ public class ImRoomJob {
|
|
|
log.error("24小时自动结束聊天室失败,",e);
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 描述:临床结束后两小时结束聊天室
|
|
|
+ * @author lifang
|
|
|
+ * @date 2024/10/14 10:38
|
|
|
+ * @param
|
|
|
+ * @return void
|
|
|
+ */
|
|
|
+ @Scheduled(cron = "0 0/10 * * * ?")
|
|
|
+ public void autoFinishByClinicFinished(){
|
|
|
+ try {
|
|
|
+ log.info("执行临床结束后两小时结束聊天室");
|
|
|
+ DateTime offset = DateUtil.offset( new Date(), DateField.HOUR, -2);
|
|
|
+ imRoomService.update(new LambdaUpdateWrapper<ImRoomEntity>()
|
|
|
+ .eq(ImRoomEntity::getMonitorFinished,Boolean.TRUE)
|
|
|
+ .le(ImRoomEntity::getMonitorFinishedTime,offset)
|
|
|
+ .in(ImRoomEntity::getStatus,ImStatusEnum.WAITING,ImStatusEnum.SUCCESS)
|
|
|
+ .set(ImRoomEntity::getStatus,ImStatusEnum.CLINIC_FINISHED));
|
|
|
+ }catch (Exception e){
|
|
|
+ log.error("临床结束后两小时结束聊天室失败,",e);
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|