| | |
| | | @Component |
| | | public class Scheduler { |
| | | |
| | | /*private static final Logger log = LoggerFactory.getLogger(Scheduler.class); |
| | | private static final Logger log = LoggerFactory.getLogger(Scheduler.class); |
| | | |
| | | @Autowired |
| | | private PaymentService paymentService; |
| | |
| | | this.userService.sendTotalStatisticsEmail(); |
| | | } |
| | | |
| | | @Scheduled(cron = "0 50 23 * * *") // 매 시간 (초, 분, 시, 일, 월, 년) |
| | | /*@Scheduled(cron = "0 50 23 * * *") // 매 시간 (초, 분, 시, 일, 월, 년) |
| | | public void updateExchangeRatePayment() { |
| | | // 변경된 환율 정보를 결제 금액에 업데이트한다. |
| | | this.paymentService.updateExchangeRatePayment(); |
| | | } |
| | | }*/ |
| | | |
| | | // 자동 결재 - 어제가 만료일인 업무 공간을 찾아서 결제한다. 새벽 1시에 실행 |
| | | @Scheduled(cron = "0 0 01 * * *") // 매 시간 (초, 분, 시, 일, 월, 년) |
| | | /*@Scheduled(cron = "0 0 01 * * *") // 매 시간 (초, 분, 시, 일, 월, 년) |
| | | public void subscribePayment() { |
| | | List<Workspace> workspaces = this.workspaceService.findSubscribeImmediateExpireDate(); |
| | | |
| | | for (Workspace workspace : workspaces) { |
| | | this.paymentService.subscribeImmediate(workspace); |
| | | } |
| | | } |
| | | }*/ |
| | | |
| | | // 이슈와 연결되지 않은 첨부파일 삭제 - 이슈 생성, 수정에서 에디트 창에 첨부했다가 저장하지 않은 파일들... 새벽 1시 30분에 실행 |
| | | @Scheduled(cron = "0 30 01 * * *") |
| | |
| | | } |
| | | |
| | | // 업무 공간 자동 초기화 - 어제가 만료일인 업무 공간을 찾아서 업무 공간 사용자, 사용 용량을 초기화한다. 새벽 2시에 실행 |
| | | @Scheduled(cron = "0 0 02 * * *") |
| | | /*@Scheduled(cron = "0 0 02 * * *") |
| | | public void expireWorkspace() { |
| | | // 사용 기간이 만료된 업무 공간을 찾아 용량, 최대 사용자, 서비스 유형을 변경한다. |
| | | this.workspaceService.expireWorkspace(); |
| | | // 업무 공간 만료 예정 안내 |
| | | this.workspaceService.expireAlarmWorkspace(); |
| | | } |
| | | }*/ |
| | | |
| | | // 이메일 예약 발송 - 사용자가 설정한 알림 시간에 시스템에서 일어난 이벤트를 이메일로 발송한다. - 매시간 30분에 실행 |
| | | @Scheduled(cron = "0 0/30 * * * *") |
| | |
| | | this.systemEmailService.reservationSendEmail(); |
| | | } |
| | | |
| | | // 이메일 실시간 발송 - 10초마다 실행 |
| | | @Scheduled(fixedDelay = 10000) |
| | | public void realTimeEmailSystem() { |
| | | // 실시간 이메일 발송 |
| | | this.systemEmailService.realTimeSendEmail(); |
| | | } |
| | | |
| | | // 15초 마다 접속자 확인 |
| | | @Scheduled(fixedDelay = 15000) |
| | | /*@Scheduled(fixedDelay = 15000) |
| | | public void pingUsers() { |
| | | // 접속 사용자를 확인한다. |
| | | this.webSocketService.checkActiveUser(); |