From ddca74ff7bc245341ac2f53ae982f44b5dfcf199 Mon Sep 17 00:00:00 2001 From: zhenghuang <236220500@qq.com> Date: Fri, 29 May 2020 15:53:47 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=9A=E6=97=B6=E5=99=A8,=E6=AC=A2=E8=BF=8E?= =?UTF-8?q?=E8=AF=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/PmnActivityInstanceServiceImpl.java | 49 +++++++++++++++++++ src/test/java/test/Test.java | 7 +++ 2 files changed, 56 insertions(+) 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)); + } + } } diff --git a/src/test/java/test/Test.java b/src/test/java/test/Test.java index 28d656b..3329584 100644 --- a/src/test/java/test/Test.java +++ b/src/test/java/test/Test.java @@ -1,5 +1,8 @@ package test; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.kiisoo.ic.activity.entity.*; +import com.kiisoo.ic.activity.service.*; import com.kiisoo.ic.activity.entity.PmnActivityStoreRelation; import com.kiisoo.ic.activity.service.IPmnActivityStoreRelationService; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; @@ -21,6 +24,7 @@ import com.kiisoo.ic.store.mapper.PoiStoreDOMapper; import com.kiisoo.ic.store.mapper.PoiStoreStaffDOMapper; import com.kiisoo.ic.store.service.StoreEmployeeService; import com.kiisoo.ic.wx.service.AddWXService; +import lombok.extern.slf4j.Slf4j; import com.kiisoo.ic.wx.service.QWMailListManageService; import lombok.extern.slf4j.Slf4j; import me.chanjar.weixin.common.error.WxErrorException; @@ -38,7 +42,10 @@ import java.util.List; import java.util.Set; import java.util.stream.Collectors; +import java.util.Date; import java.util.List; +import java.util.Set; +import java.util.stream.Collectors; import java.io.File; import java.io.IOException;