init
This commit is contained in:
@@ -0,0 +1,27 @@
|
||||
package com.mgm.mcrm.common.schedule;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.scheduling.annotation.Scheduled;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import com.mgm.mcrm.common.constants.SysCommon;
|
||||
import com.mgm.mcrm.common.services.SysServerStateService;
|
||||
|
||||
@Component
|
||||
public class AppSystemScheduleJob {
|
||||
|
||||
@Autowired
|
||||
private SysServerStateService serverStateService;
|
||||
|
||||
@Scheduled(fixedDelay = 60000)
|
||||
public void notifyServerState() {
|
||||
try {
|
||||
if(StringUtils.isNotBlank(SysCommon.serverIp)) {
|
||||
serverStateService.notifyCurrentState();
|
||||
}
|
||||
}catch(Exception err) {
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,109 @@
|
||||
package com.mgm.mcrm.common.schedule;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
import com.mgm.mcrm.appsetting.models.CfgSettings;
|
||||
import com.mgm.mcrm.booking.models.Bookings;
|
||||
import com.mgm.mcrm.booking.models.GamingData;
|
||||
import com.mgm.mcrm.booking.services.BookingService;
|
||||
import jakarta.annotation.Resource;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.scheduling.annotation.Scheduled;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import com.mgm.mcrm.booking.repositories.BookingDao;
|
||||
import com.mgm.mcrm.booking.repositories.GamingDataDao;
|
||||
import com.mgm.mcrm.common.jms.BookingControlMsgSender;
|
||||
//import com.mgm.mcrm.booking.services.BookingService;
|
||||
import com.mgm.mcrm.notification.services.EmailTemplateService;
|
||||
import com.mgm.mcrm.appsetting.services.SettingService;
|
||||
import com.mgm.mcrm.booking.services.WaitlistBookingService;
|
||||
import com.mgm.mcrm.common.utils.DateTimeUtil;
|
||||
|
||||
@Component
|
||||
public class BookingScheduleJob {
|
||||
@Autowired
|
||||
private BookingControlMsgSender ctrlMsgSender;
|
||||
@Resource
|
||||
private WaitlistBookingService waitlistBookingService;
|
||||
@Resource
|
||||
private SettingService settingService;
|
||||
@Resource
|
||||
private BookingService bookingService;
|
||||
|
||||
@Scheduled(fixedDelay = 300000)
|
||||
public void expiryWaitlistBooking() {
|
||||
try {
|
||||
CfgSettings cutoffStartTime = settingService.getSettingByKey("VIEW_YESTERDAY_TODOLIST_START");
|
||||
String cutoffStartTimeValue = cutoffStartTime.getKeyValues();
|
||||
CfgSettings cutoffEndTime = settingService.getSettingByKey("VIEW_YESTERDAY_TODOLIST_END");
|
||||
String cutoffEndTimeValue = cutoffEndTime.getKeyValues();
|
||||
Date curoffDate = DateTimeUtil.getTodoYesterdayDay(cutoffStartTimeValue, cutoffEndTimeValue);
|
||||
Date currentDate = DateTimeUtil.getCurrentDateTime("yyyy-MM-dd");
|
||||
|
||||
if(curoffDate.getTime() == currentDate.getTime()) {
|
||||
List<Bookings> bookList = waitlistBookingService.getExpiryWaitlistBooking();
|
||||
while(!bookList.isEmpty()) {
|
||||
Bookings book = bookList.getFirst();
|
||||
waitlistBookingService.expiryWaitlistBooking(book);
|
||||
bookList = waitlistBookingService.getExpiryWaitlistBooking();
|
||||
}
|
||||
|
||||
}
|
||||
}catch(Exception err) {
|
||||
err.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
@Scheduled(fixedDelay = 120000)
|
||||
public void syncGamingData() {
|
||||
try {
|
||||
List<Bookings> bookings = waitlistBookingService.getPendingWaitlistBooking();
|
||||
if(bookings.size()>0) {
|
||||
ArrayList bookIds = new ArrayList();
|
||||
for(Bookings b:bookings) {
|
||||
List <GamingData> getGaming = waitlistBookingService.findGamingDataByBookId(b.getId());
|
||||
if(getGaming==null||getGaming.size()==0) {
|
||||
bookIds.add(String.valueOf(b.getId()));
|
||||
}
|
||||
}
|
||||
if(bookIds.size()>0) {
|
||||
String bookId = String.join(";", bookIds);
|
||||
List<GamingData> gamingData = waitlistBookingService.syncWaitlistData(bookId);
|
||||
}
|
||||
}
|
||||
|
||||
}catch(Exception err) {
|
||||
err.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
@Scheduled(fixedDelay = 3000)
|
||||
public void finishFailedBooking() {
|
||||
try {
|
||||
List<Bookings> bookings = bookingService.getFailedBooking();
|
||||
while(!bookings.isEmpty()) {
|
||||
Bookings book = bookings.getFirst();
|
||||
int res = bookingService.updateProcessStatus(book.getId());
|
||||
if(res>0) {
|
||||
if(book.getRevisionOf()!=null) {
|
||||
ctrlMsgSender.sendMessage("EDIT_BOOKING", book);
|
||||
}else {
|
||||
if("DAYLIGHT".equals(book.getCategory())) {
|
||||
ctrlMsgSender.sendMessage("CREATE_DAYLIGHT_BOOKING", book);
|
||||
}else{
|
||||
ctrlMsgSender.sendMessage("CREATE_OPERA_BOOKING", book);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
bookings = bookingService.getFailedBooking();
|
||||
}
|
||||
}catch(Exception err) {
|
||||
err.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user