1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- package com.fdkankan.tk.task;
- import com.fdkankan.redis.util.RedisUtil;
- import com.fdkankan.tk.entity.Room;
- import com.fdkankan.tk.entity.RoomUser;
- import com.fdkankan.tk.service.IRoomService;
- import com.fdkankan.tk.service.IRoomUserService;
- import com.fdkankan.tk.util.DateUtil;
- import com.sun.deploy.panel.ITreeNode;
- import lombok.extern.slf4j.Slf4j;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.scheduling.annotation.Scheduled;
- import org.springframework.stereotype.Service;
- import java.io.File;
- import java.util.ArrayList;
- import java.util.Date;
- import java.util.List;
- @Service
- @Slf4j
- public class TaskService {
- @Autowired
- RedisUtil redisUtil;
- @Autowired
- IRoomService roomService;
- @Autowired
- IRoomUserService roomUserService;
- /**
- * 每分钟检测开启中的房间是否到期关闭房间
- */
- @Scheduled(cron = "0 */1 * * * ?}")
- public void roomStop(){
- try {
- List<Room> roomList = roomService.getRunningRoom();
- List<String> stopRoomIds = new ArrayList<>();
- for (Room room : roomList) {
- String useEndTime = room.getUseEndTime();
- if(useEndTime == null){
- continue;
- }
- int comp = DateUtil.compDateStr(useEndTime, new Date());
- if(comp < 0){ //房间已过期关闭
- roomService.stopRoom(room);
- stopRoomIds.add(room.getRoomId());
- }
- }
- List<RoomUser> roomUserList = roomUserService.getRunningRoom();
- for (RoomUser roomUser : roomUserList) {
- if(stopRoomIds.contains(roomUser.getRoomId())){
- continue;
- }
- String useEndTime2 = roomUser.getUseEndTime();
- if(useEndTime2 == null){
- continue;
- }
- int comp2 = DateUtil.compDateStr(useEndTime2, new Date());
- if(comp2 < 0){ //房间已过期关闭
- roomUserService.stopRoom(roomUser);
- }
- }
- }catch (Exception e){
- }
- }
- }
|