diff --git a/src/main/java/com/kiisoo/ic/activity/service/impl/PmnActivityInstanceServiceImpl.java b/src/main/java/com/kiisoo/ic/activity/service/impl/PmnActivityInstanceServiceImpl.java index f8a87be..9f62f73 100644 --- a/src/main/java/com/kiisoo/ic/activity/service/impl/PmnActivityInstanceServiceImpl.java +++ b/src/main/java/com/kiisoo/ic/activity/service/impl/PmnActivityInstanceServiceImpl.java @@ -393,4 +393,53 @@ public class PmnActivityInstanceServiceImpl extends ServiceImpllambdaQuery().in(PmnActivityPromotionCase::getInstanceId, endInstances).ne(PmnActivityPromotionCase::getStatus, 2)); } } + + @Transactional + @Override + public void scanValidAndSet() { + Date now = new Date(); + List starts = pmnActivityInstanceService.list(Wrappers.lambdaQuery().eq(PmnActivityInstance::getStatus, 1).le(PmnActivityInstance::getBeginTime, now).ge(PmnActivityInstance::getEndTime, now).select(PmnActivityInstance::getId)); + if(starts.size() > 0) { + starts.stream().forEach(item -> item.setStatus(2L)); + Set startInstances = starts.stream().map(PmnActivityInstance::getId).collect(Collectors.toSet()); + pmnActivityInstanceService.updateBatchById(starts); + PmnPromotionSrc startPromotionSrc = new PmnPromotionSrc(); + startPromotionSrc.setStatus(1L); + PmnActivityInstanceConfig startConfig = new PmnActivityInstanceConfig(); + startConfig.setStatus(1L); + PmnActivityStoreRelation startStoreRelation = new PmnActivityStoreRelation(); + startStoreRelation.setStatus(1); + PmnActivityPromotionCase startCase = new PmnActivityPromotionCase(); + startCase.setStatus(1L); + pmnPromotionSrcService.update(startPromotionSrc, Wrappers.lambdaQuery().in(PmnPromotionSrc::getInstanceId, startInstances).ne(PmnPromotionSrc::getStatus, 1)); + pmnActivityInstanceConfigService.update(startConfig, Wrappers.lambdaQuery().in(PmnActivityInstanceConfig::getInstanceId, startInstances).ne(PmnActivityInstanceConfig::getStatus, 1)); + pmnActivityStoreRelationService.update(startStoreRelation, Wrappers.lambdaQuery().in(PmnActivityStoreRelation::getInstanceId, startInstances).ne(PmnActivityStoreRelation::getStatus, 1)); + pmnActivityPromotionCaseService.update(startCase, Wrappers.lambdaQuery().in(PmnActivityPromotionCase::getInstanceId, startInstances).ne(PmnActivityPromotionCase::getStatus, 1)); + log.info("starts: {}", starts); + } + } + + @Transactional + @Override + public void scanInvalidAndSer() { + Date now = new Date(); + List ends = pmnActivityInstanceService.list(Wrappers.lambdaQuery().ne(PmnActivityInstance::getStatus, 3).ne(PmnActivityInstance::getStatus, 4).le(PmnActivityInstance::getEndTime, now).select(PmnActivityInstance::getId)); + if(ends.size() > 0) { + ends.stream().forEach(item -> item.setStatus(3L)); + Set endInstances = ends.stream().map(PmnActivityInstance::getId).collect(Collectors.toSet()); + pmnActivityInstanceService.updateBatchById(ends); + PmnPromotionSrc endPromotionSrc = new PmnPromotionSrc(); + endPromotionSrc.setStatus(2L); + PmnActivityInstanceConfig endConfig = new PmnActivityInstanceConfig(); + endConfig.setStatus(2L); + PmnActivityStoreRelation endStoreRelation = new PmnActivityStoreRelation(); + endStoreRelation.setStatus(2); + PmnActivityPromotionCase endCase = new PmnActivityPromotionCase(); + endCase.setStatus(2L); + pmnPromotionSrcService.update(endPromotionSrc, Wrappers.lambdaQuery().in(PmnPromotionSrc::getInstanceId, endInstances).ne(PmnPromotionSrc::getStatus, 2)); + pmnActivityInstanceConfigService.update(endConfig, Wrappers.lambdaQuery().in(PmnActivityInstanceConfig::getInstanceId, endInstances).ne(PmnActivityInstanceConfig::getStatus, 2)); + pmnActivityStoreRelationService.update(endStoreRelation, Wrappers.lambdaQuery().in(PmnActivityStoreRelation::getInstanceId, endInstances).ne(PmnActivityStoreRelation::getStatus, 2)); + pmnActivityPromotionCaseService.update(endCase, Wrappers.lambdaQuery().in(PmnActivityPromotionCase::getInstanceId, endInstances).ne(PmnActivityPromotionCase::getStatus, 2)); + } + } }