Răsfoiți Sursa

筛选优化

ouyang 3 ani în urmă
părinte
comite
c3b2aefef5

+ 2 - 2
src/main/java/com/izouma/nineth/service/scheduledTask/SubscribeTask.java

@@ -39,7 +39,7 @@ public class SubscribeTask {
             log.error("该时间段中并无藏品筛选");
             log.error("该时间段中并无藏品筛选");
             return;
             return;
         }
         }
-        collectionList.forEach(collection -> {
+        for (Collection collection : collectionList) {
             List<Subscribe> subscribeList = subscribeRepo.findAllByCollectionId(collection.getId());
             List<Subscribe> subscribeList = subscribeRepo.findAllByCollectionId(collection.getId());
             if (subscribeList.size() < collection.getStock()){
             if (subscribeList.size() < collection.getStock()){
                 for (Subscribe subscribe : subscribeList) {
                 for (Subscribe subscribe : subscribeList) {
@@ -54,6 +54,6 @@ public class SubscribeTask {
                     subscribeRepo.setPurchaseQualifications(id,true);
                     subscribeRepo.setPurchaseQualifications(id,true);
                 }
                 }
             }
             }
-        });
+        }
     }
     }
 }
 }

+ 0 - 79
src/main/java/com/izouma/nineth/service/scheduledTask/SubscribedTask.java

@@ -1,79 +0,0 @@
-package com.izouma.nineth.service.scheduledTask;
-
-import cn.hutool.core.date.DateUtil;
-import com.izouma.nineth.domain.Collection;
-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.Trigger;
-import org.springframework.scheduling.TriggerContext;
-import org.springframework.scheduling.annotation.EnableScheduling;
-import org.springframework.scheduling.annotation.SchedulingConfigurer;
-import org.springframework.scheduling.config.ScheduledTaskRegistrar;
-import org.springframework.scheduling.support.CronTrigger;
-import org.springframework.scheduling.support.PeriodicTrigger;
-
-import java.time.LocalDateTime;
-import java.time.ZoneId;
-import java.time.ZoneOffset;
-import java.util.ArrayList;
-import java.util.Comparator;
-import java.util.Date;
-import java.util.List;
-import java.util.concurrent.TimeUnit;
-import java.util.stream.Collectors;
-
-import static java.util.concurrent.TimeUnit.MILLISECONDS;
-
-@Configuration
-@EnableScheduling
-public class SubscribedTask implements SchedulingConfigurer {
-
-    @Autowired
-    private CollectionRepo collectionRepo;
-
-
-    private List<Collection> collections = new ArrayList();
-
-    @Override
-    public void configureTasks(ScheduledTaskRegistrar taskRegistrar) {
-        taskRegistrar.addTriggerTask(new Runnable() {
-            @Override
-            public void run() {
-                LocalDateTime startTime = LocalDateTime.now().minusMinutes(2);
-                LocalDateTime endTime = startTime.plusMinutes(2);
-                List<Collection> collectionList = collectionRepo.selectStartTimeAfter(startTime, endTime);
-                collectionList.forEach(collection -> {
-                    if (collection.getStartTime().isBefore(LocalDateTime.now()) && collection.getEndTime().isAfter(LocalDateTime.now())){
-                        collectionRepo.setState(collection.getId(),"OPENSUBSCRIBE");
-                    }
-                    if (collection.getEndTime().isBefore(LocalDateTime.now()) && collection.getPublishTime().isAfter(LocalDateTime.now())){
-                        collectionRepo.setState(collection.getId(),"CLOSESUBSCRIBE");
-                    }
-                    if (collection.getPublishTime().isBefore(LocalDateTime.now()) && collection.getPurchaseTime().isAfter(LocalDateTime.now())){
-                        collectionRepo.setState(collection.getId(),"PUBLISH");
-                    }
-                    if (collection.getPurchaseTime().isBefore(LocalDateTime.now())){
-                        collectionRepo.setState(collection.getId(),"PURCHASE");
-                    }
-                    if (Collections.isEmpty(collections)){
-                        collections.remove(0);
-                    }
-                });
-            }
-        }, triggerContext -> {
-            LocalDateTime startTime = LocalDateTime.now().minusMinutes(2);
-            LocalDateTime endTime = startTime.plusMinutes(2);
-            List<Collection> collectionList = collectionRepo.selectStartTimeAfter(startTime, endTime);
-            if (Collections.isEmpty(collectionList)) {
-//                    return new CronTrigger("0 0/10 * * * ?").nextExecutionTime(triggerContext);
-                return Date.from(endTime.atZone(ZoneId.systemDefault()).toInstant());
-            }
-            if (Collections.isEmpty(collections)){
-                collections = collectionList.stream().sorted(Comparator.comparing(Collection::getStartTime)).collect(Collectors.toList());
-            }
-            return Date.from(collections.get(0).getStartTime().atZone(ZoneId.systemDefault()).toInstant());
-        });
-    }
-}