This commit is contained in:
Mauve
2026-09-08 15:12:29 +08:00
commit 078ba3c713
672 changed files with 56677 additions and 0 deletions
@@ -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();
}
}
}