郑皇 5 years ago
parent 743172b71d
commit 9df9cb973d

@ -50,11 +50,12 @@ public class WelcomeCreatedListener {
List<PmnActivityStoreRelation> relations = pmnActivityStoreRelationService.list(Wrappers.<PmnActivityStoreRelation>lambdaQuery().eq(PmnActivityStoreRelation::getInstanceId, event.instance().getId()).in(PmnActivityStoreRelation::getStoreId, storeIds).select(PmnActivityStoreRelation::getStoreId)); List<PmnActivityStoreRelation> relations = pmnActivityStoreRelationService.list(Wrappers.<PmnActivityStoreRelation>lambdaQuery().eq(PmnActivityStoreRelation::getInstanceId, event.instance().getId()).in(PmnActivityStoreRelation::getStoreId, storeIds).select(PmnActivityStoreRelation::getStoreId));
Set<Long> hasStores = relations.stream().map(PmnActivityStoreRelation::getStoreId).collect(Collectors.toSet()); Set<Long> hasStores = relations.stream().map(PmnActivityStoreRelation::getStoreId).collect(Collectors.toSet());
if (hasStores.size() > 0) { if (hasStores.size() > 0) {
saveStores = saveStores.stream().filter(store -> hasStores.contains(store.getStoreId())).collect(Collectors.toList()); saveStores = saveStores.stream().filter(store -> !hasStores.contains(store.getStoreId())).collect(Collectors.toList());
} }
saveStores = saveStores.stream().collect( saveStores = saveStores.stream().collect(
Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(o -> o.getStoreId()))), Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(o -> o.getStoreId()))),
ArrayList::new)); ArrayList::new));
pmnActivityStoreRelationService.remove(Wrappers.<PmnActivityStoreRelation>lambdaQuery().eq(PmnActivityStoreRelation::getInstanceId, event.instance().getId()).notIn(PmnActivityStoreRelation::getStoreId, hasStores));
pmnActivityStoreRelationService.saveBatch(saveStores); pmnActivityStoreRelationService.saveBatch(saveStores);
} }
} }

@ -349,7 +349,7 @@ public class PmnActivityInstanceServiceImpl extends ServiceImpl<PmnActivityInsta
@Override @Override
public void scanValidAndSet() { public void scanValidAndSet() {
Date now = new Date(); Date now = new Date();
List<PmnActivityInstance> starts = pmnActivityInstanceService.list(Wrappers.<PmnActivityInstance>lambdaQuery().eq(PmnActivityInstance::getStatus, 1).le(PmnActivityInstance::getBeginTime, now).ge(PmnActivityInstance::getEndTime, now).select(PmnActivityInstance::getId)); List<PmnActivityInstance> starts = pmnActivityInstanceService.list(Wrappers.<PmnActivityInstance>lambdaQuery().eq(PmnActivityInstance::getStatus, 1).le(PmnActivityInstance::getBeginTime, now).ge(PmnActivityInstance::getEndTime, now).eq(PmnActivityInstance::getCategoryCode, "promotion").select(PmnActivityInstance::getId));
if(starts.size() > 0) { if(starts.size() > 0) {
starts.stream().forEach(item -> item.setStatus(2L)); starts.stream().forEach(item -> item.setStatus(2L));
Set<Long> startInstances = starts.stream().map(PmnActivityInstance::getId).collect(Collectors.toSet()); Set<Long> startInstances = starts.stream().map(PmnActivityInstance::getId).collect(Collectors.toSet());
@ -374,7 +374,7 @@ public class PmnActivityInstanceServiceImpl extends ServiceImpl<PmnActivityInsta
@Override @Override
public void scanInvalidAndSer() { public void scanInvalidAndSer() {
Date now = new Date(); Date now = new Date();
List<PmnActivityInstance> ends = pmnActivityInstanceService.list(Wrappers.<PmnActivityInstance>lambdaQuery().ne(PmnActivityInstance::getStatus, 3).ne(PmnActivityInstance::getStatus, 4).le(PmnActivityInstance::getEndTime, now).select(PmnActivityInstance::getId)); List<PmnActivityInstance> ends = pmnActivityInstanceService.list(Wrappers.<PmnActivityInstance>lambdaQuery().ne(PmnActivityInstance::getStatus, 3).ne(PmnActivityInstance::getStatus, 4).le(PmnActivityInstance::getEndTime, now).eq(PmnActivityInstance::getCategoryCode, "promotion").select(PmnActivityInstance::getId));
if(ends.size() > 0) { if(ends.size() > 0) {
ends.stream().forEach(item -> item.setStatus(3L)); ends.stream().forEach(item -> item.setStatus(3L));
Set<Long> endInstances = ends.stream().map(PmnActivityInstance::getId).collect(Collectors.toSet()); Set<Long> endInstances = ends.stream().map(PmnActivityInstance::getId).collect(Collectors.toSet());

Loading…
Cancel
Save