| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- //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 OnSaleTask 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.getPurchaseTime().isBefore(LocalDateTime.now()) && collection.getPurchaseTime().isBefore(LocalDateTime.now().minusSeconds(2))){
- // collectionRepo.updateSubscribeStatus(collection.getId(), SubscribeStatus.ON_SALE);
- // 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.findAllByPublishTimeLessThanEqualAndPurchaseTimeGreaterThanEqual(startTime, endTime);
- // if (Collections.isEmpty(collectionList)) {
- // time = Date.from(endTime.minusSeconds(5).atZone(ZoneId.systemDefault()).toInstant());
- // }else {
- // collections = collectionList.stream().sorted(Comparator.comparing(Collection::getPurchaseTime)).collect(Collectors.toList());
- // time = Date.from(collections.get(0).getPurchaseTime().minusSeconds(2).atZone(ZoneId.systemDefault()).toInstant());
- // }
- // }
- // return time;
- // });
- // }
- //}
|