|
|
@@ -1,22 +1,17 @@
|
|
|
package com.izouma.nineth.service.scheduledTask;
|
|
|
|
|
|
-import cn.hutool.core.collection.ListUtil;
|
|
|
import cn.hutool.core.util.RandomUtil;
|
|
|
-import com.alipay.api.domain.Person;
|
|
|
import com.izouma.nineth.domain.Collection;
|
|
|
import com.izouma.nineth.domain.Subscribe;
|
|
|
import com.izouma.nineth.enums.SubscribeStatus;
|
|
|
-import com.izouma.nineth.exception.BusinessException;
|
|
|
import com.izouma.nineth.repo.CollectionRepo;
|
|
|
import com.izouma.nineth.repo.SubscribeRepo;
|
|
|
import io.jsonwebtoken.lang.Collections;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
-import org.springframework.context.annotation.Configuration;
|
|
|
import org.springframework.scheduling.annotation.Scheduled;
|
|
|
import org.springframework.stereotype.Component;
|
|
|
|
|
|
-import java.time.LocalDate;
|
|
|
import java.time.LocalDateTime;
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.List;
|
|
|
@@ -33,34 +28,26 @@ public class SubscribeTask {
|
|
|
|
|
|
@Scheduled(cron = "0/5 * * * * ?")
|
|
|
public void subscriberTask() {
|
|
|
- //首先获取当前时间
|
|
|
LocalDateTime startTime = LocalDateTime.now();
|
|
|
- //获取5秒钟以后的时间
|
|
|
LocalDateTime endTime = startTime.plusSeconds(6);
|
|
|
- //根据开始时间和结束时间去数据库把这两个时间段中 符合的预约发布时间中获取藏品
|
|
|
List<Collection> ongoingList = collectionRepo
|
|
|
.findAllByStartTimeGreaterThanAndStartTimeLessThanEqual(startTime, endTime);
|
|
|
- //预约发布时间判断
|
|
|
if (!Collections.isEmpty(ongoingList)) {
|
|
|
for (Collection collection : ongoingList) {
|
|
|
if (collection.getStartTime().isAfter(startTime)) {
|
|
|
- int i = collectionRepo.updateSubscribeStatus(collection.getId(), SubscribeStatus.ONGOING);
|
|
|
- log.info("发布预约时间状态更改的行数为: " + i);
|
|
|
+ collectionRepo.updateSubscribeStatus(collection.getId(), SubscribeStatus.ONGOING);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- //预约结束时间判断
|
|
|
List<Collection> subscribeEndingList = collectionRepo
|
|
|
.findAllByEndTimeGreaterThanAndEndTimeLessThanEqual(startTime, endTime);
|
|
|
if (!Collections.isEmpty(subscribeEndingList)) {
|
|
|
for (Collection collection : subscribeEndingList) {
|
|
|
if (collection.getEndTime().isAfter(startTime)) {
|
|
|
- int i = collectionRepo.updateSubscribeStatus(collection.getId(), SubscribeStatus.SUBSCRIBE_ENDING);
|
|
|
- log.info("预约结束时间状态更改的行数为: " + i);
|
|
|
+ collectionRepo.updateSubscribeStatus(collection.getId(), SubscribeStatus.SUBSCRIBE_ENDING);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- //进行购买资格筛选
|
|
|
List<Collection> collectionList = collectionRepo
|
|
|
.findAllByEndTimeLessThanEqualAndPublishTimeGreaterThan(startTime, endTime);
|
|
|
if (!Collections.isEmpty(collectionList)) {
|
|
|
@@ -82,25 +69,21 @@ public class SubscribeTask {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- //购买资格公布时间
|
|
|
List<Collection> announcingList = collectionRepo
|
|
|
.findAllByPublishTimeGreaterThanAndPublishTimeLessThanEqual(startTime, endTime);
|
|
|
if (!Collections.isEmpty(announcingList)) {
|
|
|
for (Collection collection : announcingList) {
|
|
|
if (collection.getPublishTime().isAfter(startTime)) {
|
|
|
- int i = collectionRepo.updateSubscribeStatus(collection.getId(), SubscribeStatus.ANNOUNCING);
|
|
|
- log.info("购买资格公布时间状态更改的行数为: " + i);
|
|
|
+ collectionRepo.updateSubscribeStatus(collection.getId(), SubscribeStatus.ANNOUNCING);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- //购买时间
|
|
|
List<Collection> onSaleList = collectionRepo
|
|
|
.findAllByPurchaseTimeGreaterThanAndPurchaseTimeLessThanEqual(startTime, endTime);
|
|
|
if (!Collections.isEmpty(onSaleList)) {
|
|
|
for (Collection collection : onSaleList) {
|
|
|
if (collection.getPurchaseTime().isAfter(startTime)) {
|
|
|
- int i = collectionRepo.updateSubscribeStatus(collection.getId(), SubscribeStatus.ON_SALE);
|
|
|
- log.info("购买时间状态更改的行数为: " + i);
|
|
|
+ collectionRepo.updateSubscribeStatus(collection.getId(), SubscribeStatus.ON_SALE);
|
|
|
}
|
|
|
}
|
|
|
}
|