| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- //package com.izouma.nineth.service.scheduledTask;
- //
- //import cn.hutool.core.util.ObjectUtil;
- //import com.izouma.nineth.domain.Collection;
- //import com.izouma.nineth.enums.SubscribeStatus;
- //import com.izouma.nineth.repo.CollectionRepo;
- //import io.jsonwebtoken.lang.Collections;
- //import org.springframework.beans.factory.annotation.Autowired;
- //import org.springframework.context.annotation.Configuration;
- //import org.springframework.scheduling.annotation.EnableScheduling;
- //import org.springframework.scheduling.annotation.SchedulingConfigurer;
- //import org.springframework.scheduling.config.ScheduledTaskRegistrar;
- //
- //import java.time.LocalDateTime;
- //import java.time.ZoneId;
- //import java.util.ArrayList;
- //import java.util.Comparator;
- //import java.util.Date;
- //import java.util.List;
- //import java.util.stream.Collectors;
- //
- //
- //
- //
- //@Configuration
- //@EnableScheduling
- //public class AnnouncingTask extends ScheduleConfig {
- //
- // @Autowired
- // private CollectionRepo collectionRepo;
- //
- //
- // private List<Collection> collections = new ArrayList();
- // private Date time;
- // @Override
- // public void configureTasks(ScheduledTaskRegistrar taskRegistrar) {
- // taskRegistrar.addTriggerTask(() -> {
- // b:
- // if (Collections.isEmpty(collections)){
- // return;
- // }else {
- // for (Collection collection : collections) {
- // if (collection.getPublishTime().isBefore(LocalDateTime.now()) && collection.getPublishTime().isBefore(LocalDateTime.now().minusSeconds(2))){
- // collectionRepo.updateSubscribeStatus(collection.getId(), SubscribeStatus.ANNOUNCING);
- // time = null;
- // collections.remove(0);
- // break b;
- // }
- // }
- // }
- // }, triggerContext -> {
- // if (ObjectUtil.isEmpty(time)){
- // LocalDateTime startTime = LocalDateTime.now();
- // LocalDateTime endTime = startTime.plusMinutes(4);
- // List<Collection> collectionList = collectionRepo.findAllByEndTimeLessThanEqualAndPublishTimeGreaterThanEqual(startTime, endTime);
- // if (Collections.isEmpty(collectionList)) {
- // time = Date.from(endTime.minusSeconds(5).atZone(ZoneId.systemDefault()).toInstant());
- // }else {
- // collections = collectionList.stream().sorted(Comparator.comparing(Collection::getPublishTime)).collect(Collectors.toList());
- // time = Date.from(collections.get(0).getPublishTime().minusSeconds(2).atZone(ZoneId.systemDefault()).toInstant());
- // }
- // }
- // return time;
- // });
- // }
- //}
|