package com.ruoyi.auction.task;
|
|
import com.ruoyi.auction.service.IAuctionGoodsService;
|
import com.ruoyi.auction.service.async.AuctionAsyncMethodService;
|
import com.ruoyi.common.core.enums.ListingStatusEnum;
|
import com.ruoyi.common.core.enums.StartStatusEnum;
|
import com.ruoyi.common.core.utils.StringUtils;
|
import com.ruoyi.system.api.domain.AuctionGoods;
|
import java.time.LocalDateTime;
|
import java.util.List;
|
import lombok.RequiredArgsConstructor;
|
import lombok.extern.slf4j.Slf4j;
|
import org.springframework.scheduling.annotation.Scheduled;
|
import org.springframework.stereotype.Component;
|
|
/**
|
* @author mitao
|
* @date 2024/5/24
|
*/
|
@Slf4j
|
@Component
|
@RequiredArgsConstructor
|
public class AuctionGoodsScheduler {
|
|
private final AuctionAsyncMethodService asyncMethodService;
|
private final IAuctionGoodsService auctionGoodsService;
|
|
@Scheduled(cron = "0 0 */1 * * ?")
|
private void timingTask() {
|
handleTaskStart();
|
}
|
|
private void handleTaskStart() {
|
log.info(">>>>>>>>>>>>>>>>>>>>定时任务普通拍品开始执行<<<<<<<<<<<<<<<<<<<<");
|
LocalDateTime checkTime = LocalDateTime.now().plusHours(1);
|
List<AuctionGoods> list = auctionGoodsService.lambdaQuery()
|
.eq(AuctionGoods::getListingStatus, ListingStatusEnum.ON_SHELVES)
|
.eq(AuctionGoods::getStartStatus, StartStatusEnum.NOT_STARTED)
|
.le(AuctionGoods::getStartTime, checkTime)
|
.list();
|
if (StringUtils.isNotEmpty(list)) {
|
asyncMethodService.auctionGoodsScheduleTask(list);
|
}
|
}
|
}
|